]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/statusbr.h
no real change; just add the standard separator where it's missing
[wxWidgets.git] / interface / wx / statusbr.h
index 96705fe3782085b4f466e607a693f0c8c0e8849c..d97648ead8e3873ffaa1a018c6cc1fe7ff9979df 100644 (file)
@@ -6,6 +6,46 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
+/**
+    @class wxStatusBarPane
+    
+    A status bar pane data container used by wxStatusBar.
+
+    @library{wxcore}
+    @category{data}
+
+    @see wxStatusBar
+*/
+class wxStatusBarPane
+{
+public:
+    /**
+        Constructs the pane with the given @a style and @a width.
+    */
+    wxStatusBarPane(int style = wxSB_NORMAL, size_t width = 0);
+        
+    /**
+        Returns the pane width; it maybe negative, indicating a variable-width field.
+    */
+    int GetWidth() const;
+    
+    /**
+        Returns the pane style.
+    */
+    int GetStyle() const;
+    
+    /**
+        Returns the stack of strings pushed on this pane.
+        
+        Note that this stack does include also the string currently displayed in this pane
+        as the version stored in the native status bar control is possibly ellipsized.
+        
+        Also note that GetStack().Last() is the top of the stack (i.e. the string shown 
+        in the status bar).
+    */
+    const wxArrayString& GetStack() const;
+};
+
 /**
     @class wxStatusBar
 
@@ -25,7 +65,7 @@
     @library{wxcore}
     @category{miscwnd}
 
-    @see wxFrame, @ref page_samples_statbar
+    @see wxStatusBarPane, wxFrame, @ref page_samples_statbar
 */
 class wxStatusBar : public wxWindow
 {
@@ -82,12 +122,17 @@ public:
         @see wxRect
     */
     virtual bool GetFieldRect(int i, wxRect& rect) const;
-
+    
     /**
-        Returns the number of fields in the status bar.
+        Returns the number of fields in the status bar. 
     */
     int GetFieldsCount() const;
-
+    
+    /**
+        Returns the wxStatusBarPane representing the @a n-th field.
+    */
+    const wxStatusBarPane& GetField(int n) const;
+    
     /**
         Returns the string associated with a status bar field.
 
@@ -101,6 +146,28 @@ public:
     */
     virtual wxString GetStatusText(int i = 0) const;
 
+    /**
+        Returns the stack of strings pushed (see PushStatusText()) on the
+        @a n-th field.
+        
+        See wxStatusBarPane::GetStack() for more info.
+    */
+    const wxArrayString& GetStatusStack(int n) const;
+
+    /**
+        Returns the width of the @a n-th field.
+        
+        See wxStatusBarPane::GetWidth() for more info.
+    */
+    int GetStatusWidth(int n) const;
+
+    /**
+        Returns the style of the @a n-th field.
+        
+        See wxStatusBarPane::GetStyle() for more info.
+    */
+    int GetStatusStyle(int n) const;
+        
     /**
         Sets the field text to the top of the stack, and pops the stack of saved
         strings.
@@ -112,8 +179,8 @@ public:
     /**
         Saves the current field text in a per field stack, and sets the field text
         to the string passed as argument.
-               
-               @see PopStatusText()
+
+        @see PopStatusText()
     */
     void PushStatusText(const wxString& string, int field = 0);
 
@@ -121,7 +188,8 @@ public:
         Sets the number of fields, and optionally the field widths.
 
         @param number
-            The number of fields.
+            The number of fields. If this is greater than the previous number,
+            then new fields with empty strings will be added to the status bar.
         @param widths
             An array of n integers interpreted in the same way as
             in SetStatusWidths().
@@ -184,7 +252,7 @@ public:
             Contains an array of n integers, each of which is either an
             absolute status field width in pixels if positive or indicates a
             variable width field if negative.
-                       The special value @NULL means that all fields should get the same width.
+            The special value @NULL means that all fields should get the same width.
 
         @remarks The widths of the variable fields are calculated from the total
                  width of all fields, minus the sum of widths of the