#include "wx/odcombo.h"
+#include "itemcontainer.h"
#include "widgets.h"
#include "icons/odcombobox.xpm"
ODComboPage_Delete,
ODComboPage_DeleteText,
ODComboPage_DeleteSel,
- ODComboPage_Combo
+ ODComboPage_Combo,
+ ODComboPage_ContainerTests
};
// ODComboboxWidgetsPage
// ----------------------------------------------------------------------------
-class ODComboboxWidgetsPage : public WidgetsPage
+class ODComboboxWidgetsPage : public ItemContainerWidgetsPage
{
public:
ODComboboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
virtual wxControl *GetWidget() const { return m_combobox; }
+ virtual wxTextEntryBase *GetTextEntry() const
+ { return m_combobox ? m_combobox->GetTextCtrl() : NULL; }
+ virtual wxItemContainer* GetContainer() const { return m_combobox; }
virtual void RecreateWidget() { CreateCombo(); }
// lazy creation of the content
EVT_BUTTON(ODComboPage_Add, ODComboboxWidgetsPage::OnButtonAdd)
EVT_BUTTON(ODComboPage_AddSeveral, ODComboboxWidgetsPage::OnButtonAddSeveral)
EVT_BUTTON(ODComboPage_AddMany, ODComboboxWidgetsPage::OnButtonAddMany)
+ EVT_BUTTON(ODComboPage_ContainerTests, ItemContainerWidgetsPage::OnButtonTestItemContainer)
EVT_TEXT_ENTER(ODComboPage_InsertText, ODComboboxWidgetsPage::OnButtonInsert)
EVT_TEXT_ENTER(ODComboPage_AddText, ODComboboxWidgetsPage::OnButtonAdd)
// If item is selected or even, or we are painting the
// combo control itself, use the default rendering.
- if ( GetVListBoxComboPopup()->IsCurrent((size_t)item) ||
- (flags & wxODCB_PAINTING_CONTROL) ||
+ if ( (flags & (wxODCB_PAINTING_CONTROL|wxODCB_PAINTING_SELECTED)) ||
(item & 1) == 0 )
{
wxOwnerDrawnComboBox::OnDrawBackground(dc,rect,item,flags);
ODComboboxWidgetsPage::ODComboboxWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
- : WidgetsPage(book, imaglist, odcombobox_xpm)
+ : ItemContainerWidgetsPage(book, imaglist, odcombobox_xpm)
{
// init everything
m_chkSort =
_T("&Change combobox contents"));
wxSizer *sizerMiddle = new wxStaticBoxSizer(box2, wxVERTICAL);
+ btn = new wxButton(this, ODComboPage_ContainerTests, _T("Run &tests"));
+ sizerMiddle->Add(btn, 0, wxALL | wxGROW, 5);
+
sizerRow = CreateSizerWithTextAndLabel(_T("Current selection"),
ODComboPage_CurText,
&text);
Reset();
SetSizer(sizerTop);
-
- sizerTop->Fit(this);
}
// ----------------------------------------------------------------------------