From bc4261e3c7b82a98ae80fb04a604a08768b81bc7 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 3 Aug 2014 17:56:20 +0000 Subject: [PATCH] Add a more complete example of different controls variants in XRC. Add a dialog showing all the existing variants of a few common controls to allow seeing at a glance how do they look. See #16247. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/xrc/Makefile.in | 2 +- samples/xrc/makefile.bcc | 2 +- samples/xrc/makefile.gcc | 2 +- samples/xrc/makefile.vc | 2 +- samples/xrc/myframe.cpp | 8 +++ samples/xrc/myframe.h | 1 + samples/xrc/rc/derivdlg.xrc | 1 - samples/xrc/rc/menu.xrc | 5 ++ samples/xrc/rc/variants.xpm | 23 ++++++++ samples/xrc/rc/variants.xrc | 110 ++++++++++++++++++++++++++++++++++++ samples/xrc/xrcdemo.bkl | 4 +- 11 files changed, 154 insertions(+), 6 deletions(-) create mode 100644 samples/xrc/rc/variants.xpm create mode 100644 samples/xrc/rc/variants.xrc diff --git a/samples/xrc/Makefile.in b/samples/xrc/Makefile.in index 077428584a..06542df69d 100644 --- a/samples/xrc/Makefile.in +++ b/samples/xrc/Makefile.in @@ -203,7 +203,7 @@ xrcdemo$(EXEEXT): $(XRCDEMO_OBJECTS) $(__xrcdemo___win32rc) data: @mkdir -p ./rc - @for f in aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc throbber.gif stop.xpm wxbanner.gif; do \ + @for f in aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc variants.xpm variants.xrc throbber.gif stop.xpm wxbanner.gif; do \ if test ! -f ./rc/$$f -a ! -d ./rc/$$f ; \ then x=yep ; \ else x=`find $(srcdir)/rc/$$f -newer ./rc/$$f -print` ; \ diff --git a/samples/xrc/makefile.bcc b/samples/xrc/makefile.bcc index 3aef18bb69..689584bc2a 100644 --- a/samples/xrc/makefile.bcc +++ b/samples/xrc/makefile.bcc @@ -261,7 +261,7 @@ $(OBJS)\xrcdemo.exe: $(XRCDEMO_OBJECTS) $(OBJS)\xrcdemo_sample.res data: if not exist $(OBJS)\rc mkdir $(OBJS)\rc - for %f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc throbber.gif stop.xpm wxbanner.gif) do if not exist $(OBJS)\rc\%f copy .\rc\%f $(OBJS)\rc + for %f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc variants.xpm variants.xrc throbber.gif stop.xpm wxbanner.gif) do if not exist $(OBJS)\rc\%f copy .\rc\%f $(OBJS)\rc $(OBJS)\xrcdemo_sample.res: .\..\..\samples\sample.rc brcc32 -32 -r -fo$@ -i$(BCCDIR)\include -d__WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) -i$(SETUPHDIR) -i.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_1_p) -i. $(__DLLFLAG_p_1) -i.\..\..\samples -dNOPCH .\..\..\samples\sample.rc diff --git a/samples/xrc/makefile.gcc b/samples/xrc/makefile.gcc index e056220dd6..1b81414626 100644 --- a/samples/xrc/makefile.gcc +++ b/samples/xrc/makefile.gcc @@ -250,7 +250,7 @@ $(OBJS)\xrcdemo.exe: $(XRCDEMO_OBJECTS) $(OBJS)\xrcdemo_sample_rc.o data: if not exist $(OBJS)\rc mkdir $(OBJS)\rc - for %%f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc throbber.gif stop.xpm wxbanner.gif) do if not exist $(OBJS)\rc\%%f copy .\rc\%%f $(OBJS)\rc + for %%f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc variants.xpm variants.xrc throbber.gif stop.xpm wxbanner.gif) do if not exist $(OBJS)\rc\%%f copy .\rc\%%f $(OBJS)\rc $(OBJS)\xrcdemo_sample_rc.o: ./../../samples/sample.rc $(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_1) --include-dir ./../../samples --define NOPCH diff --git a/samples/xrc/makefile.vc b/samples/xrc/makefile.vc index e743069073..921bdc675b 100644 --- a/samples/xrc/makefile.vc +++ b/samples/xrc/makefile.vc @@ -384,7 +384,7 @@ $(OBJS)\xrcdemo.exe: $(XRCDEMO_OBJECTS) $(OBJS)\xrcdemo_sample.res data: if not exist $(OBJS)\rc mkdir $(OBJS)\rc - for %f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc throbber.gif stop.xpm wxbanner.gif) do if not exist $(OBJS)\rc\%f copy .\rc\%f $(OBJS)\rc + for %f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas.xrc derivdlg.xpm derivdlg.xrc fileopen.gif filesave.gif frame.xrc fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc variants.xpm variants.xrc throbber.gif stop.xpm wxbanner.gif) do if not exist $(OBJS)\rc\%f copy .\rc\%f $(OBJS)\rc $(OBJS)\xrcdemo_sample.res: .\..\..\samples\sample.rc rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_3_p_1) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_1) /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_1_p) /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\samples /d NOPCH .\..\..\samples\sample.rc diff --git a/samples/xrc/myframe.cpp b/samples/xrc/myframe.cpp index f4c64c45b8..67819b8277 100644 --- a/samples/xrc/myframe.cpp +++ b/samples/xrc/myframe.cpp @@ -91,6 +91,7 @@ wxBEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(XRCID("platform_property_tool_or_menuitem"), MyFrame::OnPlatformPropertyToolOrMenuCommand) EVT_MENU(XRCID("art_provider_tool_or_menuitem"), MyFrame::OnArtProviderToolOrMenuCommand) EVT_MENU(XRCID("variable_expansion_tool_or_menuitem"), MyFrame::OnVariableExpansionToolOrMenuCommand) + EVT_MENU(XRCID("variants"), MyFrame::OnVariants) EVT_MENU(XRCID("recursive_load"), MyFrame::OnRecursiveLoad) EVT_MENU(wxID_ABOUT, MyFrame::OnAboutToolOrMenuCommand) wxEND_EVENT_TABLE() @@ -343,6 +344,13 @@ void MyFrame::OnVariableExpansionToolOrMenuCommand(wxCommandEvent& WXUNUSED(even dlg.ShowModal(); } +void MyFrame::OnVariants(wxCommandEvent& WXUNUSED(event)) +{ + wxDialog dlg; + wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("variants_dialog")); + dlg.ShowModal(); +} + void MyFrame::OnRecursiveLoad(wxCommandEvent& WXUNUSED(event)) { // this dialog is created manually to show how you can inject a single diff --git a/samples/xrc/myframe.h b/samples/xrc/myframe.h index 52c3d8ce52..c4e88deba9 100644 --- a/samples/xrc/myframe.h +++ b/samples/xrc/myframe.h @@ -49,6 +49,7 @@ private: void OnPlatformPropertyToolOrMenuCommand(wxCommandEvent& event); void OnArtProviderToolOrMenuCommand(wxCommandEvent& event); void OnVariableExpansionToolOrMenuCommand(wxCommandEvent& event); + void OnVariants(wxCommandEvent& event); void OnRecursiveLoad(wxCommandEvent& event); void OnAnimationCtrlPlay(wxCommandEvent& event); diff --git a/samples/xrc/rc/derivdlg.xrc b/samples/xrc/rc/derivdlg.xrc index 26bea4f7c6..b1df3f0880 100644 --- a/samples/xrc/rc/derivdlg.xrc +++ b/samples/xrc/rc/derivdlg.xrc @@ -27,7 +27,6 @@ 5 - small diff --git a/samples/xrc/rc/menu.xrc b/samples/xrc/rc/menu.xrc index 06b1858484..c2d6336399 100644 --- a/samples/xrc/rc/menu.xrc +++ b/samples/xrc/rc/menu.xrc @@ -79,6 +79,11 @@ variable.xpm Replace variables in the XRC file at runtime + + + variants.xpm + Show different controls variants + Show how an individual control can be loaded diff --git a/samples/xrc/rc/variants.xpm b/samples/xrc/rc/variants.xpm new file mode 100644 index 0000000000..283413e4b4 --- /dev/null +++ b/samples/xrc/rc/variants.xpm @@ -0,0 +1,23 @@ +/* XPM */ +static const char *const variants_xpm[] = { +"16 16 4 1", +" c None", +". c #0E2CEF", +"- c #EF2C0E", +"* c #0EEF2C", +" ", +" **** ", +" **** ", +" **** ", +" **** ", +" ---- **** ", +" ---- **** ", +" ---- **** ", +" ---- **** ", +"... ---- **** ", +"... ---- **** ", +"... ---- **** ", +"... ---- **** ", +"... ---- **** ", +"... ---- **** ", +" "}; diff --git a/samples/xrc/rc/variants.xrc b/samples/xrc/rc/variants.xrc new file mode 100644 index 0000000000..e3c624f1ad --- /dev/null +++ b/samples/xrc/rc/variants.xrc @@ -0,0 +1,110 @@ + + + + + + Control Variants Example + 1 + + 4 + 10 + 10 + + wxALIGN_CENTER|wxALL + 5 + + + mini + + + + wxALIGN_CENTER|wxALL + 5 + + + small + + + + wxALIGN_CENTER|wxALL + 5 + + + + + + wxALIGN_CENTER|wxALL + 5 + + + large + + + + + wxALIGN_CENTER|wxALL + 5 + + + mini + + + + wxALIGN_CENTER|wxALL + 5 + + + small + + + + wxALIGN_CENTER|wxALL + 5 + + + + + + wxALIGN_CENTER|wxALL + 5 + + + large + + + + + wxALIGN_CENTER|wxALL + 5 + + + mini + + + + wxALIGN_CENTER|wxALL + 5 + + + small + + + + wxALIGN_CENTER|wxALL + 5 + + + + + + wxALIGN_CENTER|wxALL + 5 + + + large + + + + + + diff --git a/samples/xrc/xrcdemo.bkl b/samples/xrc/xrcdemo.bkl index 7d07a26286..7efdb4eddf 100644 --- a/samples/xrc/xrcdemo.bkl +++ b/samples/xrc/xrcdemo.bkl @@ -39,7 +39,9 @@ fuzzy.gif menu.xrc platform.xpm platform.xrc quotes.gif resource.xrc toolbar.xrc uncenter.xpm objref.xrc objrefdlg.xpm - uncenter.xrc update.gif variable.xpm variable.xrc + uncenter.xrc update.gif + variable.xpm variable.xrc + variants.xpm variants.xrc throbber.gif stop.xpm wxbanner.gif