popup dialog interactor
A dialog is an interactor that handles input for a dialog box.
The dialog layout is specified by a separate interactor passed
to the dialog constructor.
The dialog completes when the value of an associated button state becomes
This button state is typically set by one or more buttons
in the component interactor.
- Dialog(ButtonState*, Interactor*, Alignment = Center)
Construct a new dialog with the given button state and interactor.
The alignment is used by the Popup operation.
- virtual boolean Accept()
Set the dialog button state to zero and loop reading events
until the button state's value becomes non-zero.
Each event is passed to is target's Handle operation.
Return true if the value is one, false otherwise.
- virtual boolean Popup(Event&, boolean placed = true)
Insert the dialog into the world associated with the given event.
If placed is true,
align the dialog around the event's (x, y) coordinate.
Otherwise, the dialog is inserted without specifying a position.
Popup then calls the Accept operation and returns its value.