Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

wxDialog (3erl)

Name

wxDialog - Functions for wxDialog class

Synopsis

Please see following description for synopsis

Description

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)