[TD]make symbol text adjustable

- also fix QGIWeldSymbol bounding rect
This commit is contained in:
wandererfan
2019-12-24 12:04:18 -05:00
committed by WandererFan
parent 983c038949
commit b3a926f1d4
7 changed files with 160 additions and 57 deletions

View File

@@ -57,6 +57,13 @@ PROPERTY_SOURCE(TechDrawGui::ViewProviderWeld, TechDrawGui::ViewProviderDrawingV
ViewProviderWeld::ViewProviderWeld()
{
sPixmap = "actions/techdraw-weldsymbol";
static const char *group = "Text";
ADD_PROPERTY_TYPE(Font, (prefFontName().c_str()),group,App::Prop_None, "The name of the font to use");
ADD_PROPERTY_TYPE(FontSize, (prefFontSize()), group,
(App::PropertyType)(App::Prop_None),"Tail text size");
ADD_PROPERTY_TYPE(TileFontSize, (prefFontSize() * prefTileTextAdjust()), group,
(App::PropertyType)(App::Prop_None),"Text size on individual symbol tiles");
}
ViewProviderWeld::~ViewProviderWeld()
@@ -142,6 +149,34 @@ bool ViewProviderWeld::doubleClicked(void)
return true;
}
std::string ViewProviderWeld::prefFontName(void)
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->
GetGroup("Mod/TechDraw/Labels");
std::string fontName = hGrp->GetASCII("LabelFont", "osifont");
return fontName;
}
double ViewProviderWeld::prefFontSize(void)
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->
GetGroup("Mod/TechDraw/Dimensions");
double fontSize = hGrp->GetFloat("FontSize", QGIView::DefaultFontSizeInMM);
return fontSize;
}
double ViewProviderWeld::prefTileTextAdjust(void)
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->
GetGroup("Mod/TechDraw/Dimensions");
double adjust = hGrp->GetFloat("TileTextAdjust", 0.75);
return adjust;
}
TechDraw::DrawWeldSymbol* ViewProviderWeld::getViewObject() const
{