// --- ---------- -----------------------------------------------------------
// JLH 05/07/2017 Created this file
//
+//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
+
#include "penwidget.h"
-PenWidget::PenWidget(void): QWidget(), r(0), g(0), b(0)
+PenWidget::PenWidget(void): QWidget(), r(0), g(0), b(0), programChange(false)
{
width = new QLineEdit("1.0");
red = new QLineEdit("00");
if (obj == NULL)
return;
- int r = (obj->color >> 16) & 0xFF;
- int g = (obj->color >> 8) & 0xFF;
- int b = (obj->color >> 0) & 0xFF;
+ // We don't handle groups properly--yet--so punt:
+ if (obj->type == OTContainer)
+ return;
+
+ r = (obj->color >> 16) & 0xFF;
+ g = (obj->color >> 8) & 0xFF;
+ b = (obj->color >> 0) & 0xFF;
width->setText(QString("%1").arg(obj->thickness));
red->setText(QString("%1").arg(r, 2, 16, QChar('0')));
green->setText(QString("%1").arg(g, 2, 16, QChar('0')));
blue->setText(QString("%1").arg(b, 2, 16, QChar('0')));
// Styles are 1-indexed while the combobox is 0-indexed
+ programChange = true;
style->setCurrentIndex(obj->style - 1);
+ programChange = false;
}
if (!ok)
return;
- emit WidthSelected(value);
+ Global::penWidth = value;
+ emit WidthSelected(Global::penWidth);
}
void PenWidget::HandleStyleSelected(int selected)
{
+ // Change was programmatic, don't do anything
+ if (programChange)
+ return;
+
// Styles are 1-based, but the combobox is 0-based, so we compensate for
// that here
- emit StyleSelected(selected + 1);
+ Global::penStyle = selected + 1;
+ emit StyleSelected(Global::penStyle);
}
return;
r = value;
- emit ColorSelected((r << 16) | (g << 8) | b);
+ Global::penColor = (r << 16) | (g << 8) | b;
+ emit ColorSelected(Global::penColor);
}
return;
g = value;
- emit ColorSelected((r << 16) | (g << 8) | b);
+ Global::penColor = (r << 16) | (g << 8) | b;
+ emit ColorSelected(Global::penColor);
}
return;
b = value;
- emit ColorSelected((r << 16) | (g << 8) | b);
+ Global::penColor = (r << 16) | (g << 8) | b;
+ emit ColorSelected(Global::penColor);
}