Text-Editor: V-Align + Mask-Type/Color + Case-Transform
Erweitert den Editor um die fehlenden Rhino-Text-Optionen: - Vertical Alignment (Top/Middle/Bottom) als 3 Pill-Buttons in Row 2. Backend: text_create._apply_valign mit TextVerticalAlignment-Enum. - Mask-Type Dropdown (None/Viewport/Solid). Bei Solid erscheint ein Mask-Color-Picker. MaskMargin disabled wenn Type=none. Backend: schaltet te.MaskEnabled + te.MaskUsesViewportColor + te.MaskColor entsprechend. - Case-Dropdown in Row 2: upper/lower/capitalize/invert. Wirkt nur auf die Selektion via execCommand insertText. open_for_edit liest valign + maskType/Color/Margin aus bestehendem TextEntity zurueck, damit beim Re-Open der Zustand erhalten bleibt. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -799,6 +799,22 @@ def _apply_align(te, align):
|
||||
return False
|
||||
|
||||
|
||||
def _apply_valign(te, valign):
|
||||
"""Setzt TextVerticalAlignment (Top/Middle/Bottom)."""
|
||||
try:
|
||||
m = {
|
||||
"top": Rhino.DocObjects.TextVerticalAlignment.Top,
|
||||
"middle": Rhino.DocObjects.TextVerticalAlignment.Middle,
|
||||
"bottom": Rhino.DocObjects.TextVerticalAlignment.Bottom,
|
||||
}
|
||||
if valign in m:
|
||||
te.TextVerticalAlignment = m[valign]
|
||||
return True
|
||||
except Exception as ex:
|
||||
print("[TEXT] apply valign:", ex)
|
||||
return False
|
||||
|
||||
|
||||
def apply_settings_to_selection(doc, patch):
|
||||
"""Wendet font/size/bold/italic/align auf alle selektierten
|
||||
TextEntities an. Returns Anzahl der geaenderten Objekte."""
|
||||
|
||||
Reference in New Issue
Block a user