// all actions of single line text controls are supported
// popup/dismiss the choice window
-#define wxACTION_COMBOBOX_POPUP _T("popup")
-#define wxACTION_COMBOBOX_DISMISS _T("dismiss")
+#define wxACTION_COMBOBOX_POPUP wxT("popup")
+#define wxACTION_COMBOBOX_DISMISS wxT("dismiss")
#endif
-extern WXDLLIMPEXP_DATA_CORE(const wxChar) wxComboBoxNameStr[];
+#include "wx/dcbuffer.h"
-class WXDLLEXPORT wxGenericComboCtrl : public wxComboCtrlBase
+extern WXDLLIMPEXP_DATA_CORE(const char) wxComboBoxNameStr[];
+
+class WXDLLIMPEXP_CORE wxGenericComboCtrl : public wxComboCtrlBase
{
public:
// ctors and such
virtual ~wxGenericComboCtrl();
+ void SetCustomPaintWidth( int width );
+
virtual bool IsKeyPopupToggle(const wxKeyEvent& event) const;
static int GetFeatures() { return wxComboCtrlFeatures::All; }
protected:
+ // Dummies for platform-specific wxTextEntry implementations
+#if defined(__WXUNIVERSAL__)
+ // Looks like there's nothing we need to override here
+#elif defined(__WXMOTIF__)
+ virtual WXWidget GetTextWidget() const { return NULL; }
+#elif defined(__WXGTK__)
+#if defined(__WXGTK20__)
+ virtual GtkEditable *GetEditable() const { return NULL; }
+ virtual GtkEntry *GetEntry() const { return NULL; }
+#endif
+#elif defined(__WXMAC__)
+ // Looks like there's nothing we need to override here
+#elif defined(__WXPM__)
+ virtual WXHWND GetEditHWND() const { return NULL; }
+#endif
+
+ // For better transparent background rendering
+ virtual bool HasTransparentBackground()
+ {
+ #if wxALWAYS_NATIVE_DOUBLE_BUFFER
+ #ifdef __WXGTK__
+ // Sanity check for GTK+
+ return IsDoubleBuffered();
+ #else
+ return true;
+ #endif
+ #else
+ return false;
+ #endif
+ }
+
// Mandatory virtuals
virtual void OnResize();
// If native wxComboCtrl was not defined, then prepare a simple
// front-end so that wxRTTI works as expected.
-class WXDLLEXPORT wxComboCtrl : public wxGenericComboCtrl
+class WXDLLIMPEXP_CORE wxComboCtrl : public wxGenericComboCtrl
{
public:
wxComboCtrl() : wxGenericComboCtrl() {}