Ergänzend zu Michaels Antworten.
Der Dialog Generator ist dafür da mit dem Anwender in Dialog zu treten, also permanent interaktive zu sein. Deswegen gibt es immer nur einen aktiven Dialog. Beim Öffnen des einen wird der andere beendete (Cancel).
Bisschen anders sieht das bei Dialogen mit dem Konstrukt :dialog-type :interrupt. Hier wird der laufende Dialog kurz unterbrochen: Der 'interrupt' Dialog hat nun das einzig aktive UI und nun der nimmt auch User Eingaben entgegen. Wird der 'interrupt' Dialog beendet, kehrt man zum zuvor aktiven zurück.
Subactions sind 'nur' Erweiterungen des aktiven Dialogs . Sie werden gerne verwendet, um Funktionen abzudecken, die man (identisch) aus mehreren Dialogen heraus verwenden kann. Die 'berühmteste' ist die "SELECT" AR, also die Objekt Selektion. Dessen UI ist standardmäßig gar nicht sichtbar (weil man es oft auch gar nicht benötigt). Im Annotation ist z.b. die Besitzer Auswahl für Skizze, Text, Bilder, manueller Geometrie und OLE Objekten eine oft genutzte Subaction.
Die größten Freiheiten zur UI Gestaltung bekommst du eben mit dem '==> User Interface Construction Toolkit' . Hier wirklich mal die Concepte und Co ordentlich durch arbeiten. Hier kannst Du eben bei jedem UI Element bestimmen, wie es sich verhält und vor allem was passieren soll wenn man 'drauf drückt'. Dafür musst du aber auch selber explizite irgendwo ein sd-show-dialog-shell und ein sd-hide-dialog-shell einbauen. Und auch der 'toolbox button' erscheint nicht von 'alleine'.
Die Kombination von UICT und defdialog sieht man dann z.B. in den Eigenschaften Dialogen und z.B in der Part Library bei der Auswahl der Teile. Hier wirkt im Hintergrund ein normaler :parallel Dialog, dessen UI-Interaktvität aber an UICT Komponenten verknüpft ist. Auch das Konzept ist in der Integration Kit Dokumentation erklärt.
-----------------------
Mit dem 'User Interface Construction Toolkit' mal einen einfachen Dialog nachzubauen kann Dir Augen öffnen.
------------------
● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ●
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP