Added color prefs to sketcher create commands

Create geometry commands in sketcher now have configurable crosshair color and editCurve color.
This commit is contained in:
Jeff
2017-11-15 08:51:26 -08:00
committed by wmayer
parent 7a85bc81b5
commit 7f633cfbb2
6 changed files with 229 additions and 119 deletions

View File

@@ -27,6 +27,7 @@
# include <QApplication>
#endif
#include <stdlib.h>
#include <qdebug.h>
#include <QString>
#include <GC_MakeEllipse.hxx>
@@ -226,10 +227,24 @@ void removeRedundantHorizontalVertical(Sketcher::SketchObject* psketch,
/* Sketch commands =======================================================*/
static const char cursor_crosshair_color_fmt[] = "+ c #%06lX";
static char cursor_crosshair_color[11];
void DrawSketchHandler::setCrosshairColor()
{
unsigned long color = 0xFFFFFFFF; // white
ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath
("User parameter:BaseApp/Preferences/View");
color = hGrp->GetUnsigned("CursorCrosshairColor", color);
// from rgba to rgb
color = (color >> 8) & 0xFFFFFF;
sprintf(cursor_crosshair_color, cursor_crosshair_color_fmt, color);
}
/* XPM */
static const char *cursor_createline[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -279,6 +294,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createline),7,7);
}
@@ -436,7 +452,7 @@ bool CmdSketcherCreateLine::isActive(void)
/* XPM */
static const char *cursor_createbox[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -486,6 +502,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createbox),7,7);
}
@@ -674,7 +691,7 @@ bool CmdSketcherCreateRectangle::isActive(void)
/* XPM */
static const char *cursor_createlineset[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -830,6 +847,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createlineset),7,7);
}
@@ -1365,7 +1383,7 @@ bool CmdSketcherCreatePolyline::isActive(void)
/* XPM */
static const char *cursor_createarc[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+...........###...........",
@@ -1424,6 +1442,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarc),7,7);
}
@@ -1636,7 +1655,7 @@ bool CmdSketcherCreateArc::isActive(void)
/* XPM */
static const char *cursor_create3pointarc[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+...........###...........",
@@ -1694,6 +1713,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_create3pointarc),7,7);
}
@@ -2047,7 +2067,7 @@ bool CmdSketcherCompCreateArc::isActive(void)
/* XPM */
static const char *cursor_createcircle[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -2097,6 +2117,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createcircle),7,7);
}
@@ -2249,7 +2270,7 @@ bool CmdSketcherCreateCircle::isActive(void)
*/
static const char *cursor_createellipse[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -2357,6 +2378,7 @@ public:
*/
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createellipse),7,7);
if (constrMethod == 0) {
method = CENTER_PERIAPSIS_B;
@@ -3116,7 +3138,7 @@ bool CmdSketcherCreateEllipseBy3Points::isActive(void)
/* XPM */
static const char *cursor_createarcofellipse[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -3173,6 +3195,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarcofellipse),7,7);
}
@@ -3488,7 +3511,7 @@ bool CmdSketcherCreateArcOfEllipse::isActive(void)
/* XPM */
static const char *cursor_createarcofhyperbola[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -3546,6 +3569,7 @@ public:
virtual void activated(ViewProviderSketch * /*sketchgui*/)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarcofhyperbola),7,7);
}
@@ -3870,7 +3894,7 @@ bool CmdSketcherCreateArcOfHyperbola::isActive(void)
/* XPM */
static const char *cursor_createarcofparabola[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -3930,6 +3954,7 @@ public:
virtual void activated(ViewProviderSketch * /*sketchgui*/)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarcofparabola),7,7);
}
@@ -4362,7 +4387,7 @@ bool CmdSketcherCompCreateConic::isActive(void)
/* XPM */
static const char *cursor_createbspline[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -4423,6 +4448,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createbspline),7,7);
}
@@ -4941,7 +4967,7 @@ bool CmdSketcherCompCreateBSpline::isActive(void)
/* XPM */
static const char *cursor_create3pointcircle[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -4993,6 +5019,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_create3pointcircle),7,7);
}
@@ -5293,7 +5320,7 @@ bool CmdSketcherCompCreateCircle::isActive(void)
/* XPM */
static const char *cursor_createpoint[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -5337,6 +5364,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createpoint),7,7);
}
@@ -5539,7 +5567,7 @@ namespace SketcherGui {
/* XPM */
static const char *cursor_createfillet[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"* c red",
". c None",
"......+.........................",
@@ -5592,6 +5620,7 @@ public:
{
Gui::Selection().rmvSelectionGate();
Gui::Selection().addSelectionGate(new FilletSelection(sketchgui->getObject()));
setCrosshairColor();
setCursor(QPixmap(cursor_createfillet),7,7);
}
@@ -5819,7 +5848,7 @@ namespace SketcherGui {
/* XPM */
static const char *cursor_trimming[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"* c red",
". c None",
"......+.........................",
@@ -5869,6 +5898,7 @@ public:
Gui::Selection().clearSelection();
Gui::Selection().rmvSelectionGate();
Gui::Selection().addSelectionGate(new TrimmingSelection(sketchgui->getObject()));
setCrosshairColor();
setCursor(QPixmap(cursor_trimming),7,7);
}
@@ -5986,7 +6016,7 @@ namespace SketcherGui {
/* XPM */
static const char *cursor_extension[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"* c red",
". c None",
"......+.........................",
@@ -6049,6 +6079,7 @@ public:
Gui::Selection().rmvSelectionGate();
filterGate = new ExtendSelection(sketchgui->getObject());
Gui::Selection().addSelectionGate(filterGate);
setCrosshairColor();
setCursor(QPixmap(cursor_extension),7,7);
}
@@ -6360,7 +6391,7 @@ namespace SketcherGui {
/* XPM */
static const char *cursor_external[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"* c red",
". c None",
"......+.........................",
@@ -6418,6 +6449,7 @@ public:
Gui::Selection().clearSelection();
Gui::Selection().rmvSelectionGate();
Gui::Selection().addSelectionGate(new ExternalSelection(sketchgui->getObject()));
setCrosshairColor();
setCursor(QPixmap(cursor_external),7,7);
}
@@ -6580,7 +6612,7 @@ namespace SketcherGui {
/* XPM */
static const char *cursor_carboncopy[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"* c red",
". c None",
"......+.........................",
@@ -6638,6 +6670,7 @@ static const char *cursor_carboncopy[]={
Gui::Selection().clearSelection();
Gui::Selection().rmvSelectionGate();
Gui::Selection().addSelectionGate(new CarbonCopySelection(sketchgui->getObject()));
setCrosshairColor();
setCursor(QPixmap(cursor_carboncopy),7,7);
}
@@ -6752,7 +6785,7 @@ static const char *cursor_carboncopy[]={
/* XPM */
static const char *cursor_creatslot[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -6807,6 +6840,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_creatslot),7,7);
}
@@ -7031,7 +7065,7 @@ bool CmdSketcherCreateSlot::isActive(void)
/* XPM */
static const char *cursor_createregularpolygon[]={
"32 32 3 1",
"+ c white",
cursor_crosshair_color,
"# c red",
". c None",
"......+.........................",
@@ -7089,6 +7123,7 @@ public:
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createregularpolygon),7,7);
}