]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/pickerbase.h
fix wxBitmapComboBox Gtk-CRITICAL assertion `GTK_IS_ENTRY (entry)' failed
[wxWidgets.git] / include / wx / pickerbase.h
index e6a441fc265d7e15512226aee01a40f632f0257b..8b9be3dd0fece0e00846be0fb68b0e7a57bcf985 100644 (file)
 
 #include "wx/control.h"
 #include "wx/sizer.h"
 
 #include "wx/control.h"
 #include "wx/sizer.h"
+#include "wx/containr.h"
 
 
-class WXDLLIMPEXP_CORE wxTextCtrl;
+class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
+class WXDLLIMPEXP_FWD_CORE wxToolTip;
 
 
-extern WXDLLEXPORT_DATA(const wxChar) wxButtonNameStr[];
+extern WXDLLIMPEXP_DATA_CORE(const char) wxButtonNameStr[];
 
 // ----------------------------------------------------------------------------
 // wxPickerBase is the base class for the picker controls which support
 
 // ----------------------------------------------------------------------------
 // wxPickerBase is the base class for the picker controls which support
@@ -29,13 +31,14 @@ extern WXDLLEXPORT_DATA(const wxChar) wxButtonNameStr[];
 // ----------------------------------------------------------------------------
 
 #define wxPB_USE_TEXTCTRL           0x0002
 // ----------------------------------------------------------------------------
 
 #define wxPB_USE_TEXTCTRL           0x0002
+#define wxPB_SMALL                  0x8000
 
 
-class WXDLLIMPEXP_CORE wxPickerBase : public wxControl
+class WXDLLIMPEXP_CORE wxPickerBase : public wxNavigationEnabled<wxControl>
 {
 public:
     // ctor: text is the associated text control
     wxPickerBase() : m_text(NULL), m_picker(NULL), m_sizer(NULL)
 {
 public:
     // ctor: text is the associated text control
     wxPickerBase() : m_text(NULL), m_picker(NULL), m_sizer(NULL)
-        { m_container.SetContainerWindow(this); }
+        { }
     virtual ~wxPickerBase() {}
 
 
     virtual ~wxPickerBase() {}
 
 
@@ -48,9 +51,7 @@ public:
                     const wxSize& size = wxDefaultSize,
                     long style = 0,
                     const wxValidator& validator = wxDefaultValidator,
                     const wxSize& size = wxDefaultSize,
                     long style = 0,
                     const wxValidator& validator = wxDefaultValidator,
-                    const wxString& name = wxButtonNameStr,
-                    long textstyle = 0);
-
+                    const wxString& name = wxButtonNameStr);
 
 public:     // public API
 
 
 public:     // public API
 
@@ -105,20 +106,27 @@ public:     // public API
     wxControl *GetPickerCtrl()
         { return m_picker; }
 
     wxControl *GetPickerCtrl()
         { return m_picker; }
 
-public:     // methods that derived class must/may override
+    void SetTextCtrl(wxTextCtrl* text)
+        { m_text = text; }
+    void SetPickerCtrl(wxControl* picker)
+        { m_picker = picker; }
 
 
+    // methods that derived class must/may override
     virtual void UpdatePickerFromTextCtrl() = 0;
     virtual void UpdateTextCtrlFromPicker() = 0;
 
     virtual void UpdatePickerFromTextCtrl() = 0;
     virtual void UpdateTextCtrlFromPicker() = 0;
 
-protected:        // utility functions
+protected:
+    // overridden base class methods
+#if wxUSE_TOOLTIPS
+    virtual void DoSetToolTip(wxToolTip *tip);
+#endif // wxUSE_TOOLTIPS
+
 
     // event handlers
     void OnTextCtrlDelete(wxWindowDestroyEvent &);
     void OnTextCtrlUpdate(wxCommandEvent &);
     void OnTextCtrlKillFocus(wxFocusEvent &);
 
 
     // event handlers
     void OnTextCtrlDelete(wxWindowDestroyEvent &);
     void OnTextCtrlUpdate(wxCommandEvent &);
     void OnTextCtrlKillFocus(wxFocusEvent &);
 
-    void OnSize(wxSizeEvent &);
-
     // returns the set of styles for the attached wxTextCtrl
     // from given wxPickerBase's styles
     virtual long GetTextCtrlStyle(long style) const
     // returns the set of styles for the attached wxTextCtrl
     // from given wxPickerBase's styles
     virtual long GetTextCtrlStyle(long style) const
@@ -174,10 +182,6 @@ protected:
 
 private:
     DECLARE_ABSTRACT_CLASS(wxPickerBase)
 
 private:
     DECLARE_ABSTRACT_CLASS(wxPickerBase)
-    DECLARE_EVENT_TABLE()
-
-    // This class must be something just like a panel...
-    WX_DECLARE_CONTROL_CONTAINER();
 };
 
 
 };