diff --git a/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp b/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp index 0faedb9b7b..065cc52cd8 100644 --- a/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp +++ b/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp @@ -798,7 +798,7 @@ void execCascadeHorizDimension(Gui::Command* cmd){ return; } float yMaster = validDimension[0]->Y.getValue(); - float dimDistance = 7; + float dimDistance = activeDimAttributes.getCascadeSpacing(); if (signbit(yMaster)) dimDistance = -dimDistance; for (auto dim : validDimension){ @@ -860,7 +860,7 @@ void execCascadeVertDimension(Gui::Command* cmd){ return; } float xMaster = validDimension[0]->X.getValue(); - float dimDistance = 7; + float dimDistance = activeDimAttributes.getCascadeSpacing(); if (signbit(xMaster)) dimDistance = -dimDistance; for (auto dim : validDimension){ @@ -929,7 +929,8 @@ void execCascadeObliqueDimension(Gui::Command* cmd){ dirMaster.y = -dirMaster.y; Base::Vector3d origin(0.0,0.0,0.0); Base::Vector3d ipDelta = _getTrianglePoint(pMaster,dirMaster,origin); - Base::Vector3d delta = ipDelta.Normalize()*7.0; + float dimDistance = activeDimAttributes.getCascadeSpacing(); + Base::Vector3d delta = ipDelta.Normalize()*dimDistance; int i = 0; for (auto dim : validDimension){ float xDim = dim->X.getValue(); @@ -1444,8 +1445,8 @@ void execCreateHorizCoordDimension(Gui::Command* cmd){ if (!allVertexes.empty()){ if (allVertexes.size() > 1){ std::sort(allVertexes.begin(),allVertexes.end(),sortX); - float yMaster = allVertexes[0].point.y-7.0; - float dimDistance = 7.0; + float dimDistance = activeDimAttributes.getCascadeSpacing(); + float yMaster = allVertexes[0].point.y-dimDistance; if (signbit(yMaster)) dimDistance = -dimDistance; for(long unsigned int n=0;n 1){ std::sort(allVertexes.begin(),allVertexes.end(),sortY); std::reverse(allVertexes.begin(),allVertexes.end()); - float xMaster = allVertexes[0].point.x+7.0; - float dimDistance = 7.0; + float dimDistance = activeDimAttributes.getCascadeSpacing(); + float xMaster = allVertexes[0].point.x+dimDistance; if (signbit(xMaster)) dimDistance = -dimDistance; for(long unsigned int n=0;ngetScale(); for (dimVertex oldVertex : allVertexes){ Base::Vector3d nextPoint = _getTrianglePoint(pMaster,dirMaster,oldVertex.point); diff --git a/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.cpp b/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.cpp index 8cfc489ce2..31ce878436 100644 --- a/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.cpp +++ b/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.cpp @@ -111,21 +111,11 @@ void lineAttributes::setStyle(int newStyle) style = newStyle; } -int lineAttributes::getStyle(void) -{ - return style; -} - void lineAttributes::setWidth(float newWidth) { width = newWidth; } -int lineAttributes::getWidth(void) -{ - return width; -} - float lineAttributes::getWidthValue(void) { switch(width){ @@ -148,11 +138,6 @@ void lineAttributes::setColor(int newColor) color = newColor; } -int lineAttributes::getColor(void) -{ - return color; -} - App::Color lineAttributes::getColorValue(void) { switch(color){ @@ -185,6 +170,22 @@ App::Color lineAttributes::getColorValue(void) } } +//=========================================================================== +// managing global dimension attributes +//=========================================================================== + +dimAttributes::dimAttributes(void) +{ + cascadeSpacing = 7.0; +} + +void dimAttributes::setCascadeSpacing(double spacing) +{ + cascadeSpacing = spacing; +} + +dimAttributes activeDimAttributes; // container holding dimension attributes + //=========================================================================== // TaskSelectLineAttributes //=========================================================================== @@ -285,6 +286,10 @@ void TaskSelectLineAttributes::setUiEdit() default: ui->rbBlack->setChecked(true); } + + double cascadeSpacing = activeDimAttributes.getCascadeSpacing(); + ui->sbSpacing->setValue(cascadeSpacing); + } bool TaskSelectLineAttributes::accept() @@ -346,6 +351,9 @@ bool TaskSelectLineAttributes::accept() activeAttributes->setColor(black); } + double cascadeSpacing = ui->sbSpacing->value(); + activeDimAttributes.setCascadeSpacing(cascadeSpacing); + return true; } diff --git a/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.h b/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.h index bdbe71d9f9..9b88de901b 100644 --- a/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.h +++ b/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.h @@ -34,6 +34,19 @@ class Ui_TaskSelectLineAttributes; +class dimAttributes { + double cascadeSpacing; + + public: + + dimAttributes(void); + void setCascadeSpacing(double); + double getCascadeSpacing(void) {return cascadeSpacing;} + +}; // class dimAttributes + +extern dimAttributes activeDimAttributes; // container holding dimension attributes + namespace App { class DocumentObject; } @@ -69,12 +82,12 @@ class lineAttributes { lineAttributes(void); void setStyle(int); - int getStyle(void); + int getStyle(void) {return style;} void setWidth(float); - int getWidth(void); + int getWidth(void) {return width;} float getWidthValue(void); void setColor(int); - int getColor(void); + int getColor(void) {return color;} App::Color getColorValue(void); }; // class lineAttributes diff --git a/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.ui b/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.ui index 0397a4b81a..1a7ea304b3 100644 --- a/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.ui +++ b/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.ui @@ -7,7 +7,7 @@ 0 0 350 - 331 + 406 @@ -27,36 +27,33 @@ - #+++++++++++++++++++++++++++++++++++++++++++++ - + Linestyles: - #------------------------- + + Set Line style to solid + solid true - - Set Line style to solid - bgLineStyles - #------------------------------------ - - + + dashed @@ -67,7 +64,6 @@ - #------------------------------------ @@ -81,11 +77,10 @@ - #------------------------------------- - dash dotted + dashdot true @@ -98,25 +93,21 @@ - #-------------------------------------- - # lineStyles + - ############################################ - #---------------------------------------------- - + Lineswidth: - #------------------------- - small + thin 0,18 true @@ -126,11 +117,10 @@ - #------------------------------------ - - - middle + + + middle 0,35 true @@ -143,11 +133,10 @@ - #------------------------------------ - thick + thick 0,70 true @@ -157,20 +146,17 @@ - # lineWidth + - ############################################ - #---------------------------------------------- - + Linecolors: - #------------------------- @@ -187,7 +173,6 @@ - #------------------------- @@ -201,10 +186,9 @@ - #------------------------------------ - - + + grey @@ -215,10 +199,9 @@ - #------------------------------------ - - + + magenta @@ -229,7 +212,6 @@ - #------------------------------------ @@ -243,7 +225,6 @@ - #------------------------------------ @@ -257,7 +238,6 @@ - #------------------------------------ @@ -271,7 +251,6 @@ - #------------------------------------ @@ -285,18 +264,44 @@ - # lineWidth + - ############################################ - # QVBoxLayout + + + + + + + Cascade spacing + + + + + + + 0.500000000000000 + + + 7.000000000000000 + + + + + + + + + + + - + true - + true @@ -307,15 +312,4 @@ - - - Gui::QuantitySpinBox - QWidget -
Gui/QuantitySpinBox.h
-
-
- - - -