X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..5267aefd85739afd26bd19bfba998005119db446:/interface/wx/frame.h?ds=sidebyside diff --git a/interface/wx/frame.h b/interface/wx/frame.h index 740f057859..e9c4e1a6af 100644 --- a/interface/wx/frame.h +++ b/interface/wx/frame.h @@ -24,7 +24,7 @@ data and subwindows can be cleaned up. - @section wxframe_defaultevent Default event processing + @section frame_defaultevent Default event processing wxFrame processes the following events: @@ -36,6 +36,10 @@ 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 | @@ -84,7 +88,7 @@ combination of styles: @code - wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxRESIZE_BOX | wxMAXIMIZE_BOX) + wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX) @endcode See also the @ref overview_windowstyles. @@ -114,7 +118,11 @@ class wxFrame : public wxTopLevelWindow { public: - //@{ + /** + Default constructor. + */ + wxFrame(); + /** Constructor, creating the window. @@ -122,44 +130,38 @@ public: The window parent. This may be @NULL. If it is non-@NULL, the frame will always be displayed on top of the parent window on Windows. @param id - The window identifier. It may take a value of -1 to indicate a default - value. + The window identifier. It may take a value of -1 to indicate a default value. @param title The caption to be displayed on the frame's title bar. @param pos The window position. The value wxDefaultPosition indicates a default position, - chosen by - either the windowing system or wxWidgets, depending on platform. + chosen by either the windowing system or wxWidgets, depending on platform. @param size The window size. The value wxDefaultSize indicates a default size, chosen by either the windowing system or wxWidgets, depending on platform. @param style - The window style. See wxFrame. + The window style. See wxFrame class description. @param name - The name of the window. This parameter is used to associate a name with the - item, - allowing the application user to set Motif resource values for + The name of the window. This parameter is used to associate a name with + the item, allowing the application user to set Motif resource values for individual windows. @remarks For Motif, MWM (the Motif Window Manager) should be running for - any window styles to work (otherwise all styles take - effect). + any window styles to work (otherwise all styles take effect). @see Create() */ - wxFrame(); wxFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"); - //@} /** Destructor. Destroys all child windows and menu bar if present. */ - ~wxFrame(); + virtual ~wxFrame(); /** Centres the frame on the display. @@ -170,15 +172,14 @@ public: void Centre(int direction = wxBOTH); /** - Used in two-step frame construction. See wxFrame() - for further details. + 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. @@ -187,16 +188,15 @@ public: The number of fields to create. Specify a value greater than 1 to create a multi-field status bar. @param style - The status bar style. See wxStatusBar for a list - of valid styles. + The status bar style. See wxStatusBar for a list of valid styles. @param id - The status bar window identifier. If -1, an identifier will be chosen by - wxWidgets. + The status bar window identifier. If -1, an identifier will be chosen + by wxWidgets. @param name The status bar window name. @return A pointer to the status bar if it was created successfully, @NULL - otherwise. + otherwise. @remarks The width of the status bar is the whole width of the frame (adjusted automatically when resizing), and the height @@ -204,72 +204,78 @@ 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 = wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE, + wxWindowID id = 0, + const wxString& name = wxStatusLineNameStr); /** Creates a toolbar at the top or left of the frame. @param style - The toolbar style. See wxToolBar for a list - of valid styles. + The toolbar style. See wxToolBar for a list of valid styles. @param id - The toolbar window identifier. If -1, an identifier will be chosen by - wxWidgets. + The toolbar window identifier. If -1, an identifier will be chosen + by wxWidgets. @param name The toolbar window name. @return A pointer to the toolbar if it was created successfully, @NULL - otherwise. + 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(). - - @see CreateStatusBar(), OnCreateToolBar(), SetToolBar(), - GetToolBar() + 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. + 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 (if - any). + Returns a pointer to the status bar currently associated with the frame + (if any). @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(). @@ -328,17 +334,6 @@ public: */ void ProcessCommand(int id); - /** - This function sends a dummy @ref overview_wxsizeevent "size event" to the frame - forcing it to reevaluate its children positions. It is sometimes useful to call - this function after adding or deleting a children after the frame creation or - if a child size changes. - Note that if the frame is using either sizers or constraints for the children - layout, it is enough to call wxWindow::Layout directly and - this function should not be used in this case. - */ - void SendSizeEvent(); - /** Tells the frame to show the given menu bar. @@ -349,17 +344,21 @@ public: destroyed also, so do not delete the menu bar explicitly (except by resetting the frame's menu bar to another frame or @NULL). + Under Windows, a size event is generated, so be sure to + initialize data members properly before calling SetMenuBar(). + Note that on some platforms, it is not possible to call this + function twice for the same frame object. @see GetMenuBar(), wxMenuBar, wxMenu. */ - void SetMenuBar(wxMenuBar* menuBar); + virtual void SetMenuBar(wxMenuBar* menuBar); /** Associates a status bar with the frame. @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. @@ -390,20 +389,18 @@ public: @param widths 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 - SetStatusWidths. + least one field must be -1. You should delete this array after calling + SetStatusWidths(). @remarks The widths of the variable fields are calculated from the total width of all fields, minus the sum of widths of the - non-variable fields, divided by the number of variable - fields. + 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); };