Add a possibility to change the layout direction in the widgets sample.
This allows to test whether a widget is drawn correctly in RTL variant as well as the default LTR one easily. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
49e6c3d6cc
commit
7527fdaac8
@ -88,6 +88,8 @@ enum
|
|||||||
Widgets_BorderDouble,
|
Widgets_BorderDouble,
|
||||||
Widgets_BorderDefault,
|
Widgets_BorderDefault,
|
||||||
|
|
||||||
|
Widgets_LayoutDirection,
|
||||||
|
|
||||||
Widgets_GlobalBusyCursor,
|
Widgets_GlobalBusyCursor,
|
||||||
Widgets_BusyCursor,
|
Widgets_BusyCursor,
|
||||||
|
|
||||||
@ -168,6 +170,8 @@ protected:
|
|||||||
void OnEnable(wxCommandEvent& event);
|
void OnEnable(wxCommandEvent& event);
|
||||||
void OnSetBorder(wxCommandEvent& event);
|
void OnSetBorder(wxCommandEvent& event);
|
||||||
|
|
||||||
|
void OnToggleLayoutDirection(wxCommandEvent& event);
|
||||||
|
|
||||||
void OnToggleGlobalBusyCursor(wxCommandEvent& event);
|
void OnToggleGlobalBusyCursor(wxCommandEvent& event);
|
||||||
void OnToggleBusyCursor(wxCommandEvent& event);
|
void OnToggleBusyCursor(wxCommandEvent& event);
|
||||||
|
|
||||||
@ -299,6 +303,8 @@ BEGIN_EVENT_TABLE(WidgetsFrame, wxFrame)
|
|||||||
EVT_MENU_RANGE(Widgets_BorderNone, Widgets_BorderDefault,
|
EVT_MENU_RANGE(Widgets_BorderNone, Widgets_BorderDefault,
|
||||||
WidgetsFrame::OnSetBorder)
|
WidgetsFrame::OnSetBorder)
|
||||||
|
|
||||||
|
EVT_MENU(Widgets_LayoutDirection, WidgetsFrame::OnToggleLayoutDirection)
|
||||||
|
|
||||||
EVT_MENU(Widgets_GlobalBusyCursor, WidgetsFrame::OnToggleGlobalBusyCursor)
|
EVT_MENU(Widgets_GlobalBusyCursor, WidgetsFrame::OnToggleGlobalBusyCursor)
|
||||||
EVT_MENU(Widgets_BusyCursor, WidgetsFrame::OnToggleBusyCursor)
|
EVT_MENU(Widgets_BusyCursor, WidgetsFrame::OnToggleBusyCursor)
|
||||||
|
|
||||||
@ -400,6 +406,10 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
|
|||||||
menuBorders->AppendRadioItem(Widgets_BorderSunken, wxT("S&unken\tCtrl-Shift-5"));
|
menuBorders->AppendRadioItem(Widgets_BorderSunken, wxT("S&unken\tCtrl-Shift-5"));
|
||||||
menuWidget->AppendSubMenu(menuBorders, wxT("Set &border"));
|
menuWidget->AppendSubMenu(menuBorders, wxT("Set &border"));
|
||||||
|
|
||||||
|
menuWidget->AppendSeparator();
|
||||||
|
menuWidget->AppendCheckItem(Widgets_LayoutDirection,
|
||||||
|
"Toggle &layout direction\tCtrl-L");
|
||||||
|
|
||||||
menuWidget->AppendSeparator();
|
menuWidget->AppendSeparator();
|
||||||
menuWidget->AppendCheckItem(Widgets_GlobalBusyCursor,
|
menuWidget->AppendCheckItem(Widgets_GlobalBusyCursor,
|
||||||
wxT("Toggle &global busy cursor\tCtrl-Shift-U"));
|
wxT("Toggle &global busy cursor\tCtrl-Shift-U"));
|
||||||
@ -922,6 +932,21 @@ void WidgetsFrame::OnSetBorder(wxCommandEvent& event)
|
|||||||
page->RecreateWidget();
|
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)
|
void WidgetsFrame::OnToggleGlobalBusyCursor(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
if ( event.IsChecked() )
|
if ( event.IsChecked() )
|
||||||
|
Loading…
Reference in New Issue
Block a user