Show loading wxPropertyGrid from XRC in the sample

Demonstrate defining wxPropertyGridManager in XRC.
This commit is contained in:
Vadim Zeitlin 2023-11-12 20:31:08 +01:00
parent edf94f684c
commit f6a1b1a18a
8 changed files with 206 additions and 13 deletions

View file

@ -115,7 +115,7 @@ wx_add_sample(power)
wx_add_sample(preferences DEPENDS wxUSE_PREFERENCES_EDITOR) wx_add_sample(preferences DEPENDS wxUSE_PREFERENCES_EDITOR)
wx_add_sample(printing printing.cpp printing.h DEPENDS wxUSE_PRINTING_ARCHITECTURE) wx_add_sample(printing printing.cpp printing.h DEPENDS wxUSE_PRINTING_ARCHITECTURE)
wx_add_sample(propgrid propgrid.cpp propgrid_minimal.cpp sampleprops.cpp 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 FOLDER render)
wx_add_sample(render DLL renddll.cpp NAME renddll 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) wx_add_sample(ribbon ribbondemo.cpp LIBRARIES wxribbon NAME ribbondemo DEPENDS wxUSE_RIBBON)

View file

@ -31,6 +31,7 @@ TOOLKIT_VERSION = @TOOLKIT_VERSION@
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@ TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
EXTRALIBS = @EXTRALIBS@ EXTRALIBS = @EXTRALIBS@
EXTRALIBS_XML = @EXTRALIBS_XML@ EXTRALIBS_XML = @EXTRALIBS_XML@
EXTRALIBS_HTML = @EXTRALIBS_HTML@
EXTRALIBS_GUI = @EXTRALIBS_GUI@ EXTRALIBS_GUI = @EXTRALIBS_GUI@
WX_CPPFLAGS = @WX_CPPFLAGS@ WX_CPPFLAGS = @WX_CPPFLAGS@
WX_CXXFLAGS = @WX_CXXFLAGS@ 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 = \ COND_MONOLITHIC_0___WXLIB_PROPGRID_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid-$(WX_RELEASE)$(HOST_SUFFIX) -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_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 = \ COND_MONOLITHIC_0___WXLIB_CORE_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX) -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_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 = \ COND_MONOLITHIC_0___WXLIB_BASE_p = \
-lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX) -lwx_base$(WXBASEPORT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p) @COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
@ -141,7 +151,7 @@ COND_MONOLITHIC_1___WXLIB_MONO_p = \
### Targets: ### ### Targets: ###
all: propgrid$(EXEEXT) $(__propgrid_bundle___depname) all: propgrid$(EXEEXT) $(__propgrid_bundle___depname) data
install: install:
@ -159,7 +169,7 @@ distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
propgrid$(EXEEXT): $(PROPGRID_OBJECTS) $(__propgrid___win32rc) 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) $(__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 @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) @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 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 $(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: # Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d @IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean propgrid_bundle .PHONY: all install uninstall clean distclean propgrid_bundle data

View file

@ -135,10 +135,22 @@ __WXLIB_PROPGRID_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid
endif endif
ifeq ($(MONOLITHIC),0) 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 = \ __WXLIB_CORE_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core
endif endif
ifeq ($(MONOLITHIC),0) 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) __WXLIB_BASE_p = -lwxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif endif
ifeq ($(MONOLITHIC),1) ifeq ($(MONOLITHIC),1)
@ -203,7 +215,7 @@ $(OBJS):
### Targets: ### ### Targets: ###
all: $(OBJS)\propgrid.exe all: $(OBJS)\propgrid.exe data
clean: clean:
-if exist $(OBJS)\*.o del $(OBJS)\*.o -if exist $(OBJS)\*.o del $(OBJS)\*.o
@ -213,9 +225,13 @@ clean:
$(OBJS)\propgrid.exe: $(PROPGRID_OBJECTS) $(OBJS)\propgrid_sample_rc.o $(OBJS)\propgrid.exe: $(PROPGRID_OBJECTS) $(OBJS)\propgrid_sample_rc.o
$(foreach f,$(subst \,/,$(PROPGRID_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp)) $(foreach f,$(subst \,/,$(PROPGRID_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
@move /y $@.rsp.tmp $@.rsp >nul @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 @-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 $(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 $(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 $(OBJS)\propgrid_sampleprops.o: ./sampleprops.cpp
$(CXX) -c -o $@ $(PROPGRID_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(PROPGRID_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all clean .PHONY: all clean data
SHELL := $(COMSPEC) SHELL := $(COMSPEC)

View file

@ -90,7 +90,7 @@ test_for_selected_wxbuild:
@$(WX_CONFIG) $(WX_CONFIG_FLAGS) @$(WX_CONFIG) $(WX_CONFIG_FLAGS)
propgrid: $(PROPGRID_OBJECTS) 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 propgrid_propgrid.o: ./propgrid.cpp
$(CXX) -c -o $@ $(PROPGRID_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(PROPGRID_CXXFLAGS) $(CPPDEPS) $<

View file

@ -366,10 +366,22 @@ __WXLIB_PROPGRID_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_propgrid.lib
!endif !endif
!if "$(MONOLITHIC)" == "0" !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 = \ __WXLIB_CORE_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
!endif !endif
!if "$(MONOLITHIC)" == "0" !if "$(MONOLITHIC)" == "0"
__WXLIB_XML_p = \
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_BASE_p = \ __WXLIB_BASE_p = \
wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib wxbase$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif !endif
@ -409,7 +421,7 @@ $(OBJS):
### Targets: ### ### Targets: ###
all: $(OBJS)\propgrid.exe all: $(OBJS)\propgrid.exe data
clean: clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@ -421,9 +433,13 @@ clean:
$(OBJS)\propgrid.exe: $(PROPGRID_OBJECTS) $(OBJS)\propgrid_sample.res $(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) @<< 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 $(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 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

View file

@ -14,8 +14,14 @@
propgrid.h propgrid.h
</headers> </headers>
<wx-lib>propgrid</wx-lib> <wx-lib>propgrid</wx-lib>
<wx-lib>xrc</wx-lib>
<wx-lib>html</wx-lib>
<wx-lib>core</wx-lib> <wx-lib>core</wx-lib>
<wx-lib>xml</wx-lib>
<wx-lib>base</wx-lib> <wx-lib>base</wx-lib>
</exe> </exe>
<wx-data id="data">
<files>propgrid.xrc</files>
</wx-data>
</makefile> </makefile>

View file

@ -54,6 +54,9 @@
// This defines wxPropertyGridManager. // This defines wxPropertyGridManager.
#include "wx/propgrid/manager.h" #include "wx/propgrid/manager.h"
// XRC handler for wxPropertyGrid.
#include "wx/xrc/xh_propgrid.h"
#include "propgrid.h" #include "propgrid.h"
#include "sampleprops.h" #include "sampleprops.h"
@ -991,7 +994,37 @@ static const long _fs_framestyle_values[] = {
}; };
void FormMain::OnTestXRC(wxCommandEvent& WXUNUSED(event)) 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)) 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_SETCOLUMNS, "Set Number of Columns" );
menuTry->Append(ID_SETVIRTWIDTH, "Set Virtual Width"); menuTry->Append(ID_SETVIRTWIDTH, "Set Virtual Width");
menuTry->AppendCheckItem(ID_SETPGDISABLED, "Disable Grid"); 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_RUNMINIMAL, "Run Minimal Sample" );
menuFile->Append(ID_TESTXRC, "Load from XRC\tCtrl-R" );
menuFile->AppendSeparator(); menuFile->AppendSeparator();
menuFile->Append(ID_QUIT, "E&xit\tAlt-X", "Quit this program" ); menuFile->Append(ID_QUIT, "E&xit\tAlt-X", "Quit this program" );

View file

@ -0,0 +1,101 @@
<?xml version="1.0"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxFrame" name="propgrid">
<title>wxPropertyGrid XRC Demo</title>
<object class="wxBoxSizer">
<object class="sizeritem">
<option>1</option>
<flag>wxALL|wxEXPAND</flag>
<border>5</border>
<object class="wxPropertyGridManager">
<style>wxPG_AUTO_SORT|wxPG_TOOLTIPS|wxPG_TOOLBAR</style>
<exstyle>wxPG_EX_MODE_BUTTONS|wxPG_EX_HELP_AS_TOOLTIPS</exstyle>
<virtualwidth>0</virtualwidth>
<page>
<label>Sample Page 1</label>
<property class="wxPropertyCategory">
<label>Appearance</label>
<property class="wxSystemColourProperty">
<label>Cell Colour</label>
<value>(255,255,255)</value>
<tip>Sample help string</tip>
</property>
<property class="wxSystemColourProperty">
<label>Cell Text Colour</label>
<value>(0,0,0)</value>
</property>
<property class="wxFlagsProperty">
<label>Window Styles</label>
<!-- List of supported flags: COLLAPSED, DISABLED, HIDDEN, NOEDITOR -->
<flags>EXPANDED</flags>
<choices id="WindowStyles">"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
</choices>
<value>wxTAB__TRAVERSAL, wxCAPTION, wxCLOSE__BOX, wxSYSTEM__MENU, wxRESIZE__BORDER</value>
<tip>NB: These window style values are not genuine!</tip>
</property>
<property class="wxCursorProperty">
<label>Cursor</label>
<value>Default</value>
</property>
<property class="wxFontProperty">
<label>Font</label>
<value>10; Swiss; Abadi MT Condensed Extra Bold; Normal; Normal; False</value>
<expanded>1</expanded>
</property>
<property class="wxStringProperty">
<label>Label</label>
<value>wxPropertyGrid Sample</value>
</property>
</property>
<property class="wxPropertyCategory">
<label>Miscellaneous</label>
<property class="wxFileProperty">
<label>File Property</label>
<value>samples.xrc</value>
<attribute name="Wildcard">XRC files (*.xrc)|*.xrc</attribute>
<attribute name="ShowFullPath">true</attribute>
<attribute name="DialogTitle">This is custom dialog title</attribute>
</property>
</property>
</page>
<page>
<label>Sample Page 2</label>
<columns>3</columns>
<!-- NB: Regardless that choices must be defined on page-level, they are global. -->
<choices id="EnterpriseCrew">"Picard" "Riker" "Data" "LaForge" "Worf" "Crusher" "Troi"
</choices>
<splitterpos>30%</splitterpos>
<splitterpos index="1">90%</splitterpos>
<property class="wxEnumProperty">
<label>Enum Property 1</label>
<value>Riker</value>
<choices>@EnterpriseCrew</choices>
</property>
<property class="wxEnumProperty">
<label>Enum Property 2</label>
<value>Data</value>
<choices>@EnterpriseCrew</choices>
</property>
<property class="wxEnumProperty">
<label>Enum Property 3</label>
<value>Picard</value>
<!-- NB: Since choices with given id has already been defined, it
is used instead of this new list. -->
<choices id="EnterpriseCrew">"Kirk" "Spock" "McCoy"
</choices>
</property>
</page>
</object>
</object>
</object>
</object>
</resource>