]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/combo.h
fixing wrong version commit
[wxWidgets.git] / interface / wx / combo.h
index 4e49a4386e0a3b0f3ec868abdb44093e08107ece..4a67cd784da88ce310e0ed5e6a286aa9c5b156c1 100644 (file)
@@ -56,6 +56,11 @@ public:
     */
     virtual wxSize GetAdjustedSize(int minWidth, int prefHeight, int maxHeight);
 
+    /**
+        Returns pointer to the associated parent wxComboCtrl.
+    */
+    wxComboCtrl* GetComboCtrl() const;
+
     /**
         The derived class must implement this to return pointer to the
         associated control created in Create().
@@ -131,11 +136,12 @@ public:
     */
     virtual void SetStringValue(const wxString& value);
 
+protected:
     /**
-        Parent wxComboCtrl. This is parameter has been prepared before Init()
-        is called.
+        Parent wxComboCtrl. This member variable is prepared automatically
+        before Init() is called.
     */
-    wxComboCtrl m_combo;
+    wxComboCtrl*    m_combo;
 };
 
 
@@ -153,7 +159,7 @@ struct wxComboCtrlFeatures
         BitmapButton    = 0x0002, ///< Button may be replaced with bitmap.
         ButtonSpacing   = 0x0004, ///< Button can have spacing from the edge
                                   ///< of the control.
-        TextIndent      = 0x0008, ///< wxComboCtrl::SetTextIndent() can be used.
+        TextIndent      = 0x0008, ///< wxComboCtrl::SetMargins() can be used.
         PaintControl    = 0x0010, ///< Combo control itself can be custom painted.
         PaintWritable   = 0x0020, ///< A variable-width area in front of writable
                                   ///< combo control's textctrl can be custom
@@ -298,6 +304,13 @@ struct wxComboCtrlFeatures
     @event{EVT_TEXT_ENTER(id, func)}
            Process a wxEVT_COMMAND_TEXT_ENTER event, when RETURN is pressed in
            the combo control.
+    @event{EVT_COMBOBOX_DROPDOWN(id, func)}
+           Process a wxEVT_COMMAND_COMBOBOX_DROPDOWN event, which is generated
+           when the popup window is shown (drops down).
+    @event{EVT_COMBOBOX_CLOSEUP(id, func)}
+           Process a wxEVT_COMMAND_COMBOBOX_CLOSEUP event, which is generated
+           when the popup window of the combo control disappears (closes up).
+           You should avoid adding or deleting items in this event.
     @endEventTable
 
     @library{wxbase}
@@ -326,9 +339,10 @@ public:
             Initial selection string. An empty string indicates no selection.
         @param pos
             Window position.
+            If ::wxDefaultPosition is specified then a default position is chosen.
         @param size
-            Window size. If wxDefaultSize is specified then the window is sized
-            appropriately.
+            Window size. 
+            If ::wxDefaultSize is specified then the window is sized appropriately.
         @param style
             Window style. See wxComboCtrl.
         @param validator
@@ -434,6 +448,15 @@ public:
     */
     static int GetFeatures();
 
+    /**
+        Returns the current hint string.
+
+        See SetHint() for more information about hints.
+
+        @since 2.9.1
+    */
+    virtual wxString GetHint() const;
+
     /**
         Returns the insertion point for the combo control's text field.
 
@@ -447,6 +470,19 @@ public:
     */
     virtual long GetLastPosition() const;
 
+    /**
+        Returns the margins used by the control. The @c x field of the returned
+        point is the horizontal margin and the @c y field is the vertical one.
+
+        @remarks If given margin cannot be accurately determined, its value
+                will be set to -1.
+
+        @see SetMargins()
+
+        @since 2.9.1
+    */
+    wxPoint GetMargins() const;
+
     /**
         Returns current popup interface that has been set with
         SetPopupControl().
@@ -465,6 +501,8 @@ public:
 
     /**
         Returns actual indentation in pixels.
+
+        @deprecated Use GetMargins() instead.
     */
     wxCoord GetTextIndent() const;
 
@@ -482,8 +520,12 @@ public:
 
     /**
         Dismisses the popup window.
+
+        @param generateEvent
+            Set this to @true in order to generate
+            wxEVT_COMMAND_COMBOBOX_CLOSEUP event.
     */
-    virtual void HidePopup();
+    virtual void HidePopup(bool generateEvent=false);
 
     /**
         Returns @true if the popup is currently shown
@@ -587,6 +629,18 @@ public:
     */
     void SetCustomPaintWidth(int width);
 
+    /**
+        Sets a hint shown in an empty unfocused combo control.
+
+        Notice that hints are known as <em>cue banners</em> under MSW or
+        <em>placeholder strings</em> under OS X.
+
+        @see wxTextEntry::SetHint()
+
+        @since 2.9.1
+    */
+    virtual void SetHint(const wxString& hint);
+
     /**
         Sets the insertion point in the text field.
 
@@ -600,6 +654,21 @@ public:
     */
     virtual void SetInsertionPointEnd();
 
+    //@{
+    /**
+        Attempts to set the control margins. When margins are given as wxPoint,
+        x indicates the left and y the top margin. Use -1 to indicate that
+        an existing value should be used.
+
+        @return
+            @true if setting of all requested margins was successful.
+
+        @since 2.9.1
+    */
+    bool SetMargins(const wxPoint& pt);
+    bool SetMargins(wxCoord left, wxCoord top = -1);
+    //@}
+
     /**
         Set side of the control to which the popup will align itself. Valid
         values are @c wxLEFT, @c wxRIGHT and 0. The default value 0 means that
@@ -669,6 +738,8 @@ public:
         This will set the space in pixels between left edge of the control and
         the text, regardless whether control is read-only or not. Value -1 can
         be given to indicate platform default.
+
+        @deprecated Use SetMargins() instead.
     */
     void SetTextIndent(int indent);