00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "Toolbar.h"
00023 #include <qtooltip.h>
00024
00025
00026 Toolbar::Toolbar (QWidget *w, Bias b) : QFrame (w)
00027 {
00028
00029
00030
00031 bias = b;
00032 list.setAutoDelete(TRUE);
00033
00034
00035
00036
00037
00038
00039
00040 QHBoxLayout *hbox = 0;
00041 QVBoxLayout *vbox = 0;
00042
00043 if (bias == Vertical)
00044 {
00045
00046
00047
00048 vbox = new QVBoxLayout(this);
00049 vbox->setSpacing(0);
00050 vbox->setMargin(0);
00051 grid = new QGridLayout(vbox, 1, 1);
00052 }
00053 else
00054 {
00055
00056
00057 hbox = new QHBoxLayout(this);
00058 hbox->setSpacing(0);
00059 hbox->setMargin(0);
00060 grid = new QGridLayout(hbox, 1, 1);
00061 }
00062
00063 grid->setSpacing(2);
00064 grid->setMargin(4);
00065
00066 if (bias == Vertical)
00067 vbox->addStretch(1);
00068 else
00069 hbox->addStretch(1);
00070 }
00071
00072 Toolbar::~Toolbar ()
00073 {
00074 }
00075
00076 void Toolbar::addButton (QString &name, QPixmap pix, QString &tt)
00077 {
00078 ToolBarBtn *button = new ToolBarBtn (this);
00079 QToolTip::add(button, tt);
00080 button->setPixmap(pix);
00081
00082
00083
00084 if (bias == Vertical)
00085 grid->addWidget(button, list.count(), 0);
00086 else
00087 grid->addWidget(button, 0, list.count());
00088 list.replace(name, button);
00089 }
00090
00091 ToolBarBtn * Toolbar::getButton (QString &name)
00092 {
00093 return list[name];
00094 }
00095
00096 void Toolbar::setButtonStatus (QString &name, bool d)
00097 {
00098 ToolBarBtn *button = list[name];
00099 if (button)
00100 button->setEnabled(d);
00101 }
00102
00103 void Toolbar::addSeparator ()
00104 {
00105 QFrame *vline = new QFrame(this);
00106 vline->setFrameStyle(QFrame::VLine | QFrame::Sunken);
00107 if (bias == Vertical)
00108 grid->addWidget(vline, -1, 0);
00109 else
00110 grid->addWidget(vline, 0, -1);
00111 }
00112