X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fpenwidget.cpp;fp=src%2Fpenwidget.cpp;h=9b80932b2e47fc372f1b4870141616eb640c9156;hb=eb39f1bb5e6518c5dc4f4dbd3c88912a97192e95;hp=4bd966af36e2af3cf3ac4e1f8c1d7a893f768f33;hpb=a3e939d9028531324be8ba2ec54eddca31342c19;p=architektonas diff --git a/src/penwidget.cpp b/src/penwidget.cpp index 4bd966a..9b80932 100644 --- a/src/penwidget.cpp +++ b/src/penwidget.cpp @@ -12,31 +12,27 @@ // //maybe add a button to have it stamp attributes on all objects clicked on? [added Global::penStamp to facilitate this.] //need to add to drawingview the ability to use attributes on new objects [DONE] -//need to override the selection so you can see the attributes effects immediately when they are changed instead of having to deselect them to see - +//need to override the selection so you can see the attributes effects immediately when they are changed instead of having to deselect them to see [IN PROGRESS] #include "penwidget.h" - -PenWidget::PenWidget(void): QWidget(), r(0), g(0), b(0), programChange(false) +PenWidget::PenWidget(void): QWidget(), width(new QLineEdit("1.0")), red(new QLineEdit("00")), green(new QLineEdit("00")), blue(new QLineEdit("00")), style(new QComboBox), r(0), g(0), b(0), programChange(false), stampAction(new QAction(QIcon(":/res/pen-stamp.png"), tr(""), this)), dropperAction(new QAction(QIcon(":/res/pen-dropper.png"), tr(""), this)), tbStamp(new QToolButton(this)), tbDropper(new QToolButton(this)) { - width = new QLineEdit("1.0"); - red = new QLineEdit("00"); - green = new QLineEdit("00"); - blue = new QLineEdit("00"); - style = new QComboBox; - QLabel * l1 = new QLabel(tr("Width:")); QLabel * l2 = new QLabel(tr("RGB:")); QLabel * l3 = new QLabel(tr("Style:")); - QToolButton * qtb = new QToolButton(this); - QAction * action = new QAction(QIcon(":/res/pen-stamp.png"), tr(""), this); - action->setToolTip(tr("Stamp Selected")); - action->setStatusTip(tr("Stamp selected objects with pen attributes.")); - action->setShortcut(QKeySequence(tr("p,p"))); -// action->setCheckable(checkable); - qtb->setDefaultAction(action); + stampAction->setToolTip(tr("Stamp Selected")); + stampAction->setStatusTip(tr("Stamp selected objects with pen attributes.")); + stampAction->setShortcut(QKeySequence(tr("p,p"))); + stampAction->setCheckable(true); + tbStamp->setDefaultAction(stampAction); + + dropperAction->setToolTip(tr("Color Picker")); + dropperAction->setStatusTip(tr("Get pen attributes from objects.")); + dropperAction->setShortcut(QKeySequence(tr("d,d"))); + dropperAction->setCheckable(true); + tbDropper->setDefaultAction(dropperAction); style->insertItem(1, tr("Solid")); style->insertItem(2, tr("Dash")); @@ -63,15 +59,16 @@ PenWidget::PenWidget(void): QWidget(), r(0), g(0), b(0), programChange(false) style->setToolTip(tr("Sets pen style")); QHBoxLayout * hbox1 = new QHBoxLayout; - hbox1->addWidget(l1, 0, Qt::AlignLeft); - hbox1->addWidget(width, 0, Qt::AlignLeft); hbox1->addWidget(l2, 0, Qt::AlignLeft); hbox1->addWidget(red, 0, Qt::AlignLeft); hbox1->addWidget(green, 0, Qt::AlignLeft); hbox1->addWidget(blue, 0, Qt::AlignLeft); + hbox1->addWidget(l1, 0, Qt::AlignLeft); + hbox1->addWidget(width, 0, Qt::AlignLeft); hbox1->addWidget(l3, 0, Qt::AlignLeft); hbox1->addWidget(style, 0, Qt::AlignLeft); - hbox1->addWidget(qtb, 0, Qt::AlignLeft); + hbox1->addWidget(tbStamp, 0, Qt::AlignLeft); + hbox1->addWidget(tbDropper, 0, Qt::AlignLeft); hbox1->addStretch(1); setLayout(hbox1); @@ -81,15 +78,12 @@ PenWidget::PenWidget(void): QWidget(), r(0), g(0), b(0), programChange(false) connect(green, SIGNAL(textEdited(QString)), this, SLOT(HandleGreenSelected(QString))); connect(blue, SIGNAL(textEdited(QString)), this, SLOT(HandleBlueSelected(QString))); connect(style, SIGNAL(currentIndexChanged(int)), this, SLOT(HandleStyleSelected(int))); - connect(qtb, SIGNAL(triggered(QAction *)), this, SLOT(HandleStamp(QAction *))); } - PenWidget::~PenWidget() { } - void PenWidget::SetFields(Object * obj) { // Sanity check @@ -113,7 +107,6 @@ void PenWidget::SetFields(Object * obj) programChange = false; } - void PenWidget::HandleWidthSelected(QString text) { // Parse the text in the control @@ -127,7 +120,6 @@ void PenWidget::HandleWidthSelected(QString text) emit WidthSelected(Global::penWidth); } - void PenWidget::HandleStyleSelected(int selected) { // Change was programmatic, don't do anything @@ -140,7 +132,6 @@ void PenWidget::HandleStyleSelected(int selected) emit StyleSelected(Global::penStyle); } - void PenWidget::HandleRedSelected(QString text) { // Parse the text in the control @@ -155,7 +146,6 @@ void PenWidget::HandleRedSelected(QString text) emit ColorSelected(Global::penColor); } - void PenWidget::HandleGreenSelected(QString text) { // Parse the text in the control @@ -170,7 +160,6 @@ void PenWidget::HandleGreenSelected(QString text) emit ColorSelected(Global::penColor); } - void PenWidget::HandleBlueSelected(QString text) { // Parse the text in the control @@ -184,10 +173,3 @@ void PenWidget::HandleBlueSelected(QString text) Global::penColor = (r << 16) | (g << 8) | b; emit ColorSelected(Global::penColor); } - - -void PenWidget::HandleStamp(QAction * /* action */) -{ - emit StampSelected(); -} -