X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/674d80a76ff5db54cfb03de20853fba6d739832a..5b88a837ba75928cd3835a6b97ae2bf5ad983a6e:/interface/wx/frame.h diff --git a/interface/wx/frame.h b/interface/wx/frame.h index cf016028d8..82f283a3e8 100644 --- a/interface/wx/frame.h +++ b/interface/wx/frame.h @@ -31,15 +31,11 @@ @li @c wxEVT_SIZE: if the frame has exactly one child window, not counting the status and toolbar, this child is resized to take the entire frame client area. If two or more windows are present, they should be laid out explicitly either - by manually handling wxEVT_SIZE or using sizers; + by manually handling @c wxEVT_SIZE or using sizers; @li @c wxEVT_MENU_HIGHLIGHT: the default implementation displays the help string associated with the selected item in the first pane of the status bar, if there is one. - @section frame_styles - - wxFrame supports the following styles: - @beginStyleTable @style{wxDEFAULT_FRAME_STYLE} Defined as wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER | @@ -110,6 +106,26 @@ look. This is an extra style. @endExtraStyleTable + @beginEventEmissionTable + @event{EVT_CLOSE(func)} + The frame is being closed by the user or programmatically (see wxWindow::Close). + The user may generate this event clicking the close button + (typically the 'X' on the top-right of the title bar) if it's present + (see the @c wxCLOSE_BOX style). See wxCloseEvent. + @event{EVT_ICONIZE(func)} + Process a @c wxEVT_ICONIZE event. See wxIconizeEvent. + @event{EVT_MENU_OPEN(func)} + A menu is about to be opened. See wxMenuEvent. + @event{EVT_MENU_CLOSE(func)} + A menu has been just closed. See wxMenuEvent. + @event{EVT_MENU_HIGHLIGHT(id, func)} + The menu item with the specified id has been highlighted: used to show + help prompts in the status bar by wxFrame. See wxMenuEvent. + @event{EVT_MENU_HIGHLIGHT_ALL(func)} + A menu item has been highlighted, i.e. the currently selected menu item has changed. + See wxMenuEvent. + @endEventTable + @library{wxcore} @category{managedwnd} @@ -156,12 +172,14 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, - const wxString& name = "frame"); + const wxString& name = wxFrameNameStr); /** Destructor. Destroys all child windows and menu bar if present. + + See @ref overview_windowdeletion for more info. */ - ~wxFrame(); + virtual ~wxFrame(); /** Centres the frame on the display. @@ -175,12 +193,11 @@ public: Used in two-step frame construction. See wxFrame() for further details. */ - bool Create(wxWindow* parent, wxWindowID id, - const wxString& title, + bool Create(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, - const wxString& name = "frame"); + const wxString& name = wxFrameNameStr); /** Creates a status bar at the bottom of the frame. @@ -205,10 +222,9 @@ public: @see SetStatusText(), OnCreateStatusBar(), GetStatusBar() */ - virtual wxStatusBar* CreateStatusBar(int number = 1, - long style = 0, - wxWindowID id = -1, - const wxString& name = "statusBar"); + virtual wxStatusBar* CreateStatusBar(int number = 1, long style = wxSTB_DEFAULT_STYLE, + wxWindowID id = 0, + const wxString& name = wxStatusLineNameStr); /** Creates a toolbar at the top or left of the frame. @@ -224,38 +240,37 @@ public: @return A pointer to the toolbar if it was created successfully, @NULL otherwise. - @remarks By default, the toolbar is an instance of wxToolBar (which is - defined to be a suitable toolbar class on each - platform, such as wxToolBar95). To use a different - class, override OnCreateToolBar(). - When a toolbar has been created with this function, or made - known to the frame with wxFrame::SetToolBar, the frame will - manage the toolbar position and adjust the return value from - wxWindow::GetClientSize to reflect the available space for - application windows. - Under Pocket PC, you should always use this function for creating - the toolbar to be managed by the frame, so that wxWidgets can - use a combined menubar and toolbar. - Where you manage your own toolbars, create a wxToolBar as usual. + @remarks + By default, the toolbar is an instance of wxToolBar. + To use a different class, override OnCreateToolBar(). + When a toolbar has been created with this function, or made + known to the frame with wxFrame::SetToolBar(), the frame will + manage the toolbar position and adjust the return value from + wxWindow::GetClientSize() to reflect the available space for + application windows. + Under Pocket PC, you should always use this function for creating + the toolbar to be managed by the frame, so that wxWidgets can + use a combined menubar and toolbar. + Where you manage your own toolbars, create a wxToolBar as usual. @see CreateStatusBar(), OnCreateToolBar(), SetToolBar(), GetToolBar() */ virtual wxToolBar* CreateToolBar(long style = wxBORDER_NONE | wxTB_HORIZONTAL, - wxWindowID id = -1, - const wxString& name = "toolBar"); + wxWindowID id = wxID_ANY, + const wxString& name = wxToolBarNameStr); /** Returns the origin of the frame client area (in client coordinates). It may be different from (0, 0) if the frame has a toolbar. */ - wxPoint GetClientAreaOrigin() const; + virtual wxPoint GetClientAreaOrigin() const; /** Returns a pointer to the menubar currently associated with the frame (if any). @see SetMenuBar(), wxMenuBar, wxMenu */ - wxMenuBar* GetMenuBar() const; + virtual wxMenuBar* GetMenuBar() const; /** Returns a pointer to the status bar currently associated with the frame @@ -263,21 +278,21 @@ public: @see CreateStatusBar(), wxStatusBar */ - wxStatusBar* GetStatusBar() const; + virtual wxStatusBar* GetStatusBar() const; /** Returns the status bar pane used to display menu and toolbar help. @see SetStatusBarPane() */ - int GetStatusBarPane(); + int GetStatusBarPane() const; /** Returns a pointer to the toolbar currently associated with the frame (if any). @see CreateToolBar(), wxToolBar, SetToolBar() */ - wxToolBar* GetToolBar() const; + virtual wxToolBar* GetToolBar() const; /** Virtual function called when a status bar is requested by CreateStatusBar(). @@ -334,7 +349,7 @@ public: @param id The identifier for a menu item. */ - void ProcessCommand(int id); + bool ProcessCommand(int id); /** Tells the frame to show the given menu bar. @@ -353,14 +368,17 @@ public: @see GetMenuBar(), wxMenuBar, wxMenu. */ - void SetMenuBar(wxMenuBar* menuBar); + virtual void SetMenuBar(wxMenuBar* menuBar); /** Associates a status bar with the frame. + If @a statusBar is @NULL, then the status bar, if present, is detached from + the frame, but @e not deleted. + @see CreateStatusBar(), wxStatusBar, GetStatusBar() */ - void SetStatusBar(wxStatusBar* statusBar); + virtual void SetStatusBar(wxStatusBar* statusBar); /** Set the status bar pane used to display menu and toolbar help. @@ -388,7 +406,7 @@ public: @param n The number of fields in the status bar. It must be the same used in CreateStatusBar. - @param widths + @param widths_field Must contain an array of n integers, each of which is a status field width in pixels. A value of -1 indicates that the field is variable width; at least one field must be -1. You should delete this array after calling @@ -398,11 +416,11 @@ public: width of all fields, minus the sum of widths of the non-variable fields, divided by the number of variable fields. */ - virtual void SetStatusWidths(int n, int* widths); + virtual void SetStatusWidths(int n, const int* widths_field); /** Associates a toolbar with the frame. */ - void SetToolBar(wxToolBar* toolBar); + virtual void SetToolBar(wxToolBar* toolBar); };