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>
This commit is contained in:
@@ -171,6 +171,8 @@ export function saveOverridesPreset(name) { send('SAVE_OVERRIDES_PRESET', { name
|
||||
export function openOverridesPanel() { send('OPEN_OVERRIDES_PANEL', {}) }
|
||||
export function openKameraPanel() { send('OPEN_KAMERA_PANEL', {}) }
|
||||
export function openAbout() { send('OPEN_ABOUT', {}) }
|
||||
export function createText() { send('CREATE_TEXT', {}) }
|
||||
export function setTextSettings(settings) { send('SET_TEXT_SETTINGS', { settings }) }
|
||||
|
||||
// --- Masse (in Oberleiste + Satellite-Fenster MasseSettings) ---
|
||||
// Topbar: aktives Mass setzen + Settings-Fenster oeffnen
|
||||
|
||||
Reference in New Issue
Block a user