X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/15840e670eb3dd332cb8a36b10d1af87aa301770..e4821c39c43133f7b48588a51d96cfdfeff79f6f:/interface/wx/frame.h diff --git a/interface/wx/frame.h b/interface/wx/frame.h index aad65984d5..55fafa7218 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 | @@ -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,8 +172,8 @@ 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, @@ -187,16 +189,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 @@ -213,63 +214,70 @@ public: 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"); /** - 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 +336,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 +346,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 +391,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); /** Associates a toolbar with the frame. */ - void SetToolBar(wxToolBar* toolBar); + virtual void SetToolBar(wxToolBar* toolBar); };