]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/combo.h
Unselect all wxDataViewCtrl items when clicking outside of the item area.
[wxWidgets.git] / include / wx / combo.h
index fe70aaa2c2c9c3a90a806e86a13a69a91b3b795b..76bf25f53276dc221cad2efcd72ba838a7ce81ec 100644 (file)
@@ -87,7 +87,7 @@ enum
     wxCC_IFLAG_CREATED              = 0x0100,
     // Internal use: really put button outside
     wxCC_IFLAG_BUTTON_OUTSIDE       = 0x0200,
     wxCC_IFLAG_CREATED              = 0x0100,
     // Internal use: really put button outside
     wxCC_IFLAG_BUTTON_OUTSIDE       = 0x0200,
-    // Internal use: SetMargins has been succesfully called
+    // Internal use: SetMargins has been successfully called
     wxCC_IFLAG_LEFT_MARGIN_SET      = 0x0400,
     // Internal use: Set wxTAB_TRAVERSAL to parent when popup is dismissed
     wxCC_IFLAG_PARENT_TAB_TRAVERSAL = 0x0800,
     wxCC_IFLAG_LEFT_MARGIN_SET      = 0x0400,
     // Internal use: Set wxTAB_TRAVERSAL to parent when popup is dismissed
     wxCC_IFLAG_PARENT_TAB_TRAVERSAL = 0x0800,
@@ -541,7 +541,10 @@ protected:
     void DestroyPopup();
 
     // override the base class virtuals involved in geometry calculations
     void DestroyPopup();
 
     // override the base class virtuals involved in geometry calculations
+    // The common version only sets a default width, so the derived classes
+    // should override it and set the height and change the width as needed.
     virtual wxSize DoGetBestSize() const;
     virtual wxSize DoGetBestSize() const;
+    virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
 
     // also set the embedded wxTextCtrl colours
     virtual bool SetForegroundColour(const wxColour& colour);
 
     // also set the embedded wxTextCtrl colours
     virtual bool SetForegroundColour(const wxColour& colour);
@@ -560,7 +563,8 @@ protected:
 
     // Standard textctrl positioning routine. Just give it platform-dependant
     // textctrl coordinate adjustment.
 
     // Standard textctrl positioning routine. Just give it platform-dependant
     // textctrl coordinate adjustment.
-    virtual void PositionTextCtrl( int textCtrlXAdjust, int textCtrlYAdjust );
+    virtual void PositionTextCtrl( int textCtrlXAdjust = 0,
+                                   int textCtrlYAdjust = 0);
 
     // event handlers
     void OnSizeEvent( wxSizeEvent& event );
 
     // event handlers
     void OnSizeEvent( wxSizeEvent& event );
@@ -641,7 +645,7 @@ protected:
     // main (ie. topmost) window of a composite control (default = this)
     wxWindow*               m_mainCtrlWnd;
 
     // main (ie. topmost) window of a composite control (default = this)
     wxWindow*               m_mainCtrlWnd;
 
-    // used to prevent immediate re-popupping incase closed popup
+    // used to prevent immediate re-popupping in case closed popup
     // by clicking on the combo control (needed because of inconsistent
     // transient implementation across platforms).
     wxLongLong              m_timeCanAcceptClick;
     // by clicking on the combo control (needed because of inconsistent
     // transient implementation across platforms).
     wxLongLong              m_timeCanAcceptClick;
@@ -674,7 +678,7 @@ protected:
     wxRect                  m_tcArea;
     wxRect                  m_btnArea;
 
     wxRect                  m_tcArea;
     wxRect                  m_btnArea;
 
-    // Colour of the the text area, in case m_text is NULL
+    // Colour of the text area, in case m_text is NULL
     wxColour                m_tcBgCol;
 
     // current button state (uses renderer flags)
     wxColour                m_tcBgCol;
 
     // current button state (uses renderer flags)
@@ -713,6 +717,9 @@ protected:
     // should the focus be reset to the textctrl in idle time?
     bool                    m_resetFocus;
 
     // should the focus be reset to the textctrl in idle time?
     bool                    m_resetFocus;
 
+    // is the text-area background colour overridden?
+    bool                    m_hasTcBgCol;
+
 private:
     void Init();
 
 private:
     void Init();
 
@@ -764,6 +771,13 @@ public:
     // Return true for success.
     virtual bool Create(wxWindow* parent) = 0;
 
     // Return true for success.
     virtual bool Create(wxWindow* parent) = 0;
 
+    // Calls Destroy() for the popup control (i.e. one returned by
+    // GetControl()) and makes sure that 'this' is deleted at the end.
+    // Default implementation works for both cases where popup control
+    // class is multiple inherited or created on heap as a separate
+    // object.
+    virtual void DestroyPopup();
+
     // We must have an associated control which is subclassed by the combobox.
     virtual wxWindow *GetControl() = 0;
 
     // We must have an associated control which is subclassed by the combobox.
     virtual wxWindow *GetControl() = 0;