[Draft] Improve the color activation and ability to change… (#16603)

* [Draft] Improve the color activation and ability to change size of the snap text

* [Draft] Correct dimension text size calculation
This commit is contained in:
Syres916
2024-09-19 08:03:33 +01:00
committed by GitHub
parent 27ca64a201
commit f00b236dfb
2 changed files with 30 additions and 7 deletions

View File

@@ -1431,10 +1431,8 @@ class archDimTracker(Tracker):
p2node = coin.SbVec3f([p2.x, p2.y, p2.z])
self.dimnode.pnts.setValues([p1node, p2node])
self.dimnode.lineWidth = 1
color = utils.get_rgba_tuple(params.get_param("snapcolor"))[:3]
self.dimnode.textColor.setValue(coin.SbVec3f(color))
self.dimnode.size = 11
self.size_pixel = self.dimnode.size.getValue()*96/72
self.setColor()
self.setSize()
self.offset = 0.5
self.mode = mode
self.matrix = self.transform.matrix
@@ -1449,6 +1447,19 @@ class archDimTracker(Tracker):
self.setString()
super().__init__(children=[self.transform, self.dimnode], name="archDimTracker")
def setColor(self, color=None):
"""Set the color."""
if color is None:
self.color = utils.get_rgba_tuple(params.get_param("snapcolor"))[:3]
else:
self.color.rgb = color
self.dimnode.textColor.setValue(coin.SbVec3f(self.color))
def setSize(self):
"""Set the text size."""
self.dimnode.size = params.get_param_view("MarkerSize") * 2
self.size_pixel = self.dimnode.size.getValue() * 96 / 72
def setString(self, text=None):
"""Set the dim string to the given value or auto value."""
plane = self._get_wp()

View File

@@ -76,7 +76,9 @@ class ParamObserverView:
if entry in ("DefaultShapeColor", "DefaultShapeLineColor", "DefaultShapeLineWidth"):
_param_observer_callback_tray()
return
if entry == "MarkerSize":
_param_observer_callback_snaptextsize()
return
def _param_observer_callback_tray():
if not hasattr(Gui, "draftToolBar"):
@@ -144,8 +146,18 @@ def _param_observer_callback_snapstyle():
def _param_observer_callback_snapcolor():
if hasattr(Gui, "Snapper"):
for snap_track in Gui.Snapper.trackers[2]:
snap_track.setColor()
tracker_list = [2, 5, 6]
for each_tracker in tracker_list:
for snap_track in Gui.Snapper.trackers[each_tracker]:
snap_track.setColor()
def _param_observer_callback_snaptextsize():
if hasattr(Gui, "Snapper"):
tracker_list = [5, 6]
for each_tracker in tracker_list:
for snap_track in Gui.Snapper.trackers[each_tracker]:
snap_track.setSize()
def _param_observer_callback_svg_pattern():