43896a28f5
Doppelklick auf einen Linienzug-VF_n-Block bietet jetzt zwei Modi (neuer Dialog vfl_edit_modus.dcl / vfl-dlg-modus): auf eine Sektion zuruecksetzen (bisheriges Verhalten) ODER die Eigenschaften EINES einzelnen Glieds aendern (vfl-edit-glied). Fuer GF-Boegen laesst sich Winkel (30/60/90) und Seite (links/rechts) direkt aendern; das Glied wird per vfl-journal-splice im Ketten-Journal ersetzt und die komplette Kette 1:1 neu aufgebaut. Damit die nachfolgenden Glieder nach einer Bogen-Aenderung korrekt neu verketten, speichert das Journal fuer Linien-Segmente jetzt nur noch die relative Distanz (deltaL, neuer Journal-Kind "DL") statt eines absoluten Punkts - nur der Kettenstartpunkt bleibt ein echter Punkt. Richtung wird ohnehin vom Vorgaenger-Frame geerbt (nur das erste Segment journalisiert zusaetzlich die gesnappte Richtung). vfl-in-abstand ersetzt die punktbasierte Messung in vfl-neue-linie-messen; vfl-kettenanfang-baustein rechnet die AS-Restlaenge rein skalar (kein pick-punkt mehr). Wichtige Korrekturen: - vfl-entry->string/-entry kannten den DL-Kind nicht (wurde als NIL serialisiert -> Distanzverlust beim erneuten Lesen) - vfl-in-abstand journalisiert jetzt in BEIDEN Zweigen (Replay UND Live), wie die anderen vfl-in-*-Wrapper - sonst gingen die DL-Werte replizierter Glieder beim erneuten Speichern verloren (2. Edit stuerzte ab) Diagnose: komplettes Journal wird beim Erzeugen (XDATA-JOURNAL-JSON) und zu Beginn eines Replays (REPLAY-QUEUE-JSON) als JSON in die Debug-Datei geschrieben (No-Op ohne aktiven Debug-Schalter). dcl/vfl_edit.dcl: Popup breiter (edit_width/list_width), damit lange Sektionstexte nicht abgeschnitten werden. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
46 lines
1.4 KiB
Plaintext
46 lines
1.4 KiB
Plaintext
// ============================================================
|
|
// vfl_edit_modus.dcl - Linienzug-Kette (VF_n, Marker "linienzug")
|
|
// per Doppelklick bearbeiten: zuerst den Modus waehlen -
|
|
// key "modus_rueck" = auf eine Sektion zuruecksetzen und ab dort
|
|
// weiterbauen (bestehendes Verhalten,
|
|
// vfl-dlg-position/vfl-journal-truncate)
|
|
// key "modus_glied" = Eigenschaften EINES einzelnen Glieds aendern,
|
|
// Rest bleibt (vfl-edit-glied)
|
|
// Aufruf ueber vfl-edit-ent -> vfl-dlg-modus (Lisp/vf_linienzug.lsp).
|
|
// Labels stehen wie in allen DCL-Files statisch (deutsch) hier - NICHT per
|
|
// set_tile gefuellt (set_tile kann das label eines radio_button ohnehin nicht
|
|
// setzen, nur den Zustand). Nur der Kopftext "kopf" wird zur Laufzeit gesetzt.
|
|
// ============================================================
|
|
|
|
vfl_edit_modus : dialog {
|
|
label = "Linienzug editieren";
|
|
|
|
: column {
|
|
|
|
: text {
|
|
key = "kopf";
|
|
label = "";
|
|
}
|
|
|
|
: boxed_radio_column {
|
|
label = "Was moechten Sie tun?";
|
|
key = "modus";
|
|
|
|
: radio_button {
|
|
key = "modus_rueck";
|
|
label = "Auf eine Sektion zuruecksetzen und ab dort neu bauen";
|
|
value = "1";
|
|
}
|
|
|
|
: radio_button {
|
|
key = "modus_glied";
|
|
label = "Nur die Eigenschaften eines einzelnen Glieds aendern";
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ok_cancel;
|
|
}
|