Skip to content

Commit

Permalink
Added color prefs to sketcher create commands
Browse files Browse the repository at this point in the history
Create geometry commands in sketcher now have configurable crosshair color and editCurve color.
  • Loading branch information
jcbinf authored and wwmayer committed Nov 18, 2017
1 parent 1f76beb commit c770ce7
Show file tree
Hide file tree
Showing 6 changed files with 218 additions and 108 deletions.
75 changes: 55 additions & 20 deletions src/Mod/Sketcher/Gui/CommandCreateGeo.cpp
Expand Up @@ -27,6 +27,7 @@
# include <QApplication>
#endif

#include <stdlib.h>
#include <qdebug.h>
#include <QString>
#include <GC_MakeEllipse.hxx>
Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -279,6 +294,7 @@ class DrawSketchHandlerLine: public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createline),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -486,6 +502,7 @@ class DrawSketchHandlerBox: public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createbox),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -830,6 +847,7 @@ class DrawSketchHandlerLineSet: public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createlineset),7,7);
}

Expand Down Expand Up @@ -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",
"......+...........###...........",
Expand Down Expand Up @@ -1424,6 +1442,7 @@ class DrawSketchHandlerArc : public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarc),7,7);
}

Expand Down Expand Up @@ -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",
"......+...........###...........",
Expand Down Expand Up @@ -1694,6 +1713,7 @@ class DrawSketchHandler3PointArc : public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_create3pointarc),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -2097,6 +2117,7 @@ class DrawSketchHandlerCircle : public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createcircle),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -2357,6 +2378,7 @@ class DrawSketchHandlerEllipse : public DrawSketchHandler
*/
virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createellipse),7,7);
if (constrMethod == 0) {
method = CENTER_PERIAPSIS_B;
Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -3173,6 +3195,7 @@ class DrawSketchHandlerArcOfEllipse : public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarcofellipse),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -3546,6 +3569,7 @@ class DrawSketchHandlerArcOfHyperbola : public DrawSketchHandler

virtual void activated(ViewProviderSketch * /*sketchgui*/)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarcofhyperbola),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -3930,6 +3954,7 @@ class DrawSketchHandlerArcOfParabola : public DrawSketchHandler

virtual void activated(ViewProviderSketch * /*sketchgui*/)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createarcofparabola),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -4423,6 +4448,7 @@ class DrawSketchHandlerBSpline: public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createbspline),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -4993,6 +5019,7 @@ class DrawSketchHandler3PointCircle : public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_create3pointcircle),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -5337,6 +5364,7 @@ class DrawSketchHandlerPoint: public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createpoint),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -5592,6 +5620,7 @@ class DrawSketchHandlerFillet: public DrawSketchHandler
{
Gui::Selection().rmvSelectionGate();
Gui::Selection().addSelectionGate(new FilletSelection(sketchgui->getObject()));
setCrosshairColor();
setCursor(QPixmap(cursor_createfillet),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -5869,6 +5898,7 @@ class DrawSketchHandlerTrimming: public DrawSketchHandler
Gui::Selection().clearSelection();
Gui::Selection().rmvSelectionGate();
Gui::Selection().addSelectionGate(new TrimmingSelection(sketchgui->getObject()));
setCrosshairColor();
setCursor(QPixmap(cursor_trimming),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -6049,6 +6079,7 @@ class DrawSketchHandlerExtend: public DrawSketchHandler
Gui::Selection().rmvSelectionGate();
filterGate = new ExtendSelection(sketchgui->getObject());
Gui::Selection().addSelectionGate(filterGate);
setCrosshairColor();
setCursor(QPixmap(cursor_extension),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -6418,6 +6449,7 @@ class DrawSketchHandlerExternal: public DrawSketchHandler
Gui::Selection().clearSelection();
Gui::Selection().rmvSelectionGate();
Gui::Selection().addSelectionGate(new ExternalSelection(sketchgui->getObject()));
setCrosshairColor();
setCursor(QPixmap(cursor_external),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -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);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -6807,6 +6840,7 @@ class DrawSketchHandlerSlot: public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_creatslot),7,7);
}

Expand Down Expand Up @@ -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",
"......+.........................",
Expand Down Expand Up @@ -7089,6 +7123,7 @@ class DrawSketchHandlerRegularPolygon: public DrawSketchHandler

virtual void activated(ViewProviderSketch *)
{
setCrosshairColor();
setCursor(QPixmap(cursor_createregularpolygon),7,7);
}

Expand Down
1 change: 1 addition & 0 deletions src/Mod/Sketcher/Gui/DrawSketchHandler.h
Expand Up @@ -98,6 +98,7 @@ class SketcherGuiExport DrawSketchHandler
void unsetCursor(void);
void applyCursor(void);
void applyCursor(QCursor &newCursor);
void setCrosshairColor();

ViewProviderSketch *sketchgui;
QCursor oldCursor;
Expand Down
4 changes: 4 additions & 0 deletions src/Mod/Sketcher/Gui/SketcherSettings.cpp
Expand Up @@ -236,6 +236,8 @@ void SketcherSettingsColors::saveSettings()
ui->DefaultSketcherLineWidth->onSave();

ui->CursorTextColor->onSave();
ui->CursorCrosshairColor->onSave();
ui->CreateLineColor->onSave();
}

void SketcherSettingsColors::loadSettings()
Expand All @@ -258,6 +260,8 @@ void SketcherSettingsColors::loadSettings()
ui->DefaultSketcherLineWidth->onRestore();

ui->CursorTextColor->onRestore();
ui->CursorCrosshairColor->onRestore();
ui->CreateLineColor->onRestore();
}

/**
Expand Down

0 comments on commit c770ce7

Please sign in to comment.