Draft: use param observer to update tray
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user