Dialog Editor control and Runtime to design simple dialogs for use in Wise Installation Studio or the WiseScript Install Engine, but is provided for use in other apps.
| .idea | ||
| .mvn/wrapper | ||
| app | ||
| designer | ||
| runtime | ||
| .gitignore | ||
| mvnw | ||
| mvnw.cmd | ||
| pom.xml | ||
| README.md | ||
Dialog Editor
Visual design tool for composing and editing dialog layouts. Dialogs are stored in a structured, property-driven model and can be serialized (e.g. JSON) and shown at runtime.
Module layout
The project is a Maven multi-module build:
| Module | Artifact | Description |
|---|---|---|
| runtime | dialogeditor-runtime |
Runtime model and APIs: DialogModel, ToolRegistry, PropertySet, EventSet, RunDialog. No UI beyond Swing types used by controls. See runtime/README.md. |
| designer | dialogeditor-designer |
Design-time canvas: DesignSurface, selection, tool behaviors (pointer/place), property dialogs (dialog + generic fallback). Depends on runtime. See designer/README.md. |
| app | dialogeditor-app |
Sample applications: full editor (sample package), minimal editor (sample2), and Main launcher. Depends on designer (and thus runtime). |
Build from the root: ./mvnw clean install. Run the app: ./mvnw -pl app exec:java -Dexec.mainClass=com.wiseglobalsolutions.dialogeditor.Main or run the app JAR with main class com.wiseglobalsolutions.dialogeditor.Main.
Key features
- Visual dialog layout – Compose dialogs from a palette of controls; placement and resize on a design surface.
- Property- and event-driven – Control attributes and event handlers are stored in the model (
propsandevents); the runtime and designer sync to/from Swing components viaPropertySetandEventSet. - Extensible – Register custom control types with
ToolRegistry.add(ToolDef.of(...)); implementDesignSurfaceHost.openControlPropertiesfor custom property dialogs. - Run dialog –
RunDialog.showDialog(owner, model, tools, eventSink)builds and shows the dialog from the model and wires events to your handler.
Intended use
- Authors designing setup or installer dialogs
- Applications that need a data-driven dialog model and a visual editor
- Embedding the runtime JAR to run dialogs without the editor; embedding the designer JAR to build an editor that uses your own tools and property UI