X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1b806b98241ab649c169aaa1f134df85e80fb8b..7b7b19d2f24e5b173f7d982572f4206598f58798:/samples/widgets/widgets.cpp diff --git a/samples/widgets/widgets.cpp b/samples/widgets/widgets.cpp index 84943cbff7..19759aabb6 100644 --- a/samples/widgets/widgets.cpp +++ b/samples/widgets/widgets.cpp @@ -88,6 +88,8 @@ enum Widgets_BorderDouble, Widgets_BorderDefault, + Widgets_LayoutDirection, + Widgets_GlobalBusyCursor, Widgets_BusyCursor, @@ -99,6 +101,7 @@ enum TextEntry_DisableAutoComplete = TextEntry_Begin, TextEntry_AutoCompleteFixed, TextEntry_AutoCompleteFilenames, + TextEntry_AutoCompleteDirectories, TextEntry_AutoCompleteCustom, TextEntry_SetHint, @@ -167,6 +170,8 @@ protected: void OnEnable(wxCommandEvent& event); void OnSetBorder(wxCommandEvent& event); + void OnToggleLayoutDirection(wxCommandEvent& event); + void OnToggleGlobalBusyCursor(wxCommandEvent& event); void OnToggleBusyCursor(wxCommandEvent& event); @@ -174,6 +179,7 @@ protected: void OnDisableAutoComplete(wxCommandEvent& event); void OnAutoCompleteFixed(wxCommandEvent& event); void OnAutoCompleteFilenames(wxCommandEvent& event); + void OnAutoCompleteDirectories(wxCommandEvent& event); void OnAutoCompleteCustom(wxCommandEvent& event); void OnSetHint(wxCommandEvent& event); @@ -297,12 +303,15 @@ BEGIN_EVENT_TABLE(WidgetsFrame, wxFrame) EVT_MENU_RANGE(Widgets_BorderNone, Widgets_BorderDefault, WidgetsFrame::OnSetBorder) + EVT_MENU(Widgets_LayoutDirection, WidgetsFrame::OnToggleLayoutDirection) + EVT_MENU(Widgets_GlobalBusyCursor, WidgetsFrame::OnToggleGlobalBusyCursor) EVT_MENU(Widgets_BusyCursor, WidgetsFrame::OnToggleBusyCursor) EVT_MENU(TextEntry_DisableAutoComplete, WidgetsFrame::OnDisableAutoComplete) EVT_MENU(TextEntry_AutoCompleteFixed, WidgetsFrame::OnAutoCompleteFixed) EVT_MENU(TextEntry_AutoCompleteFilenames, WidgetsFrame::OnAutoCompleteFilenames) + EVT_MENU(TextEntry_AutoCompleteDirectories, WidgetsFrame::OnAutoCompleteDirectories) EVT_MENU(TextEntry_AutoCompleteCustom, WidgetsFrame::OnAutoCompleteCustom) EVT_MENU(TextEntry_SetHint, WidgetsFrame::OnSetHint) @@ -344,10 +353,6 @@ bool WidgetsApp::OnInit() title += wxT("wxMAC"); #elif defined(__WXMOTIF__) title += wxT("wxMOTIF"); -#elif defined(__WXPALMOS5__) - title += wxT("wxPALMOS5"); -#elif defined(__WXPALMOS6__) - title += wxT("wxPALMOS6"); #else title += wxT("wxWidgets"); #endif @@ -401,6 +406,10 @@ WidgetsFrame::WidgetsFrame(const wxString& title) menuBorders->AppendRadioItem(Widgets_BorderSunken, wxT("S&unken\tCtrl-Shift-5")); menuWidget->AppendSubMenu(menuBorders, wxT("Set &border")); + menuWidget->AppendSeparator(); + menuWidget->AppendCheckItem(Widgets_LayoutDirection, + "Toggle &layout direction\tCtrl-L"); + menuWidget->AppendSeparator(); menuWidget->AppendCheckItem(Widgets_GlobalBusyCursor, wxT("Toggle &global busy cursor\tCtrl-Shift-U")); @@ -418,6 +427,8 @@ WidgetsFrame::WidgetsFrame(const wxString& title) wxT("Fixed-&list auto-completion")); menuTextEntry->AppendRadioItem(TextEntry_AutoCompleteFilenames, wxT("&Files names auto-completion")); + menuTextEntry->AppendRadioItem(TextEntry_AutoCompleteDirectories, + wxT("&Directories names auto-completion")); menuTextEntry->AppendRadioItem(TextEntry_AutoCompleteCustom, wxT("&Custom auto-completion")); menuTextEntry->AppendSeparator(); @@ -874,6 +885,10 @@ void WidgetsFrame::OnSetFont(wxCommandEvent& WXUNUSED(event)) (*it)->SetFont(m_font); (*it)->Refresh(); } + + // The best size of the widget could have changed after changing its font, + // so re-layout to show it correctly. + page->Layout(); #else wxLogMessage(wxT("Font selection dialog not available in current build.")); #endif @@ -917,6 +932,21 @@ void WidgetsFrame::OnSetBorder(wxCommandEvent& event) page->RecreateWidget(); } +void WidgetsFrame::OnToggleLayoutDirection(wxCommandEvent& event) +{ + wxLayoutDirection dir = event.IsChecked() ? wxLayout_RightToLeft + : wxLayout_LeftToRight; + + const Widgets widgets = CurrentPage()->GetWidgets(); + for ( Widgets::const_iterator it = widgets.begin(); + it != widgets.end(); + ++it ) + { + (*it)->SetLayoutDirection(dir); + (*it)->Refresh(); + } +} + void WidgetsFrame::OnToggleGlobalBusyCursor(wxCommandEvent& event) { if ( event.IsChecked() ) @@ -995,6 +1025,21 @@ void WidgetsFrame::OnAutoCompleteFilenames(wxCommandEvent& WXUNUSED(event)) } } +void WidgetsFrame::OnAutoCompleteDirectories(wxCommandEvent& WXUNUSED(event)) +{ + wxTextEntryBase *entry = CurrentPage()->GetTextEntry(); + wxCHECK_RET( entry, "menu item should be disabled" ); + + if ( entry->AutoCompleteDirectories() ) + { + wxLogMessage("Enabled auto completion of directories."); + } + else + { + wxLogMessage("AutoCompleteDirectories() failed."); + } +} + void WidgetsFrame::OnAutoCompleteCustom(wxCommandEvent& WXUNUSED(event)) { wxTextEntryBase *entry = CurrentPage()->GetTextEntry();