// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __GTKCHOICEH__
-#define __GTKCHOICEH__
+#ifndef _WX_GTK_CHOICE_H_
+#define _WX_GTK_CHOICE_H_
-class WXDLLIMPEXP_BASE wxSortedArrayString;
-class WXDLLIMPEXP_BASE wxArrayString;
+class WXDLLIMPEXP_FWD_BASE wxSortedArrayString;
+class WXDLLIMPEXP_FWD_BASE wxArrayString;
//-----------------------------------------------------------------------------
// wxChoice
Create(parent, id, pos, size, choices, style, validator, name);
}
- ~wxChoice();
+ virtual ~wxChoice();
bool Create( wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxChoiceNameStr );
- // implement base class pure virtuals
- void Delete(unsigned int n);
- void Clear();
-
int GetSelection() const;
- int GetCurrentSelection() const { return GetSelection(); }
void SetSelection(int n);
virtual unsigned int GetCount() const;
static wxVisualAttributes
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
- virtual bool IsOwnGtkWindow( GdkWindow *window );
-
protected:
- wxList m_clientList; // contains the client data for the items
+ void DoDeleteOneItem(unsigned int n);
+ void DoClear();
- void DoApplyWidgetStyle(GtkRcStyle *style);
- virtual int DoAppend(const wxString& item);
- virtual int DoInsert(const wxString& item, unsigned int pos);
+ wxArrayPtrVoid m_clientData; // contains the client data for the items
+
+ virtual wxSize DoGetBestSize() const;
+ virtual void DoApplyWidgetStyle(GtkRcStyle *style);
+ virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
+
+ virtual int DoInsertItems(const wxArrayStringsAdapter& items,
+ unsigned int pos,
+ void **clientData, wxClientDataType type);
virtual void DoSetItemClientData(unsigned int n, void* clientData);
virtual void* DoGetItemClientData(unsigned int n) const;
- virtual void DoSetItemClientObject(unsigned int n, wxClientData* clientData);
- virtual wxClientData* DoGetItemClientObject(unsigned int n) const;
-
- virtual wxSize DoGetBestSize() const;
private:
- // common part of Create() and DoAppend()
+ // DoInsertItems() helper
int GtkAddHelper(GtkWidget *menu, unsigned int pos, const wxString& item);
// this array is only used for controls with wxCB_SORT style, so only
};
-#endif // __GTKCHOICEH__
+#endif // _WX_GTK_CHOICE_H_