X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f2fdc4d56e41711ce7c547484bf97aa0c2bd997a..0edfdd963bdc9cfeb54d403ed77b5f36e4de8c84:/samples/widgets/textctrl.cpp diff --git a/samples/widgets/textctrl.cpp b/samples/widgets/textctrl.cpp index c01eb60d76..c1e6afb816 100644 --- a/samples/widgets/textctrl.cpp +++ b/samples/widgets/textctrl.cpp @@ -53,7 +53,7 @@ // control ids enum { - TextPage_Reset = 100, + TextPage_Reset = wxID_HIGHEST, TextPage_Set, TextPage_Add, @@ -106,6 +106,7 @@ static const struct ControlValues bool password; bool readonly; + bool filename; WrapStyle wrapStyle; @@ -117,6 +118,7 @@ static const struct ControlValues TextLines_Multi, // multiline false, // not password false, // not readonly + false, // not filename WrapStyle_Word, // wrap on word boundaries #ifdef __WXMSW__ TextKind_Plain // plain EDIT control @@ -138,6 +140,9 @@ public: virtual wxControl *GetWidget() const { return m_text; } virtual void RecreateWidget() { CreateText(); } + // lazy creation of the content + virtual void CreateContent(); + protected: // create an info text contorl wxTextCtrl *CreateInfoText(); @@ -198,7 +203,8 @@ protected: // the checkboxes controlling text ctrl styles wxCheckBox *m_chkPassword, - *m_chkReadonly; + *m_chkReadonly, + *m_chkFilename; // under MSW we test rich edit controls as well here #ifdef __WXMSW__ @@ -329,9 +335,16 @@ END_EVENT_TABLE() // implementation // ============================================================================ +#if defined(__WXX11__) + #define FAMILY_CTRLS NATIVE_CTRLS +#elif defined(__WXUNIVERSAL__) + #define FAMILY_CTRLS UNIVERSAL_CTRLS +#else + #define FAMILY_CTRLS NATIVE_CTRLS +#endif + IMPLEMENT_WIDGETS_PAGE(TextWidgetsPage, _T("Text"), - (int)wxPlatform(GENERIC_CTRLS).If(wxMSW,NATIVE_CTRLS) - | EDITABLE_CTRLS + FAMILY_CTRLS | EDITABLE_CTRLS ); // ---------------------------------------------------------------------------- @@ -339,10 +352,8 @@ IMPLEMENT_WIDGETS_PAGE(TextWidgetsPage, _T("Text"), // ---------------------------------------------------------------------------- TextWidgetsPage::TextWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist) - : WidgetsPage(book) + : WidgetsPage(book, imaglist, text_xpm) { - imaglist->Add(wxBitmap(text_xpm)); - // init everything #ifdef __WXMSW__ m_radioKind = @@ -351,7 +362,8 @@ TextWidgetsPage::TextWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist) m_radioTextLines = (wxRadioBox *)NULL; m_chkPassword = - m_chkReadonly = (wxCheckBox *)NULL; + m_chkReadonly = + m_chkFilename = (wxCheckBox *)NULL; m_text = m_textPosCur = @@ -369,7 +381,10 @@ TextWidgetsPage::TextWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist) m_posLast = m_selFrom = m_selTo = -2; // not -1 which means "no selection" +} +void TextWidgetsPage::CreateContent() +{ // left pane static const wxString modes[] = { @@ -394,6 +409,10 @@ TextWidgetsPage::TextWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist) m_chkReadonly = CreateCheckBoxAndAddToSizer( sizerLeft, _T("&Read-only mode") ); + m_chkFilename = CreateCheckBoxAndAddToSizer( + sizerLeft, _T("&Filename control") + ); + m_chkFilename->Disable(); // not implemented yet sizerLeft->AddSpacer(5); static const wxString wrap[] = @@ -593,6 +612,7 @@ void TextWidgetsPage::Reset() m_chkPassword->SetValue(DEFAULTS.password); m_chkReadonly->SetValue(DEFAULTS.readonly); + m_chkFilename->SetValue(DEFAULTS.filename); m_radioWrap->SetSelection(DEFAULTS.wrapStyle); @@ -680,6 +700,11 @@ void TextWidgetsPage::CreateText() m_text = new WidgetsTextCtrl(this, TextPage_Textctrl, valueOld, flags); +#if 0 + if ( m_chkFilename->GetValue() ) + ; +#endif // TODO + // cast to int needed to silence gcc warning about different enums m_sizerText->Add(m_text, 1, wxALL | (flags & wxTE_MULTILINE ? (int)wxGROW @@ -859,8 +884,9 @@ void TextWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event) #ifdef __WXMSW__ (m_radioKind->GetSelection() != DEFAULTS.textKind) || #endif // __WXMSW__ - (m_chkReadonly->GetValue() != DEFAULTS.readonly) || (m_chkPassword->GetValue() != DEFAULTS.password) || + (m_chkReadonly->GetValue() != DEFAULTS.readonly) || + (m_chkFilename->GetValue() != DEFAULTS.filename) || (m_radioWrap->GetSelection() != DEFAULTS.wrapStyle) ); }