00001
00002
00003
00004
00005
00006
00007 #include "QToolBar.h"
00008
00009
00010 #include <iostream>
00011 using namespace std;
00012
00013
00014
00015
00016
00017 void QToolBar::bringToFront( QWidget* widget )
00018 {
00019
00020 }
00021
00022
00023 void QToolBar::draw( QEvent* e )
00024 {
00025
00026 LookAndFeel->getBackGroundColor()->setAsCurrent();
00027 glBegin(GL_POLYGON);
00028 LookAndFeel->drawRect(0,0,Width,Height);
00029 glEnd();
00030
00031 LookAndFeel->drawBevel(0,0,Width,Height,bsUp);
00032
00033
00034 LookAndFeel->drawBevel(2,2,2,Height-4,bsUp);
00035 LookAndFeel->drawBevel(5,2,2,Height-4,bsUp);
00036
00037 }
00038
00039
00040 void QToolBar::layout()
00041 {
00042 if (Children.size() > 0)
00043 {
00044 int WidgetWidth = ((Width - MoverWidth) / Children.size()) - 2;
00045 int border = 2;
00046 int WidgetHeight = Height - (border*2);
00047 int i = 0;
00048
00049 list<QWidget*>::reverse_iterator iter;
00050
00051
00052 for (iter=Children.rbegin(); iter != Children.rend(); iter++)
00053 {
00054 (*iter)->setTop(border);
00055 (*iter)->setHeight(WidgetHeight);
00056 (*iter)->setWidth(WidgetWidth);
00057 (*iter)->setLeft(MoverWidth+((WidgetWidth+2)*i));
00058 i++;
00059 }
00060 }
00061 }
00062
00063
00064 bool QToolBar::canDrag( QEvent* e )
00065 {
00066 return e->getX()-Left < MoverWidth;
00067 }
00068
00069
00070 bool QToolBar::processEvent( QEvent* e )
00071 {
00072 return false;
00073 }
00074
00075
00076 bool QToolBar::processMouseOwner( QEvent* e )
00077 {
00078 return false;
00079 }
00080
00081
00082 void QToolBar::childrenChanged()
00083 {
00084 layout();
00085 }
00086
00087
00088 bool QToolBar::canFocus( QEvent* e )
00089 {
00090 return false;
00091 }
00092
00093
00094 void QToolBar::Init()
00095 {
00096 Width = 100;
00097 Height = 25;
00098 }
00099
00100
00101 void QToolBar::CleanUp()
00102 {
00103
00104 }
00105
00106
00107 int QToolBar::getMoverWidth()
00108 {
00109 return MoverWidth;
00110 }
00111
00112
00113 void QToolBar::setMoverWidth( int newValue )
00114 {
00115 MoverWidth = newValue;
00116 }
00117
00118
00119
00120
00121 void QToolBar::print()
00122 {
00123 cout << "Class : QToolBar" << endl;
00124 cout << "MoverWidth = " << MoverWidth << endl;
00125 }
00126
00127
00128
00129
00130 QToolBar::QToolBar( QWidget* aOwner ):QWidget(aOwner)
00131 {
00132 MoverWidth = 10;
00133 Init();
00134 layout();
00135 }
00136
00137
00138
00139
00140 QToolBar::~QToolBar()
00141 {
00142 CleanUp();
00143 }
00144
00145
00146
00147