wxDialog - Functions for wxDialog class
Please see following description for synopsis
wxDialog(3) Erlang Module Definition wxDialog(3)
NAME
wxDialog - Functions for wxDialog class
DESCRIPTION
A dialog box is a window with a title bar and sometimes a system menu,
which can be moved around the screen. It can contain controls and other
windows and is often used to allow the user to make some choice or to
answer a question.
Dialogs can be made scrollable, automatically, for computers with low
resolution screens: please see overview_dialog_autoscrolling for fur-
ther details.
Dialogs usually contain either a single button allowing to close the
dialog or two buttons, one accepting the changes and the other one dis-
carding them (such button, if present, is automatically activated if
the user presses the "Esc" key). By default, buttons with the standard
wxID_OK and wxID_CANCEL identifiers behave as expected. Starting with
wxWidgets 2.7 it is also possible to use a button with a different
identifier instead, see setAffirmativeId/2 and SetEscapeId() (not
implemented in wx).
Also notice that the createButtonSizer/2 should be used to create the
buttons appropriate for the current platform and positioned correctly
(including their order which is platform-dependent).
Modal and Modeless
There are two kinds of dialog, modal and modeless. A modal dialog
blocks program flow and user input on other windows until it is dis-
missed, whereas a modeless dialog behaves more like a frame in that
program flow continues, and input in other windows is still possible.
To show a modal dialog you should use the showModal/1 method while to
show a dialog modelessly you simply use show/2, just as with frames.
Note that the modal dialog is one of the very few examples of wxWindow-
derived objects which may be created on the stack and not on the heap.
In other words, while most windows would be created like this:
You can achieve the same result with dialogs by using simpler code:
An application can define a wxCloseEvent handler for the dialog to
respond to system close events.
Styles
This class supports the following styles:
See: Overview dialog, wxFrame, Overview validator
This class is derived (and can use functions) from: wxTopLevelWindow
wxWindow wxEvtHandler
wxWidgets docs: wxDialog
EVENTS
Event types emitted from this class: close_window, init_dialog
DATA TYPES
wxDialog() = wx:wx_object()
EXPORTS
new() -> wxDialog()
Default constructor.
new(Parent, Id, Title) -> wxDialog()
Types:
Parent = wxWindow:wxWindow()
Id = integer()
Title = unicode:chardata()
new(Parent, Id, Title, Options :: [Option]) -> wxDialog()
Types:
Parent = wxWindow:wxWindow()
Id = integer()
Title = unicode:chardata()
Option =
{pos, {X :: integer(), Y :: integer()}} |
{size, {W :: integer(), H :: integer()}} |
{style, integer()}
Constructor.
See: create/5
destroy(This :: wxDialog()) -> ok
Destructor.
Deletes any child windows before deleting the physical window.
See overview_windowdeletion for more info.
create(This, Parent, Id, Title) -> boolean()
Types:
This = wxDialog()
Parent = wxWindow:wxWindow()
Id = integer()
Title = unicode:chardata()
create(This, Parent, Id, Title, Options :: [Option]) -> boolean()
Types:
This = wxDialog()
Parent = wxWindow:wxWindow()
Id = integer()
Title = unicode:chardata()
Option =
{pos, {X :: integer(), Y :: integer()}} |
{size, {W :: integer(), H :: integer()}} |
{style, integer()}
Used for two-step dialog box construction.
See: new/4
createButtonSizer(This, Flags) -> wxSizer:wxSizer()
Types:
This = wxDialog()
Flags = integer()
Creates a sizer with standard buttons.
flags is a bit list of the following flags: wxOK, wxCANCEL,
wxYES, wxNO, wxAPPLY, wxCLOSE, wxHELP, wxNO_DEFAULT.
The sizer lays out the buttons in a manner appropriate to the
platform.
This function uses createStdDialogButtonSizer/2 internally for
most platforms but doesn't create the sizer at all for the plat-
forms with hardware buttons (such as smartphones) for which it
sets up the hardware buttons appropriately and returns NULL, so
don't forget to test that the return value is valid before using
it.
createStdDialogButtonSizer(This, Flags) ->
wxStdDialogButtonSizer:wxStdDialogButtonSizer()
Types:
This = wxDialog()
Flags = integer()
Creates a wxStdDialogButtonSizer with standard buttons.
flags is a bit list of the following flags: wxOK, wxCANCEL,
wxYES, wxNO, wxAPPLY, wxCLOSE, wxHELP, wxNO_DEFAULT.
The sizer lays out the buttons in a manner appropriate to the
platform.
endModal(This, RetCode) -> ok
Types:
This = wxDialog()
RetCode = integer()
Ends a modal dialog, passing a value to be returned from the
showModal/1 invocation.
See: showModal/1, getReturnCode/1, setReturnCode/2
getAffirmativeId(This) -> integer()
Types:
This = wxDialog()
Gets the identifier of the button which works like standard OK
button in this dialog.
See: setAffirmativeId/2
getReturnCode(This) -> integer()
Types:
This = wxDialog()
Gets the return code for this window.
Remark: A return code is normally associated with a modal dia-
log, where showModal/1 returns a code to the application.
See: setReturnCode/2, showModal/1, endModal/2
isModal(This) -> boolean()
Types:
This = wxDialog()
Returns true if the dialog box is modal, false otherwise.
setAffirmativeId(This, Id) -> ok
Types:
This = wxDialog()
Id = integer()
Sets the identifier to be used as OK button.
When the button with this identifier is pressed, the dialog
calls wxWindow:validate/1 and wxWindow:transferDataFromWindow/1
and, if they both return true, closes the dialog with the affir-
mative id return code.
Also, when the user presses a hardware OK button on the devices
having one or the special OK button in the PocketPC title bar,
an event with this id is generated.
By default, the affirmative id is wxID_OK.
See: getAffirmativeId/1, SetEscapeId() (not implemented in wx)
setReturnCode(This, RetCode) -> ok
Types:
This = wxDialog()
RetCode = integer()
Sets the return code for this window.
A return code is normally associated with a modal dialog, where
showModal/1 returns a code to the application. The function end-
Modal/2 calls setReturnCode/2.
See: getReturnCode/1, showModal/1, endModal/2
show(This) -> boolean()
Types:
This = wxDialog()
show(This, Options :: [Option]) -> boolean()
Types:
This = wxDialog()
Option = {show, boolean()}
Hides or shows the dialog.
The preferred way of dismissing a modal dialog is to use end-
Modal/2.
showModal(This) -> integer()
Types:
This = wxDialog()
Shows an application-modal dialog.
Program flow does not return until the dialog has been dismissed
with endModal/2.
Notice that it is possible to call showModal/1 for a dialog
which had been previously shown with show/2, this allows making
an existing modeless dialog modal. However showModal/1 can't be
called twice without intervening endModal/2 calls.
Note that this function creates a temporary event loop which
takes precedence over the application's main event loop (see
wxEventLoopBase (not implemented in wx)) and which is destroyed
when the dialog is dismissed. This also results in a call to
wxApp::ProcessPendingEvents() (not implemented in wx).
Return: The value set with setReturnCode/2.
See: ShowWindowModal() (not implemented in wx), ShowWindow-
ModalThenDo() (not implemented in wx), endModal/2, getReturn-
Code/1, setReturnCode/2
wxWidgets team. wx 2.1.1 wxDialog(3)