]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/combobox.h
adding a more extensive version to arrive at the impl when given a native control...
[wxWidgets.git] / include / wx / osx / combobox.h
index d8e5c186e4442bb69d625527c05a63348ba0d3b3..05c14a96aa5ca69e8301db02ecf9090fcb7371d0 100644 (file)
@@ -25,7 +25,14 @@ class wxComboBoxChoice;
 class wxComboWidgetImpl;
 
 // Combobox item
-class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase
+class WXDLLIMPEXP_CORE wxComboBox :
+    public wxWindowWithItems<
+#if wxOSX_USE_CARBON
+                wxNavigationEnabled<wxControl>,
+#else
+                wxControl,
+#endif
+                wxComboBoxBase>
 {
     DECLARE_DYNAMIC_CLASS(wxComboBox)
 
@@ -42,7 +49,7 @@ class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase
     virtual void DelegateTextChanged( const wxString& value );
     virtual void DelegateChoice( const wxString& value );
 
-    wxComboBox() { Init(); }
+    wxComboBox() { }
 
     wxComboBox(wxWindow *parent, wxWindowID id,
            const wxString& value = wxEmptyString,
@@ -53,7 +60,6 @@ class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase
            const wxValidator& validator = wxDefaultValidator,
            const wxString& name = wxComboBoxNameStr)
     {
-        Init();
         Create(parent, id, value, pos, size, n, choices, style, validator, name);
     }
 
@@ -66,7 +72,6 @@ class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase
            const wxValidator& validator = wxDefaultValidator,
            const wxString& name = wxComboBoxNameStr)
     {
-        Init();
         Create(parent, id, value, pos, size, choices, style, validator, name);
     }
 
@@ -134,25 +139,20 @@ class WXDLLIMPEXP_CORE wxComboBox : public wxControl, public wxComboBoxBase
     virtual wxTextWidgetImpl* GetTextPeer() const;
 #endif // wxOSX_USE_CARBON
 
+#if wxOSX_USE_COCOA
+    virtual void Popup();
+    virtual void Dismiss();
+#endif // wxOSX_USE_COCOA
 
 
     // osx specific event handling common for all osx-ports
 
     virtual bool        OSXHandleClicked( double timestampsec );
 
-#if wxOSX_USE_CARBON
-    wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
-
-    WX_DECLARE_CONTROL_CONTAINER();
-#endif
-
 #if wxOSX_USE_COCOA
     wxComboWidgetImpl* GetComboPeer() const;
 #endif
 protected:
-    // common part of all ctors
-    void Init();
-
     // List functions
     virtual void DoDeleteOneItem(unsigned int n);
     virtual void DoClear();
@@ -187,10 +187,6 @@ protected:
     wxComboBoxChoice*   m_choice;
 
     wxComboBoxDataArray m_datas;
-
-#if wxOSX_USE_CARBON
-    DECLARE_EVENT_TABLE()
-#endif
 };
 
 #endif // _WX_COMBOBOX_H_