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