// control ids
enum
{
- SpinBtnPage_Reset = 100,
+ SpinBtnPage_Reset = wxID_HIGHEST,
SpinBtnPage_Clear,
SpinBtnPage_SetValue,
SpinBtnPage_SetMinAndMax,
class SpinBtnWidgetsPage : public WidgetsPage
{
public:
- SpinBtnWidgetsPage(wxBookCtrlBase *book, wxImageList *imaglist);
+ SpinBtnWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
virtual ~SpinBtnWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_spinbtn; }
virtual wxControl *GetWidget2() const { return m_spinctrl; }
virtual void RecreateWidget() { CreateSpin(); }
+ // lazy creation of the content
+ virtual void CreateContent();
+
protected:
// event handlers
void OnButtonReset(wxCommandEvent& event);
// implementation
// ============================================================================
-IMPLEMENT_WIDGETS_PAGE(SpinBtnWidgetsPage, _T("Spin"));
+#if defined(__WXUNIVERSAL__)
+ #define FAMILY_CTRLS UNIVERSAL_CTRLS
+#else
+ #define FAMILY_CTRLS NATIVE_CTRLS
+#endif
+
+IMPLEMENT_WIDGETS_PAGE(SpinBtnWidgetsPage, _T("Spin"),
+ FAMILY_CTRLS | EDITABLE_CTRLS
+ );
-SpinBtnWidgetsPage::SpinBtnWidgetsPage(wxBookCtrlBase *book,
+SpinBtnWidgetsPage::SpinBtnWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
- : WidgetsPage(book)
+ : WidgetsPage(book, imaglist, spinbtn_xpm)
{
m_chkVert = NULL;
m_chkWrap = NULL;
m_textValue = NULL;
m_textMin = NULL;
m_textMax = NULL;
- imaglist->Add(wxBitmap(spinbtn_xpm));
// init everything
m_min = 0;
m_spinbtn = (wxSpinButton *)NULL;
m_sizerSpin = (wxSizer *)NULL;
+}
+void SpinBtnWidgetsPage::CreateContent()
+{
wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
// left pane
maxNew = 0; // init to suppress compiler warning
if ( !m_textMin->GetValue().ToLong(&minNew) ||
!m_textMax->GetValue().ToLong(&maxNew) ||
- minNew >= maxNew )
+ minNew > maxNew )
{
wxLogWarning(_T("Invalid min/max values for the spinbtn."));
long mn, mx;
event.Enable( m_textMin->GetValue().ToLong(&mn) &&
m_textMax->GetValue().ToLong(&mx) &&
- mn < mx);
+ mn <= mx);
}
void SpinBtnWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event)