Add option to reverse arrowheads on Dims
This commit is contained in:
committed by
Yorik van Havre
parent
3765300abc
commit
61aa0f6230
@@ -705,9 +705,16 @@ void QGIViewDimension::draw()
|
||||
|
||||
aHead1->setDirMode(true);
|
||||
aHead2->setDirMode(true);
|
||||
aHead1->setDirection(a1Dir);
|
||||
aHead2->setDirection(a2Dir);
|
||||
|
||||
|
||||
|
||||
if (vp->FlipArrowheads.getValue()) {
|
||||
aHead1->setDirection(a1Dir * -1.0);
|
||||
aHead2->setDirection(a2Dir * -1.0);
|
||||
} else {
|
||||
aHead1->setDirection(a1Dir);
|
||||
aHead2->setDirection(a2Dir);
|
||||
}
|
||||
|
||||
aHead1->setStyle(QGIArrow::getPrefArrowStyle());
|
||||
aHead1->setSize(QGIArrow::getPrefArrowSize());
|
||||
aHead1->draw();
|
||||
|
||||
@@ -57,13 +57,14 @@ ViewProviderDimension::ViewProviderDimension()
|
||||
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
|
||||
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels");
|
||||
std::string fontName = hGrp->GetASCII("LabelFont", "osifont");
|
||||
|
||||
hGrp = App::GetApplication().GetUserParameter()
|
||||
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions");
|
||||
double fontSize = hGrp->GetFloat("FontSize", 3.5);
|
||||
|
||||
ADD_PROPERTY_TYPE(Font ,(fontName.c_str()),group,App::Prop_None, "The name of the font to use");
|
||||
ADD_PROPERTY_TYPE(Fontsize,(fontSize) ,group,(App::PropertyType)(App::Prop_None),"Dimension text size in units");
|
||||
|
||||
|
||||
hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations");
|
||||
std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm");
|
||||
auto lg = TechDraw::LineGroup::lineGroupFactory(lgName);
|
||||
@@ -71,12 +72,15 @@ ViewProviderDimension::ViewProviderDimension()
|
||||
delete lg; //Coverity CID 174670
|
||||
ADD_PROPERTY_TYPE(LineWidth,(weight) ,group,(App::PropertyType)(App::Prop_None),"Dimension line weight");
|
||||
|
||||
|
||||
hGrp = App::GetApplication().GetUserParameter()
|
||||
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions");
|
||||
App::Color fcColor;
|
||||
fcColor.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000));
|
||||
ADD_PROPERTY_TYPE(Color,(fcColor),group,App::Prop_None,"The color of the Dimension");
|
||||
|
||||
ADD_PROPERTY_TYPE(FlipArrowheads ,(false),group,App::Prop_None,"Reverse the normal direction of arrowheads on dimline");
|
||||
|
||||
}
|
||||
|
||||
ViewProviderDimension::~ViewProviderDimension()
|
||||
@@ -124,7 +128,8 @@ void ViewProviderDimension::onChanged(const App::Property* p)
|
||||
{
|
||||
if ((p == &Font) ||
|
||||
(p == &Fontsize) ||
|
||||
(p == &LineWidth) ) {
|
||||
(p == &LineWidth) ||
|
||||
(p == &FlipArrowheads)) {
|
||||
QGIView* qgiv = getQView();
|
||||
if (qgiv) {
|
||||
qgiv->updateView(true);
|
||||
|
||||
@@ -48,6 +48,7 @@ public:
|
||||
App::PropertyLength Fontsize;
|
||||
App::PropertyFloat LineWidth;
|
||||
App::PropertyColor Color;
|
||||
App::PropertyBool FlipArrowheads;
|
||||
|
||||
|
||||
virtual void attach(App::DocumentObject *);
|
||||
|
||||
Reference in New Issue
Block a user