Draft: use param observer to update tray

This commit is contained in:
Roy-043
2023-11-30 09:41:45 +01:00
committed by GitHub
2 changed files with 32 additions and 5 deletions

View File

@@ -199,8 +199,6 @@ class Draft_SetStyle_TaskPanel:
param_draft.SetFloat("dimovershoot",FreeCAD.Units.Quantity(self.form.DimOvershoot.text()).Value)
param_draft.SetFloat("extlines",FreeCAD.Units.Quantity(self.form.ExtLines.text()).Value)
param_draft.SetFloat("extovershoot",FreeCAD.Units.Quantity(self.form.ExtOvershoot.text()).Value)
if hasattr(FreeCADGui,"draftToolBar"):
FreeCADGui.draftToolBar.setStyleButton()
self.reject()
def onApplyStyle(self):

View File

@@ -33,9 +33,12 @@ from draftutils.translate import translate
from draftviewproviders import view_base
class ParamObserver:
class ParamObserverDraft:
def slotParamChanged(self, param, tp, name, value):
if name == "textheight":
_param_observer_callback_tray()
return
if name in ("gridBorder", "gridShowHuman", "coloredGridAxes", "gridEvery",
"gridSpacing", "gridSize", "gridTransparency", "gridColor"):
_param_observer_callback_grid()
@@ -60,6 +63,23 @@ class ParamObserver:
return
class ParamObserverView:
def slotParamChanged(self, param, tp, name, value):
if name in ("DefaultShapeColor", "DefaultShapeLineColor", "DefaultShapeLineWidth"):
_param_observer_callback_tray()
return
def _param_observer_callback_tray():
if not hasattr(Gui, "draftToolBar"):
return
tray = Gui.draftToolBar.tray
if tray is None:
return
Gui.draftToolBar.setStyleButton()
def _param_observer_callback_grid():
if hasattr(App, "draft_working_planes") and hasattr(Gui, "Snapper"):
try:
@@ -158,5 +178,14 @@ of existing objects in all opened documents?""")
doc.commitTransaction()
def _param_observer_start(param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")):
param.AttachManager(ParamObserver())
def _param_observer_start():
_param_observer_start_draft()
_param_observer_start_view()
def _param_observer_start_draft(param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")):
param.AttachManager(ParamObserverDraft())
def _param_observer_start_view(param = App.ParamGet("User parameter:BaseApp/Preferences/View")):
param.AttachManager(ParamObserverView())