down list, not just a wxListBox.
So we define a base wxComboControl which can use any control as pop down
- list and wxComboBox deriving from it which implements the standard wxWindows
+ list and wxComboBox deriving from it which implements the standard wxWidgets
combobox API. wxComboControl needs to be told somehow which control to use
and this is done by SetPopupControl(). However, we need something more than
just a wxControl in this method as, for example, we need to call
#ifndef _WX_UNIV_COMBOBOX_H_
#define _WX_UNIV_COMBOBOX_H_
-#ifdef __GNUG__
- #pragma implementation "combobox.h"
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+ #pragma interface "univcombobox.h"
#endif
class WXDLLEXPORT wxComboControl;
// called immediately after the control is shown
virtual void OnShow() = 0;
+ virtual wxCoord GetBestWidth() const {return 0; }
+
protected:
wxComboControl *m_combo;
};
virtual bool Enable(bool enable = TRUE);
virtual bool Show(bool show = TRUE);
+#if wxUSE_TOOLTIPS
+ virtual void DoSetToolTip( wxToolTip *tip );
+#endif // wxUSE_TOOLTIPS
+
protected:
// override the base class virtuals involved into geometry calculations
virtual wxSize DoGetBestClientSize() const;
const wxString& strArg = wxEmptyString);
// event handlers
- void OnKey(wxCommandEvent& event);
+ void OnKey(wxKeyEvent& event);
// common part of all ctors
void Init();
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
int n = 0,
- const wxString *choices = (const wxString *) NULL,
+ const wxString choices[] = (const wxString *) NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr)
(void)Create(parent, id, value, pos, size, n, choices,
style, validator, name);
}
+ wxComboBox(wxWindow *parent,
+ wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxArrayString& choices,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
bool Create(wxWindow *parent,
wxWindowID id,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr);
-
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxArrayString& choices,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr);
virtual ~wxComboBox();
virtual int GetSelection() const;
void SetSelection(int n) { Select(n); }
+ void SetStringSelection(const wxString& WXUNUSED(s)) { }
+
+ wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
+
protected:
virtual int DoAppend(const wxString& item);
+ virtual int DoInsert(const wxString& item, int pos);
virtual void DoSetItemClientData(int n, void* clientData);
virtual void* DoGetItemClientData(int n) const;
virtual void DoSetItemClientObject(int n, wxClientData* clientData);
public:
wxStdComboBoxInputHandler(wxInputHandler *inphand);
- virtual bool HandleKey(wxControl *control,
+ virtual bool HandleKey(wxInputConsumer *consumer,
const wxKeyEvent& event,
bool pressed);
};