]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/frame.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / frame.h
index 2e88233fd5e4ed6a7b2319de49a3e5b33fb3c952..ae4a9b0ff58972f004ffece17cfdfd3492690d3e 100644 (file)
@@ -2,10 +2,17 @@
 // Name:        frame.h
 // Purpose:     interface of wxFrame
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+/**
+   Frame specific styles
+*/
+#define wxFRAME_NO_TASKBAR      0x0002  // No taskbar button (MSW only)
+#define wxFRAME_TOOL_WINDOW     0x0004  // No taskbar button, no system menu
+#define wxFRAME_FLOAT_ON_PARENT 0x0008  // Always above its parent
+
+
 /**
     @class wxFrame
 
     @style{wxICONIZE}
            Display the frame iconized (minimized). Windows only.
     @style{wxCAPTION}
-           Puts a caption on the frame.
+           Puts a caption on the frame. Notice that this flag is required by
+           wxMINIMIZE_BOX, wxMAXIMIZE_BOX and wxCLOSE_BOX on most systems as
+           the corresponding buttons cannot be shown if the window has no title
+           bar at all. I.e. if wxCAPTION is not specified those styles would be
+           simply ignored.
     @style{wxMINIMIZE}
            Identical to wxICONIZE. Windows only.
     @style{wxMINIMIZE_BOX}
     @style{wxMAXIMIZE}
            Displays the frame maximized. Windows and GTK+ only.
     @style{wxMAXIMIZE_BOX}
-           Displays a maximize box on the frame.
+           Displays a maximize box on the frame. Notice that under wxGTK
+           wxRESIZE_BORDER must be used as well or this style is ignored.
     @style{wxCLOSE_BOX}
            Displays a close box on the frame.
     @style{wxSTAY_ON_TOP}
            Stay on top of all other windows, see also wxFRAME_FLOAT_ON_PARENT.
     @style{wxSYSTEM_MENU}
-           Displays a system menu.
+           Displays a system menu containing the list of various windows
+           commands in the window title bar. Unlike wxMINIMIZE_BOX,
+           wxMAXIMIZE_BOX and wxCLOSE_BOX styles this style can be used without
+           wxCAPTION, at least under Windows, and makes the system menu
+           available without showing it on screen in this case. However it is
+           recommended to only use it together with wxCAPTION for consistent
+           behaviour under all platforms.
     @style{wxRESIZE_BORDER}
-           Displays a resizeable border around the window.
+           Displays a resizable border around the window.
     @style{wxFRAME_TOOL_WINDOW}
-           Causes a frame with a small titlebar to be created; the frame does
+           Causes a frame with a small title bar to be created; the frame does
            not appear in the taskbar under Windows or GTK+.
     @style{wxFRAME_NO_TASKBAR}
            Creates an otherwise normal frame but it does not appear in the
            taskbar under Windows or GTK+ (note that it will minimize to the
            desktop window under Windows which may seem strange to the users
            and thus it might be better to use this style only without
-           wxMINIMIZE_BOX style). In wxGTK, the flag is respected only if GTK+
-           is at least version 2.2 and the window manager supports
-           _NET_WM_STATE_SKIP_TASKBAR hint. Has no effect under other platforms.
+           wxMINIMIZE_BOX style). In wxGTK, the flag is respected only if the
+           window manager supports _NET_WM_STATE_SKIP_TASKBAR hint.
     @style{wxFRAME_FLOAT_ON_PARENT}
            The frame will always be on top of its parent (unlike wxSTAY_ON_TOP).
            A frame created with this style must have a non-@NULL parent.
     @style{wxFRAME_SHAPED}
-           Windows with this style are   allowed to have their shape changed
+           Windows with this style are allowed to have their shape changed
            with the SetShape() method.
     @endStyleTable
 
-    The default frame style is for normal, resizeable frames.
-    To create a frame which can not be resized by user, you may use the following
+    The default frame style is for normal, resizable frames.
+    To create a frame which cannot be resized by user, you may use the following
     combination of styles:
 
     @code
     @style{wxFRAME_EX_CONTEXTHELP}
            Under Windows, puts a query button on the caption. When pressed,
            Windows will go into a context-sensitive help mode and wxWidgets
-           will send a wxEVT_HELP event if the user clicked on an application
+           will send a @c wxEVT_HELP event if the user clicked on an application
            window. Note that this is an extended style and must be set by
            calling SetExtraStyle before Create is called (two-step
            construction). You cannot use this style together with
 
     @beginEventEmissionTable
     @event{EVT_CLOSE(func)}
-        The frame is being closed by the user or programmatically (see wxWindow::Close).
+        Process a @c wxEVT_CLOSE_WINDOW event when 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.
@@ -224,7 +242,7 @@ public:
     */
     virtual wxStatusBar* CreateStatusBar(int number = 1, long style = wxSTB_DEFAULT_STYLE,
                                          wxWindowID id = 0,
-                                         const wxString& name = wxStatusLineNameStr);
+                                         const wxString& name = wxStatusBarNameStr);
 
     /**
         Creates a toolbar at the top or left of the frame.
@@ -255,7 +273,7 @@ public:
 
         @see CreateStatusBar(), OnCreateToolBar(), SetToolBar(), GetToolBar()
     */
-    virtual wxToolBar* CreateToolBar(long style = wxBORDER_NONE | wxTB_HORIZONTAL,
+    virtual wxToolBar* CreateToolBar(long style = wxTB_DEFAULT_STYLE,
                                      wxWindowID id = wxID_ANY,
                                      const wxString& name = wxToolBarNameStr);
 
@@ -426,5 +444,10 @@ public:
         Associates a toolbar with the frame.
     */
     virtual void SetToolBar(wxToolBar* toolBar);
+
+
+    void PushStatusText(const wxString &text, int number = 0);
+    void PopStatusText(int number = 0);
+
 };