karim
|
2252ffd2f9
|
Text-Erstellung mit Floating-Input-Box (Variante B)
Neuer Workflow: Klick "+ Text" in Topbar → Punkt im Viewport picken →
Floating Eto-Dialog erscheint neben dem Mauszeiger → User tippt → Enter
fuegt TextEntity mit Topbar-Settings ein. Esc bricht ab.
Backend (rhino/text_create.py):
- load_settings/save_settings — persistiert font/size/bold/italic in
doc.Strings["dossier_text_settings"] (JSON)
- available_fonts() — System-Font-Namen via
Rhino.DocObjects.Font.AvailableFontFaceNames
- _floating_input() — Eto.Dialog mit TextBox, ShowModal mit Rhino-
MainWindow als Parent, positioniert bei Mouse.Position
- create_text() — RhinoGet.GetPoint → _floating_input → TextEntity
mit Font/Size/Bold/Italic erstellen + AddText
- _apply_font() mit 2 Fallback-Pfaden (FontTable.FindOrCreate +
Font.FromQuartetProperties) fuer RhinoCommon-Kompatibilitaet
Backend (oberleiste.py):
- CREATE_TEXT handler → text_create.create_text()
- SET_TEXT_SETTINGS handler → text_create.save_settings (merge partial)
- State payload: textSettings (immer) + textFonts (einmalig initial,
via _fonts_sent Flag — Liste aendert sich nicht zur Laufzeit)
Frontend (OberleisteApp + rhinoBridge):
- createText() + setTextSettings() Bridge-Funktionen
- Text-Block 2x2 Grid analog Massstab:
R1: Font-Dropdown (BarCombo mit text_fields icon) | Size-Input mit "m" suffix
R2: B/I-Toggles (segmented pill mit accent-Fill bei active) | "+ Text" Button
- Hover-Logik analog View-Toggle (bg → bg-item-hover, color → accent-light)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-20 23:52:00 +02:00 |
|