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.
Find a file
2026-02-08 09:59:52 -08:00
.idea Updated Code. 2026-02-02 04:44:14 -08:00
.mvn/wrapper First Commit 2026-01-29 03:06:08 -08:00
app Bug Fixes 2026-02-08 09:59:52 -08:00
designer Bug Fixes 2026-02-08 09:59:52 -08:00
runtime Bug Fixes 2026-02-08 09:59:52 -08:00
.gitignore First Commit 2026-01-29 03:06:08 -08:00
mvnw First Commit 2026-01-29 03:06:08 -08:00
mvnw.cmd First Commit 2026-01-29 03:06:08 -08:00
pom.xml Updated Code. 2026-02-02 04:44:14 -08:00
README.md Updated Code. 2026-02-02 04:44:14 -08:00

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 (props and events); the runtime and designer sync to/from Swing components via PropertySet and EventSet.
  • Extensible Register custom control types with ToolRegistry.add(ToolDef.of(...)); implement DesignSurfaceHost.openControlProperties for 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