public wxTextEntry
{
public:
- wxComboBox() { m_strings = NULL; }
+ wxComboBox()
+ : wxChoice(), wxTextEntry()
+ {
+ Init();
+ }
wxComboBox(wxWindow *parent,
wxWindowID id,
const wxString& value = wxEmptyString,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr)
+ : wxChoice(), wxTextEntry()
{
+ Init();
Create(parent, id, value, pos, size, n, choices, style, validator, name);
}
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr)
+ : wxChoice(), wxTextEntry()
{
+ Init();
Create(parent, id, value, pos, size, choices, style, validator, name);
}
+ ~wxComboBox();
bool Create(wxWindow *parent, wxWindowID id,
const wxString& value = wxEmptyString,
return wxItemContainer::GetStringSelection();
}
+ virtual void SetString(unsigned int n, const wxString& string);
+
+ virtual void Popup();
+ virtual void Dismiss();
+
virtual void Clear()
{
wxTextEntry::Clear();
wxItemContainer::Clear();
}
- bool IsEmpty() const { return wxItemContainer::IsEmpty(); }
+ // See wxComboBoxBase discussion of IsEmpty().
+ bool IsListEmpty() const { return wxItemContainer::IsEmpty(); }
+ bool IsTextEmpty() const { return wxTextEntry::IsEmpty(); }
void OnChar( wxKeyEvent &event );
+ virtual void SetValue(const wxString& value);
+
// Standard event handling
void OnCut(wxCommandEvent& event);
void OnCopy(wxCommandEvent& event);
void OnUpdateDelete(wxUpdateUIEvent& event);
void OnUpdateSelectAll(wxUpdateUIEvent& event);
- virtual void DisableEvents();
- virtual void EnableEvents();
+ virtual void GTKDisableEvents();
+ virtual void GTKEnableEvents();
GtkWidget* GetConnectWidget();
static wxVisualAttributes
// override this and return true.
virtual bool UseGTKStyleBase() const { return true; }
- // return the GtkEntry part of the combobox
- GtkEntry *GetEntry() const;
+ // Override in derived classes to create combo box widgets with
+ // custom list stores.
+ virtual void GTKCreateComboBoxWidget();
+
+ virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
+
+ virtual GtkEntry *GetEntry() const
+ { return m_entry; }
+
+ GtkEntry* m_entry;
private:
// From wxTextEntry:
- virtual const wxWindow *GetEditableWindow() const { return this; }
+ virtual wxWindow *GetEditableWindow() { return this; }
virtual GtkEditable *GetEditable() const;
- virtual void EnableTextChangedEvents(bool enable)
- {
- if ( enable )
- EnableEvents();
- else
- DisableEvents();
- }
+ virtual void EnableTextChangedEvents(bool enable);
+
+ void Init();
DECLARE_DYNAMIC_CLASS_NO_COPY(wxComboBox)
DECLARE_EVENT_TABLE()