Open instantiable class
The class of wizard frames.
page:<page>.
pages:false-or(limited(<sequence>, of: <page>). Default value: #f.
apply-callback:An instance of type false-or(<function>). Default value: #f.
apply-button:false-or(<button>). Default value: #f.
Note that the following two useful init-keywords are inherited from <dialog-frame>:
pages:false-or(<sequence>). Default value: #f.
page-changed-callback: An instance of type false-or(<function>). Default value: #f.
duim-frames
duim-frames
The class of wizard frames. These are frames that are used to create wizards (series of connected dialogs) that are used to guide the user through a structured task, such as installing an application.
A wizard frame is a multi-page dialog, in which the user specifies requested information before proceeding to the next page in the sequence. At the end of the sequence, the user exits the dialog to send the relevant information back to the controlling application.
When a wizard frame is created, each page in the frame automatically has a Next and Back button to let the user navigate forward and backward through the sequence of pages.
In addition, if apply-button: is specified, an Apply button is displayed in the frame. By default, clicking on this button lets the user apply the changes made so far without dismissing the frame from the screen. If specified, the apply-callback: function is invoked when the Apply button is clicked.
The layout of a wizard frame is controlled using a <stack-layout>.
The following operations are exported from the DUIM-Frames module.
compute-next-page compute-previous-page dialog-back-button dialog-back-button-setter dialog-back-callback dialog-current-page dialog-current-page-setter dialog-next-button dialog-next-button-setter dialog-next-callback dialog-next-enabled? dialog-next-enabled?-setter dialog-next-page dialog-next-page-setter dialog-page-changed-callback dialog-page-changed-callback-setter dialog-page-complete? dialog-page-complete?-setter dialog-pages dialog-pages-setter dialog-previous-page dialog-previous-page-setter move-to-next-page move-to-previous-page
define frame <my-wizard> (<wizard-frame>)
pane name-pane (frame)
make(<text-field>);
pane organization-pane (frame)
make(<text-field>);
pane job-description-pane (frame)
make(<text-field>);
pane years-employed-pane (frame)
make(<text-field>, value-type: <integer>);
pane first-page-layout (frame)
make(<table-layout>,
columns: 2,
x-alignment: #(#"right", #"left"),
children: vector(make(<label>,
label: "Name:"),
frame.name-pane,
make(<label>,
label: "Organization:"),
frame.organization-pane));
pane second-page-layout (frame)
make(<table-layout>,
columns: 2,
x-alignment: #(#"right", #"left"),
children: vector
(make(<label>,
label: "Job Description:"),
frame.job-description-pane,
make(<label>,
label: "Years Employed:"),
frame.years-employed-pane));
pane first-page (frame)
make(<wizard-page>,
child: frame.first-page-layout);
pane second-page (frame)
make(<wizard-page>,
child: frame.second-page-layout);
pages (frame)
vector(frame.first-page, frame.second-page);
keyword title: = "My Wizard";
end frame <my-wizard>;