X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/129c8cf3524ba45c690192cada38025a7aa544ca..81f2b2ee81ce76fdc826e2740713e6fbefbfd5b3:/include/wx/generic/combo.h diff --git a/include/wx/generic/combo.h b/include/wx/generic/combo.h index 6d19c75808..b25325c86f 100644 --- a/include/wx/generic/combo.h +++ b/include/wx/generic/combo.h @@ -26,14 +26,16 @@ // 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 @@ -65,6 +67,8 @@ public: virtual ~wxGenericComboCtrl(); + void SetCustomPaintWidth( int width ); + virtual bool IsKeyPopupToggle(const wxKeyEvent& event) const; static int GetFeatures() { return wxComboCtrlFeatures::All; } @@ -78,6 +82,37 @@ public: 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(); @@ -99,7 +134,7 @@ private: // 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() {}