/////////////////////////////////////////////////////////////////////////////
// Name: wx/generic/combo.h
-// Purpose: Generic wxComboControl
+// Purpose: Generic wxComboCtrl
// Author: Jaakko Salli
// Modified by:
// Created: Apr-30-2006
-// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_GENERIC_COMBOCONTROL_H_
-#define _WX_GENERIC_COMBOCONTROL_H_
+#ifndef _WX_GENERIC_COMBOCTRL_H_
+#define _WX_GENERIC_COMBOCTRL_H_
-#if wxUSE_COMBOCONTROL
+#if wxUSE_COMBOCTRL
// Only define generic if native doesn't have all the features
#if !defined(wxCOMBOCONTROL_FULLY_FEATURED)
// ----------------------------------------------------------------------------
-// Generic wxComboControl
+// Generic wxComboCtrl
// ----------------------------------------------------------------------------
#if defined(__WXUNIVERSAL__)
// 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
+#include "wx/dcbuffer.h"
-class WXDLLEXPORT wxGenericComboControl : public wxComboControlBase
+extern WXDLLIMPEXP_DATA_CORE(const char) wxComboBoxNameStr[];
+
+class WXDLLIMPEXP_CORE wxGenericComboCtrl : public wxComboCtrlBase
{
public:
// ctors and such
- wxGenericComboControl() : wxComboControlBase() { Init(); }
-
- wxGenericComboControl(wxWindow *parent,
- wxWindowID id = wxID_ANY,
- const wxString& value = wxEmptyString,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxComboBoxNameStr)
- : wxComboControlBase()
+ wxGenericComboCtrl() : wxComboCtrlBase() { Init(); }
+
+ wxGenericComboCtrl(wxWindow *parent,
+ wxWindowID id = wxID_ANY,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr)
+ : wxComboCtrlBase()
{
Init();
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxComboBoxNameStr);
- virtual ~wxGenericComboControl();
+ virtual ~wxGenericComboCtrl();
+
+ void SetCustomPaintWidth( int width );
+
+ virtual bool IsKeyPopupToggle(const wxKeyEvent& event) const;
- static int GetFeatures() { return wxComboControlFeatures::All; }
+ static int GetFeatures() { return wxComboCtrlFeatures::All; }
#if defined(__WXUNIVERSAL__)
// we have our own input handler and our own actions
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();
DECLARE_EVENT_TABLE()
- DECLARE_DYNAMIC_CLASS(wxGenericComboControl)
+ DECLARE_DYNAMIC_CLASS(wxGenericComboCtrl)
};
#ifndef _WX_COMBOCONTROL_H_
-// If native wxComboControl was not defined, then prepare a simple
+// If native wxComboCtrl was not defined, then prepare a simple
// front-end so that wxRTTI works as expected.
-class WXDLLEXPORT wxComboControl : public wxGenericComboControl
+class WXDLLIMPEXP_CORE wxComboCtrl : public wxGenericComboCtrl
{
public:
- wxComboControl() : wxGenericComboControl() {}
-
- wxComboControl(wxWindow *parent,
- wxWindowID id = wxID_ANY,
- const wxString& value = wxEmptyString,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxComboBoxNameStr)
- : wxGenericComboControl()
+ wxComboCtrl() : wxGenericComboCtrl() {}
+
+ wxComboCtrl(wxWindow *parent,
+ wxWindowID id = wxID_ANY,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr)
+ : wxGenericComboCtrl()
{
(void)Create(parent, id, value, pos, size, style, validator, name);
}
- virtual ~wxComboControl() {}
+ virtual ~wxComboCtrl() {}
protected:
private:
- DECLARE_DYNAMIC_CLASS(wxComboControl)
+ DECLARE_DYNAMIC_CLASS(wxComboCtrl)
};
#endif // _WX_COMBOCONTROL_H_
#else
-#define wxGenericComboControl wxComboControl
+#define wxGenericComboCtrl wxComboCtrl
#endif // !defined(wxCOMBOCONTROL_FULLY_FEATURED)
-#endif // wxUSE_COMBOCONTROL
+#endif // wxUSE_COMBOCTRL
#endif
- // _WX_GENERIC_COMBOCONTROL_H_
+ // _WX_GENERIC_COMBOCTRL_H_