// Purpose: Sample showing most of the simple wxWidgets widgets
// Author: Vadim Zeitlin
// Created: 27.03.01
-// Id: $Id$
// Copyright: (c) 2001 Vadim Zeitlin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
Widgets_BorderDouble,
Widgets_BorderDefault,
+ Widgets_LayoutDirection,
+
Widgets_GlobalBusyCursor,
Widgets_BusyCursor,
void OnEnable(wxCommandEvent& event);
void OnSetBorder(wxCommandEvent& event);
+ void OnToggleLayoutDirection(wxCommandEvent& event);
+
void OnToggleGlobalBusyCursor(wxCommandEvent& event);
void OnToggleBusyCursor(wxCommandEvent& event);
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)
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"));
(*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
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() )