From f6a1b1a18a09c304b9a4584da11fbbc3af320916 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 12 Nov 2023 20:31:08 +0100 Subject: [PATCH] Show loading wxPropertyGrid from XRC in the sample Demonstrate defining wxPropertyGridManager in XRC. --- build/cmake/samples/CMakeLists.txt | 2 +- samples/propgrid/Makefile.in | 28 +++++++- samples/propgrid/makefile.gcc | 22 ++++++- samples/propgrid/makefile.unx | 2 +- samples/propgrid/makefile.vc | 20 +++++- samples/propgrid/propgrid.bkl | 6 ++ samples/propgrid/propgrid.cpp | 38 ++++++++++- samples/propgrid/propgrid.xrc | 101 +++++++++++++++++++++++++++++ 8 files changed, 206 insertions(+), 13 deletions(-) create mode 100644 samples/propgrid/propgrid.xrc diff --git a/build/cmake/samples/CMakeLists.txt b/build/cmake/samples/CMakeLists.txt index 26139390a3..75053ae665 100644 --- a/build/cmake/samples/CMakeLists.txt +++ b/build/cmake/samples/CMakeLists.txt @@ -115,7 +115,7 @@ wx_add_sample(power) wx_add_sample(preferences DEPENDS wxUSE_PREFERENCES_EDITOR) wx_add_sample(printing printing.cpp printing.h DEPENDS wxUSE_PRINTING_ARCHITECTURE) wx_add_sample(propgrid propgrid.cpp propgrid_minimal.cpp sampleprops.cpp - sampleprops.h propgrid.h LIBRARIES wxpropgrid NAME propgriddemo DEPENDS wxUSE_PROPGRID) + sampleprops.h propgrid.h LIBRARIES wxpropgrid wxxrc NAME propgriddemo DEPENDS wxUSE_PROPGRID) wx_add_sample(render FOLDER render) wx_add_sample(render DLL renddll.cpp NAME renddll FOLDER render) wx_add_sample(ribbon ribbondemo.cpp LIBRARIES wxribbon NAME ribbondemo DEPENDS wxUSE_RIBBON) diff --git a/samples/propgrid/Makefile.in b/samples/propgrid/Makefile.in index a6348acb64..2fdb7bbb67 100644 --- a/samples/propgrid/Makefile.in +++ b/samples/propgrid/Makefile.in @@ -31,6 +31,7 @@ TOOLKIT_VERSION = @TOOLKIT_VERSION@ TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@ EXTRALIBS = @EXTRALIBS@ EXTRALIBS_XML = @EXTRALIBS_XML@ +EXTRALIBS_HTML = @EXTRALIBS_HTML@ EXTRALIBS_GUI = @EXTRALIBS_GUI@ WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CXXFLAGS = @WX_CXXFLAGS@ @@ -107,9 +108,18 @@ COND_PLATFORM_OS2_1___propgrid___os2_emxbindcmd = $(NM) propgrid$(EXEEXT) | if \ COND_MONOLITHIC_0___WXLIB_PROPGRID_p = \ -lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid-$(WX_RELEASE)$(HOST_SUFFIX) @COND_MONOLITHIC_0@__WXLIB_PROPGRID_p = $(COND_MONOLITHIC_0___WXLIB_PROPGRID_p) +COND_MONOLITHIC_0___WXLIB_XRC_p = \ + -lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc-$(WX_RELEASE)$(HOST_SUFFIX) +@COND_MONOLITHIC_0@__WXLIB_XRC_p = $(COND_MONOLITHIC_0___WXLIB_XRC_p) +COND_MONOLITHIC_0___WXLIB_HTML_p = \ + -lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html-$(WX_RELEASE)$(HOST_SUFFIX) +@COND_MONOLITHIC_0@__WXLIB_HTML_p = $(COND_MONOLITHIC_0___WXLIB_HTML_p) COND_MONOLITHIC_0___WXLIB_CORE_p = \ -lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX) @COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p) +COND_MONOLITHIC_0___WXLIB_XML_p = \ + -lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml-$(WX_RELEASE)$(HOST_SUFFIX) +@COND_MONOLITHIC_0@__WXLIB_XML_p = $(COND_MONOLITHIC_0___WXLIB_XML_p) COND_MONOLITHIC_0___WXLIB_BASE_p = \ -lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX) @COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p) @@ -141,7 +151,7 @@ COND_MONOLITHIC_1___WXLIB_MONO_p = \ ### Targets: ### -all: propgrid$(EXEEXT) $(__propgrid_bundle___depname) +all: propgrid$(EXEEXT) $(__propgrid_bundle___depname) data install: @@ -159,7 +169,7 @@ distclean: clean rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile propgrid$(EXEEXT): $(PROPGRID_OBJECTS) $(__propgrid___win32rc) - $(CXX) -o $@ $(PROPGRID_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_PROPGRID_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) + $(CXX) -o $@ $(PROPGRID_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_PROPGRID_p) $(__WXLIB_XRC_p) $(__WXLIB_HTML_p) $(EXTRALIBS_HTML) $(__WXLIB_CORE_p) $(__WXLIB_XML_p) $(EXTRALIBS_XML) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) $(__propgrid___os2_emxbindcmd) @COND_PLATFORM_MACOSX_1@propgrid.app/Contents/PkgInfo: propgrid$(EXEEXT) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns @@ -189,6 +199,18 @@ propgrid$(EXEEXT): $(PROPGRID_OBJECTS) $(__propgrid___win32rc) @COND_PLATFORM_MACOSX_1@propgrid_bundle: $(____propgrid_BUNDLE_TGT_REF_DEP) +data: + @mkdir -p . + @for f in propgrid.xrc; do \ + if test ! -f ./$$f -a ! -d ./$$f ; \ + then x=yep ; \ + else x=`find $(srcdir)/$$f -newer ./$$f -print` ; \ + fi; \ + case "$$x" in ?*) \ + cp -pRf $(srcdir)/$$f . ;; \ + esac; \ + done + propgrid_sample_rc.o: $(srcdir)/../../samples/sample.rc $(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) --include-dir $(srcdir) $(__DLLFLAG_p_1) $(__WIN32_DPI_MANIFEST_p) --include-dir $(srcdir)/../../samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include @@ -205,4 +227,4 @@ propgrid_sampleprops.o: $(srcdir)/sampleprops.cpp # Include dependency info, if present: @IF_GNU_MAKE@-include ./.deps/*.d -.PHONY: all install uninstall clean distclean propgrid_bundle +.PHONY: all install uninstall clean distclean propgrid_bundle data diff --git a/samples/propgrid/makefile.gcc b/samples/propgrid/makefile.gcc index e73e8f97fe..f392880b4c 100644 --- a/samples/propgrid/makefile.gcc +++ b/samples/propgrid/makefile.gcc @@ -135,10 +135,22 @@ __WXLIB_PROPGRID_p = \ -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid endif ifeq ($(MONOLITHIC),0) +__WXLIB_XRC_p = \ + -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc +endif +ifeq ($(MONOLITHIC),0) +__WXLIB_HTML_p = \ + -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html +endif +ifeq ($(MONOLITHIC),0) __WXLIB_CORE_p = \ -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core endif ifeq ($(MONOLITHIC),0) +__WXLIB_XML_p = \ + -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml +endif +ifeq ($(MONOLITHIC),0) __WXLIB_BASE_p = -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR) endif ifeq ($(MONOLITHIC),1) @@ -203,7 +215,7 @@ $(OBJS): ### Targets: ### -all: $(OBJS)\propgrid.exe +all: $(OBJS)\propgrid.exe data clean: -if exist $(OBJS)\*.o del $(OBJS)\*.o @@ -213,9 +225,13 @@ clean: $(OBJS)\propgrid.exe: $(PROPGRID_OBJECTS) $(OBJS)\propgrid_sample_rc.o $(foreach f,$(subst \,/,$(PROPGRID_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp)) @move /y $@.rsp.tmp $@.rsp >nul - $(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) $(__WXLIB_PROPGRID_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme + $(CXX) -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) $(__WXLIB_PROPGRID_p) $(__WXLIB_XRC_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_XML_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme @-del $@.rsp +data: + if not exist $(OBJS) mkdir $(OBJS) + for %%f in (propgrid.xrc) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS) + $(OBJS)\propgrid_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) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_1) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../samples --define NOPCH @@ -228,7 +244,7 @@ $(OBJS)\propgrid_propgrid_minimal.o: ./propgrid_minimal.cpp $(OBJS)\propgrid_sampleprops.o: ./sampleprops.cpp $(CXX) -c -o $@ $(PROPGRID_CXXFLAGS) $(CPPDEPS) $< -.PHONY: all clean +.PHONY: all clean data SHELL := $(COMSPEC) diff --git a/samples/propgrid/makefile.unx b/samples/propgrid/makefile.unx index 260c97c228..4250f40c69 100644 --- a/samples/propgrid/makefile.unx +++ b/samples/propgrid/makefile.unx @@ -90,7 +90,7 @@ test_for_selected_wxbuild: @$(WX_CONFIG) $(WX_CONFIG_FLAGS) propgrid: $(PROPGRID_OBJECTS) - $(CXX) -o $@ $(PROPGRID_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs propgrid,core,base` + $(CXX) -o $@ $(PROPGRID_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs propgrid,xrc,html,core,xml,base` propgrid_propgrid.o: ./propgrid.cpp $(CXX) -c -o $@ $(PROPGRID_CXXFLAGS) $(CPPDEPS) $< diff --git a/samples/propgrid/makefile.vc b/samples/propgrid/makefile.vc index f90195e98e..51bde34796 100644 --- a/samples/propgrid/makefile.vc +++ b/samples/propgrid/makefile.vc @@ -366,10 +366,22 @@ __WXLIB_PROPGRID_p = \ wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib !endif !if "$(MONOLITHIC)" == "0" +__WXLIB_XRC_p = \ + wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xrc.lib +!endif +!if "$(MONOLITHIC)" == "0" +__WXLIB_HTML_p = \ + wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_html.lib +!endif +!if "$(MONOLITHIC)" == "0" __WXLIB_CORE_p = \ wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib !endif !if "$(MONOLITHIC)" == "0" +__WXLIB_XML_p = \ + wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib +!endif +!if "$(MONOLITHIC)" == "0" __WXLIB_BASE_p = \ wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib !endif @@ -409,7 +421,7 @@ $(OBJS): ### Targets: ### -all: $(OBJS)\propgrid.exe +all: $(OBJS)\propgrid.exe data clean: -if exist $(OBJS)\*.obj del $(OBJS)\*.obj @@ -421,9 +433,13 @@ clean: $(OBJS)\propgrid.exe: $(PROPGRID_OBJECTS) $(OBJS)\propgrid_sample.res link /NOLOGO /OUT:$@ $(__DEBUGINFO_1) /pdb:"$(OBJS)\propgrid.pdb" $(__DEBUGINFO_2) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:WINDOWS $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) @<< - $(PROPGRID_OBJECTS) $(PROPGRID_RESOURCES) $(__WXLIB_PROPGRID_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib + $(PROPGRID_OBJECTS) $(PROPGRID_RESOURCES) $(__WXLIB_PROPGRID_p) $(__WXLIB_XRC_p) $(__WXLIB_HTML_p) $(__WXLIB_CORE_p) $(__WXLIB_XML_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib << +data: + if not exist $(OBJS) mkdir $(OBJS) + for %f in (propgrid.xrc) do if not exist $(OBJS)\%f copy .\%f $(OBJS) + $(OBJS)\propgrid_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) $(__TARGET_CPU_COMPFLAG_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) /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/propgrid/propgrid.bkl b/samples/propgrid/propgrid.bkl index fa20bc026f..435c8be59d 100644 --- a/samples/propgrid/propgrid.bkl +++ b/samples/propgrid/propgrid.bkl @@ -14,8 +14,14 @@ propgrid.h propgrid + xrc + html core + xml base + + propgrid.xrc + diff --git a/samples/propgrid/propgrid.cpp b/samples/propgrid/propgrid.cpp index 6a80151c9a..38b5e8e169 100644 --- a/samples/propgrid/propgrid.cpp +++ b/samples/propgrid/propgrid.cpp @@ -54,6 +54,9 @@ // This defines wxPropertyGridManager. #include "wx/propgrid/manager.h" +// XRC handler for wxPropertyGrid. +#include "wx/xrc/xh_propgrid.h" + #include "propgrid.h" #include "sampleprops.h" @@ -991,7 +994,37 @@ static const long _fs_framestyle_values[] = { }; void FormMain::OnTestXRC(wxCommandEvent& WXUNUSED(event)) { - wxMessageBox("Sorry, not yet implemented"); +#if wxUSE_XRC + auto& xml = *wxXmlResource::Get(); + + static bool s_added = false; + if ( !s_added ) + { + s_added = true; + xml.InitAllHandlers(); + + // This needs to be done in addition to initializing all the standard + // handlers above. + xml.AddHandler(new wxPropertyGridXmlHandler); + } + + if ( !xml.Load("propgrid.xrc") ) + { + wxLogError("XRC file couldn't be loaded."); + return; + } + + auto const frame = xml.LoadFrame(this, "propgrid"); + if ( !frame ) + { + wxLogError("Property grid frame couldn't be loaded from XRC"); + return; + } + + frame->Show(); +#else + wxMessageBox("Sorry, XRC support is not available in this build."); +#endif } void FormMain::OnEnableCommonValues(wxCommandEvent& WXUNUSED(event)) @@ -2072,10 +2105,9 @@ FormMain::FormMain(const wxString& title) menuTry->Append(ID_SETCOLUMNS, "Set Number of Columns" ); menuTry->Append(ID_SETVIRTWIDTH, "Set Virtual Width"); menuTry->AppendCheckItem(ID_SETPGDISABLED, "Disable Grid"); - menuTry->AppendSeparator(); - menuTry->Append(ID_TESTXRC, "Display XRC sample" ); menuFile->Append(ID_RUNMINIMAL, "Run Minimal Sample" ); + menuFile->Append(ID_TESTXRC, "Load from XRC\tCtrl-R" ); menuFile->AppendSeparator(); menuFile->Append(ID_QUIT, "E&xit\tAlt-X", "Quit this program" ); diff --git a/samples/propgrid/propgrid.xrc b/samples/propgrid/propgrid.xrc new file mode 100644 index 0000000000..9fab75b189 --- /dev/null +++ b/samples/propgrid/propgrid.xrc @@ -0,0 +1,101 @@ + + + + + wxPropertyGrid XRC Demo + + + + wxALL|wxEXPAND + 5 + + + wxPG_EX_MODE_BUTTONS|wxPG_EX_HELP_AS_TOOLTIPS + 0 + + + + + + + (255,255,255) + Sample help string + + + + (0,0,0) + + + + + EXPANDED + "wxSIMPLE_BORDER"=0x0001 "wxDOUBLE_BORDER"=0x0002 + "wxSUNKEN_BORDER"=0x0004 "wxRAISED_BORDER"=0x0008 + "wxNO_BORDER"=0x0010 "wxTRANSPARENT_WINDOW"=0x0020 + "wxTAB_TRAVERSAL"=0x0040 "wxWANTS_CHARS"=0x0080 + "wxCAPTION"=0x0100 "wxMINIMIZE"=0x0200 + "wxMAXIMIZE"=0x0400 "wxCLOSE_BOX"=0x0800 + "wxSTAY_ON_TOP"=0x1000 "wxSYSTEM_MENU"=0x2000 + "wxRESIZE_BORDER"=0x4000 "wxFRAME_TOOL_WINDOW"=0x8000 + + wxTAB__TRAVERSAL, wxCAPTION, wxCLOSE__BOX, wxSYSTEM__MENU, wxRESIZE__BORDER + NB: These window style values are not genuine! + + + + Default + + + + 10; Swiss; Abadi MT Condensed Extra Bold; Normal; Normal; False + 1 + + + + wxPropertyGrid Sample + + + + + + + samples.xrc + XRC files (*.xrc)|*.xrc + true + This is custom dialog title + + + + + + 3 + + "Picard" "Riker" "Data" "LaForge" "Worf" "Crusher" "Troi" + + 30% + 90% + + + Riker + @EnterpriseCrew + + + + Data + @EnterpriseCrew + + + + Picard + + "Kirk" "Spock" "McCoy" + + + + + + + + +