// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "combobox.h"
#endif
// wxWin macros
// ----------------------------------------------------------------------------
+#if wxUSE_EXTENDED_RTTI
+WX_DEFINE_FLAGS( wxComboBoxStyle )
+
+WX_BEGIN_FLAGS( wxComboBoxStyle )
+ // new style border flags, we put them first to
+ // use them for streaming out
+ WX_FLAGS_MEMBER(wxBORDER_SIMPLE)
+ WX_FLAGS_MEMBER(wxBORDER_SUNKEN)
+ WX_FLAGS_MEMBER(wxBORDER_DOUBLE)
+ WX_FLAGS_MEMBER(wxBORDER_RAISED)
+ WX_FLAGS_MEMBER(wxBORDER_STATIC)
+ WX_FLAGS_MEMBER(wxBORDER_NONE)
+
+ // old style border flags
+ WX_FLAGS_MEMBER(wxSIMPLE_BORDER)
+ WX_FLAGS_MEMBER(wxSUNKEN_BORDER)
+ WX_FLAGS_MEMBER(wxDOUBLE_BORDER)
+ WX_FLAGS_MEMBER(wxRAISED_BORDER)
+ WX_FLAGS_MEMBER(wxSTATIC_BORDER)
+ WX_FLAGS_MEMBER(wxNO_BORDER)
+
+ // standard window styles
+ WX_FLAGS_MEMBER(wxTAB_TRAVERSAL)
+ WX_FLAGS_MEMBER(wxCLIP_CHILDREN)
+ WX_FLAGS_MEMBER(wxTRANSPARENT_WINDOW)
+ WX_FLAGS_MEMBER(wxWANTS_CHARS)
+ WX_FLAGS_MEMBER(wxNO_FULL_REPAINT_ON_RESIZE)
+ WX_FLAGS_MEMBER(wxALWAYS_SHOW_SB )
+ WX_FLAGS_MEMBER(wxVSCROLL)
+ WX_FLAGS_MEMBER(wxHSCROLL)
+
+ WX_FLAGS_MEMBER(wxCB_SIMPLE)
+ WX_FLAGS_MEMBER(wxCB_SORT)
+ WX_FLAGS_MEMBER(wxCB_READONLY)
+ WX_FLAGS_MEMBER(wxCB_DROPDOWN)
+
+WX_END_FLAGS( wxComboBoxStyle )
+
+IMPLEMENT_DYNAMIC_CLASS_XTI(wxComboBox, wxControl,"wx/combobox.h")
+
+WX_BEGIN_PROPERTIES_TABLE(wxComboBox)
+ // TODO DELEGATES
+ WX_PROPERTY( Font , wxFont , SetFont , GetFont , , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+ WX_PROPERTY_COLLECTION( Choices , wxArrayString , wxString , AppendString , GetStrings , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+ WX_PROPERTY( Value ,wxString, SetValue, GetValue, , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+ WX_PROPERTY( Selection ,int, SetSelection, GetSelection, , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+ WX_PROPERTY_FLAGS( WindowStyle , wxComboBoxStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
+WX_END_PROPERTIES_TABLE()
+
+WX_BEGIN_HANDLERS_TABLE(wxComboBox)
+WX_END_HANDLERS_TABLE()
+
+WX_CONSTRUCTOR_5( wxComboBox , wxWindow* , Parent , wxWindowID , Id , wxString , Value , wxPoint , Position , wxSize , Size )
+#else
IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
+#endif
// ----------------------------------------------------------------------------
// function prototypes
CBS_AUTOHSCROLL | CBS_NOINTEGRALHEIGHT /* | WS_CLIPSIBLINGS */;
if ( style & wxCB_READONLY )
msStyle |= CBS_DROPDOWNLIST;
+#ifndef __WXWINCE__
else if ( style & wxCB_SIMPLE )
msStyle |= CBS_SIMPLE; // A list (shown always) and edit control
+#endif
else
msStyle |= CBS_DROPDOWN;
// Scroll insertion point into view
SendMessage(hEditWnd, EM_SCROLLCARET, (WPARAM)0, (LPARAM)0);
// Why is this necessary? (Copied from wxTextCtrl::SetInsertionPoint)
- SendMessage(hEditWnd, EM_REPLACESEL, 0, (LPARAM)_T(""));
+ SendMessage(hEditWnd, EM_REPLACESEL, 0, (LPARAM) wxEmptyString);
}
#endif // __WIN32__
}