initial commit

Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
2025-10-31 23:37:30 +01:00
commit bf6b52fd94
9654 changed files with 4035664 additions and 0 deletions

View File

@@ -0,0 +1,244 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
@MAKE_SET@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
INSTALL = @INSTALL@
EXEEXT = @EXEEXT@
WINDRES = @WINDRES@
NM = @NM@
BK_DEPS = @BK_DEPS@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
LIBS = @LIBS@
LDFLAGS_GUI = @LDFLAGS_GUI@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
USE_DPI_AWARE_MANIFEST = @USE_DPI_AWARE_MANIFEST@
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
TOOLKIT = @TOOLKIT@
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
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@
WX_LDFLAGS = @WX_LDFLAGS@
HOST_SUFFIX = @HOST_SUFFIX@
DYLIB_RPATH_FLAG = @DYLIB_RPATH_FLAG@
SAMPLES_CXXFLAGS = @SAMPLES_CXXFLAGS@
wx_top_builddir = @wx_top_builddir@
### Variables: ###
DESTDIR =
WX_RELEASE = 3.3
WX_VERSION = $(WX_RELEASE).1
LIBDIRNAME = $(wx_top_builddir)/lib
XRCDEMO_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
$(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) -I$(srcdir)/../../samples \
$(WX_CXXFLAGS) $(SAMPLES_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
XRCDEMO_OBJECTS = \
$(__xrcdemo___win32rc) \
xrcdemo_xrcdemo.o \
xrcdemo_myframe.o \
xrcdemo_derivdlg.o \
xrcdemo_custclas.o \
xrcdemo_objrefdlg.o
### Conditionally set variables: ###
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
@COND_DEPS_TRACKING_1@CXXC = $(BK_DEPS) $(CXX)
@COND_USE_GUI_0@PORTNAME = base
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
@COND_BUILD_debug@WXDEBUGFLAG = d
@COND_WXUNIV_1@WXUNIVNAME = univ
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) \
@COND_MONOLITHIC_1@ $(EXTRALIBS_XML) $(EXTRALIBS_GUI)
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
@COND_DEBUG_FLAG_0@__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
@COND_USE_RTTI_0@__RTTI_DEFINE_p_1 = --define wxNO_RTTI
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
@COND_USE_THREADS_0@__THREAD_DEFINE_p_1 = --define wxNO_THREADS
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
@COND_SHARED_1@__DLLFLAG_p_1 = --define WXUSINGDLL
@COND_PLATFORM_WIN32_1@__WIN32_DPI_MANIFEST_p = \
@COND_PLATFORM_WIN32_1@ --define \
@COND_PLATFORM_WIN32_1@ wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST)
COND_PLATFORM_OS2_1___xrcdemo___os2_emxbindcmd = $(NM) xrcdemo$(EXEEXT) | if \
grep -q pmwin.763 ; then emxbind -ep xrcdemo$(EXEEXT) ; fi
@COND_PLATFORM_OS2_1@__xrcdemo___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___xrcdemo___os2_emxbindcmd)
@COND_TOOLKIT_MSW@__RCDEFDIR_p = --include-dir \
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
@COND_PLATFORM_WIN32_1@__xrcdemo___win32rc = xrcdemo_sample_rc.o
@COND_PLATFORM_MACOSX_1@__xrcdemo_app_Contents_PkgInfo___depname \
@COND_PLATFORM_MACOSX_1@ = xrcdemo.app/Contents/PkgInfo
@COND_PLATFORM_MACOSX_1@__xrcdemo_bundle___depname = xrcdemo_bundle
@COND_TOOLKIT_MAC@____xrcdemo_BUNDLE_TGT_REF_DEP = \
@COND_TOOLKIT_MAC@ $(__xrcdemo_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_CARBON@____xrcdemo_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_CARBON@ = $(__xrcdemo_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_COCOA@____xrcdemo_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_COCOA@ = $(__xrcdemo_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_OSX_IPHONE@____xrcdemo_BUNDLE_TGT_REF_DEP \
@COND_TOOLKIT_OSX_IPHONE@ = $(__xrcdemo_app_Contents_PkgInfo___depname)
@COND_TOOLKIT_COCOA@____xrcdemo_BUNDLE_TGT_REF_DEP = \
@COND_TOOLKIT_COCOA@ $(__xrcdemo_app_Contents_PkgInfo___depname)
COND_MONOLITHIC_0___WXLIB_AUI_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_AUI_p = $(COND_MONOLITHIC_0___WXLIB_AUI_p)
COND_MONOLITHIC_0___WXLIB_RIBBON_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_0@__WXLIB_RIBBON_p = $(COND_MONOLITHIC_0___WXLIB_RIBBON_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)
COND_MONOLITHIC_1___WXLIB_MONO_p = \
-lwx_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p \
@COND_MONOLITHIC_1_USE_STC_1@ = $(__LIB_SCINTILLA_p)
@COND_USE_STC_1@__LIB_SCINTILLA_p = \
@COND_USE_STC_1@ -lwxscintilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
@COND_USE_STC_1@__LIB_LEXILLA_p = \
@COND_USE_STC_1@ -lwxlexilla$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@__LIB_TIFF_p \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBTIFF_builtin@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@__LIB_JPEG_p \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBJPEG_builtin@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@__LIB_PNG_p \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBPNG_builtin@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@__LIB_WEBP_p \
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@ = \
@COND_USE_GUI_1_wxUSE_LIBWEBP_builtin@ -lwxwebp$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_ZLIB_builtin@__LIB_ZLIB_p = \
@COND_wxUSE_ZLIB_builtin@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_REGEX_builtin@__LIB_REGEX_p = \
@COND_wxUSE_REGEX_builtin@ -lwxregexu$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
@COND_wxUSE_EXPAT_builtin@__LIB_EXPAT_p = \
@COND_wxUSE_EXPAT_builtin@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
### Targets: ###
all: xrcdemo$(EXEEXT) $(__xrcdemo_bundle___depname) data
install:
uninstall:
install-strip: install
clean:
rm -rf ./.deps ./.pch
rm -f ./*.o
rm -f xrcdemo$(EXEEXT)
rm -rf xrcdemo.app
distclean: clean
rm -f config.cache config.log config.status bk-deps bk-make-pch Makefile
xrcdemo$(EXEEXT): $(XRCDEMO_OBJECTS) $(__xrcdemo___win32rc)
$(CXX) -o $@ $(XRCDEMO_OBJECTS) -L$(LIBDIRNAME) $(DYLIB_RPATH_FLAG) $(LDFLAGS_GUI) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_AUI_p) $(__WXLIB_RIBBON_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) $(__LIB_WEBP_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
$(__xrcdemo___os2_emxbindcmd)
@COND_PLATFORM_MACOSX_1@xrcdemo.app/Contents/PkgInfo: xrcdemo$(EXEEXT) $(top_srcdir)/src/osx/carbon/Info.plist.in $(top_srcdir)/src/osx/carbon/wxmac.icns
@COND_PLATFORM_MACOSX_1@ mkdir -p xrcdemo.app/Contents
@COND_PLATFORM_MACOSX_1@ mkdir -p xrcdemo.app/Contents/MacOS
@COND_PLATFORM_MACOSX_1@ mkdir -p xrcdemo.app/Contents/Resources
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ sed -e "s/\$${MACOSX_BUNDLE_GUI_IDENTIFIER}/org.wxwidgets.xrcdemo/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_EXECUTABLE_NAME}/xrcdemo/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_NAME}/xrcdemo/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_COPYRIGHT}/Copyright 2002-2025 wxWidgets/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_BUNDLE_VERSION}/$(WX_VERSION)/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_INFO_STRING}/xrcdemo version $(WX_VERSION), (c) 2002-2025 wxWidgets/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_LONG_VERSION_STRING}/$(WX_VERSION), (c) 2002-2025 wxWidgets/" \
@COND_PLATFORM_MACOSX_1@ -e "s/\$${MACOSX_BUNDLE_SHORT_VERSION_STRING}/$(WX_RELEASE)/" \
@COND_PLATFORM_MACOSX_1@ $(top_srcdir)/src/osx/carbon/Info.plist.in >xrcdemo.app/Contents/Info.plist
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ /bin/echo "APPL????" >xrcdemo.app/Contents/PkgInfo
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ ln -f xrcdemo$(EXEEXT) xrcdemo.app/Contents/MacOS/xrcdemo
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@
@COND_PLATFORM_MACOSX_1@ cp -f $(top_srcdir)/src/osx/carbon/wxmac.icns xrcdemo.app/Contents/Resources/wxmac.icns
@COND_PLATFORM_MACOSX_1@xrcdemo_bundle: $(____xrcdemo_BUNDLE_TGT_REF_DEP)
data:
@mkdir -p ./rc
@for f in aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg2.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas2.xpm custclas.xrc derivdlg.xpm derivdlg2.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 uncenter2.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc variants.xpm variants.xrc throbber.gif stop.xpm stop_2x.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` ; \
fi; \
case "$$x" in ?*) \
cp -pRf $(srcdir)/rc/$$f ./rc ;; \
esac; \
done
xrcdemo_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
xrcdemo_xrcdemo.o: $(srcdir)/xrcdemo.cpp
$(CXXC) -c -o $@ $(XRCDEMO_CXXFLAGS) $(srcdir)/xrcdemo.cpp
xrcdemo_myframe.o: $(srcdir)/myframe.cpp
$(CXXC) -c -o $@ $(XRCDEMO_CXXFLAGS) $(srcdir)/myframe.cpp
xrcdemo_derivdlg.o: $(srcdir)/derivdlg.cpp
$(CXXC) -c -o $@ $(XRCDEMO_CXXFLAGS) $(srcdir)/derivdlg.cpp
xrcdemo_custclas.o: $(srcdir)/custclas.cpp
$(CXXC) -c -o $@ $(XRCDEMO_CXXFLAGS) $(srcdir)/custclas.cpp
xrcdemo_objrefdlg.o: $(srcdir)/objrefdlg.cpp
$(CXXC) -c -o $@ $(XRCDEMO_CXXFLAGS) $(srcdir)/objrefdlg.cpp
# Include dependency info, if present:
@IF_GNU_MAKE@-include ./.deps/*.d
.PHONY: all install uninstall clean distclean xrcdemo_bundle data

View File

@@ -0,0 +1,145 @@
//-----------------------------------------------------------------------------
// Name: custclass.cpp
// Purpose: XML resources sample: A custom class to insert into a XRC file
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Standard wxWidgets headers
//-----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
// For all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
//-----------------------------------------------------------------------------
// Header of this .cpp file
//-----------------------------------------------------------------------------
#include "custclas.h"
//-----------------------------------------------------------------------------
// Internal constants
//-----------------------------------------------------------------------------
// Popup menu (PU) item control IDs. In this example, they aren't hooked up
// to any functions. Normally you would use these IDs in your event table, so
// that if one of these menu items is clicked, then a certain function is
// called.
enum {
PU_ADD_RECORD = wxID_HIGHEST,
PU_EDIT_RECORD,
PU_DELETE_RECORD
};
// Columns of the listctrl (the leftmost one starts at 0, and so on).
// Allows easier code maintenance if want to add/rearrangement of listctrl's
// columns.
enum {
RECORD_COLUMN = 0,
ACTION_COLUMN,
PRIORITY_COLUMN
};
//-----------------------------------------------------------------------------
// wxWidgets macro: implement dynamic class
//-----------------------------------------------------------------------------
wxIMPLEMENT_DYNAMIC_CLASS( MyResizableListCtrl, wxListCtrl );
//-----------------------------------------------------------------------------
// Event table: connect the events to the handler functions to process them
//-----------------------------------------------------------------------------
wxBEGIN_EVENT_TABLE( MyResizableListCtrl, wxListCtrl )
// Something to do when right mouse down
EVT_RIGHT_DOWN( MyResizableListCtrl::ContextSensitiveMenu )
// Something to do when resized
EVT_SIZE( MyResizableListCtrl::OnSize )
wxEND_EVENT_TABLE()
//-----------------------------------------------------------------------------
// Public methods
//-----------------------------------------------------------------------------
// Constructor, including setting the dialog's m_configuration_section member
// to the incoming configuration_section string.
MyResizableListCtrl::MyResizableListCtrl( wxWindow *parent, wxWindowID id,
const wxPoint& pos, const wxSize& size,
long style, const wxValidator& validator,
const wxString& name )
: wxListCtrl( parent, id, pos, size, style, validator, name )
{
// This listctrl needs to insert its columns in the constructor, since
// as soon as the listctrl is built, it is resized and grafted onto an
// "unknown" XRC placeholder. This induces an OnSize() event, calling the
// overridden OnSize function for this class, which needs to have 3
// columns to resize (else an assert on WXGTK debug build).
InsertColumn( RECORD_COLUMN, _("Record"), wxLIST_FORMAT_LEFT, 140);
InsertColumn( ACTION_COLUMN, _("Action"), wxLIST_FORMAT_LEFT, 70);
InsertColumn( PRIORITY_COLUMN, _("Priority"), wxLIST_FORMAT_LEFT, 70 );
}
void MyResizableListCtrl::ContextSensitiveMenu( wxMouseEvent& event )
{
// Make an instance of a menu.
wxMenu a_menu;
a_menu.Append( PU_ADD_RECORD, _( "Add a new record...") );
a_menu.Append( PU_EDIT_RECORD, _( "Edit selected record..." ) );
a_menu.Append( PU_DELETE_RECORD, _( "Delete selected record" ) );
// If no listctrl rows selected, then disable the menu items that
// require selection
if ( GetSelectedItemCount() == 0 ) {
a_menu.Enable( PU_EDIT_RECORD, false );
a_menu.Enable( PU_DELETE_RECORD, false );
}
// Show the popup menu (wxWindow::PopupMenu ), at the x,y position
// of the click event
PopupMenu( &a_menu, event.GetPosition() );
}
void MyResizableListCtrl::OnSize( wxSizeEvent &event )
{
// Call our custom width setting function.
SetColumnWidths();
// REQURED event.Skip() call to allow this event to propagate
// upwards so others can do what they need to do in response to
// this size event.
event.Skip();
}
void MyResizableListCtrl::SetColumnWidths()
{
// Get width of entire listctrl
int leftmostColumnWidth = GetSize().x;
// Subtract width of other columns, scrollbar, and some padding
leftmostColumnWidth -= GetColumnWidth( ACTION_COLUMN );
leftmostColumnWidth -= GetColumnWidth( PRIORITY_COLUMN );
leftmostColumnWidth -= wxSystemSettings::GetMetric( wxSYS_VSCROLL_X );
leftmostColumnWidth -= 5;
// Set the column width to the new value.
SetColumnWidth( RECORD_COLUMN, leftmostColumnWidth );
// This is just a debug message in case you want to watch the
// events scroll by as you resize.
wxLogDebug( "Successfully set column widths" );
}

View File

@@ -0,0 +1,88 @@
//-----------------------------------------------------------------------------
// Name: custclas.h
// Purpose: XML resources sample: A custom class to insert into a XRC file
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//----------------------------------------------------------------------------------------
// Begin single inclusion of this .h file condition
//----------------------------------------------------------------------------------------
#ifndef _CUSTCLAS_H_
#define _CUSTCLAS_H_
//----------------------------------------------------------------------------------------
// Headers
//----------------------------------------------------------------------------------------
#include "wx/listctrl.h"
//----------------------------------------------------------------------------------------
// Class definition: MyResizableListCtrl
//----------------------------------------------------------------------------------------
//! A custom listctrl that resizes itself and pops up a context-sensitive menu.
class MyResizableListCtrl : public wxListCtrl
{
// Very helpful wxWidgets macro required for wxWidgets-RTTI tracing: By using this
// you will see "Leaked one object of type myResizableListCtrl" in the debug log,
// along with which line you if was created, but you forget to free the memory.
// NOTE: Using this REQUIRES a default constructor: that means either: giving a
// default value for all parameters in your constructor, or else having a dummy
// MyResizableListCtrl(){} constructor in addition to your regular one.
wxDECLARE_DYNAMIC_CLASS( MyResizableListCtrl );
public:
// Constructor.
/*
These parameters are the same as a wxWidgets constructor.
\param parent The parent window.
\param id The id of the progress_listbox. Will usually be -1 unless multiple
of them on the same dialog.
\param pos The pixel position of the listctrl on its parent window
\param size The pixel size of the listctrl
\param style Style of the listbox. See wxWidgets wxListBox docs for details.
\param validator Window validator. See wxWidgets docs for details.
\param name Windows name (rarely used).
\param exclusion_column_caption The label of header of listctrl's exclusion
column.
*/
MyResizableListCtrl( wxWindow *parent = nullptr,
wxWindowID id = wxID_ANY,
const wxPoint &pos = wxDefaultPosition,
const wxSize &size = wxDefaultSize,
long style = wxLC_REPORT,
const wxValidator& validator = wxDefaultValidator,
const wxString &name = "myResizableListCtrl"
);
// Destructor.
~MyResizableListCtrl(){}
protected:
// A custom function for a context sensitive menu.
void ContextSensitiveMenu( wxMouseEvent& event );
// This is a wxWidgets function that we are going to override with our own behaviour.
void OnSize( wxSizeEvent &event );
// A custom function. What is called in the constructor, and in an OnSize()
void SetColumnWidths();
private:
// wxWidgets macro, required to be able to use Event tables in the .cpp file.
wxDECLARE_EVENT_TABLE();
};
//----------------------------------------------------------------------------------------
// End single inclusion of this .h file condition
//----------------------------------------------------------------------------------------
#endif //_CUSTCLAS_H_

View File

@@ -0,0 +1,106 @@
//-----------------------------------------------------------------------------
// Name: derivdlg.cpp
// Purpose: XML resources sample: A derived dialog
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Standard wxWidgets headers
//-----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
// For all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
//-----------------------------------------------------------------------------
// Header of this .cpp file
//-----------------------------------------------------------------------------
#include "derivdlg.h"
//-----------------------------------------------------------------------------
// Remaining headers: Needed wx headers, then wx/contrib headers, then application headers
//-----------------------------------------------------------------------------
#include "wx/xrc/xmlres.h" // XRC XML resources
//-----------------------------------------------------------------------------
// Event table: connect the events to the handler functions to process them
//-----------------------------------------------------------------------------
wxBEGIN_EVENT_TABLE(PreferencesDialog, wxDialog)
EVT_BUTTON( XRCID( "my_button" ), PreferencesDialog::OnMyButtonClicked )
EVT_UPDATE_UI(XRCID( "my_checkbox" ), PreferencesDialog::OnUpdateUIMyCheckbox )
// Note that the ID here isn't a XRCID, it is one of the standard wx ID's.
EVT_BUTTON( wxID_OK, PreferencesDialog::OnOK )
wxEND_EVENT_TABLE()
//-----------------------------------------------------------------------------
// Public members
//-----------------------------------------------------------------------------
// Constructor (Notice how small and easy it is)
PreferencesDialog::PreferencesDialog(wxWindow* parent)
{
wxXmlResource::Get()->LoadDialog(this, parent, "derived_dialog");
}
//-----------------------------------------------------------------------------
// Private members (including the event handlers)
//-----------------------------------------------------------------------------
void PreferencesDialog::OnMyButtonClicked( wxCommandEvent &WXUNUSED(event) )
{
// Construct a message dialog.
wxMessageDialog msgDlg(this, _("You clicked on My Button"));
// Show it modally.
msgDlg.ShowModal();
}
// Update the enabled/disabled state of the edit/delete buttons depending on
// whether a row (item) is selected in the listctrl
void PreferencesDialog::OnUpdateUIMyCheckbox( wxUpdateUIEvent &WXUNUSED(event) )
{
// Get a boolean value of whether the checkbox is checked
bool myCheckBoxIsChecked;
// You could just write:
// myCheckBoxIsChecked = event.IsChecked();
// since the event that was passed into this function already has the
// is a pointer to the right control. However,
// this is the XRCCTRL way (which is more obvious as to what is going on).
myCheckBoxIsChecked = XRCCTRL(*this, "my_checkbox", wxCheckBox)->IsChecked();
// Now call either Enable(true) or Enable(false) on the textctrl, depending
// on the value of that boolean.
XRCCTRL(*this, "my_textctrl", wxTextCtrl)->Enable(myCheckBoxIsChecked);
}
void PreferencesDialog::OnOK( wxCommandEvent& WXUNUSED(event) )
{
// Construct a message dialog (An extra parameters to put a cancel button on).
wxMessageDialog msgDlg2(this, _("Press OK to close Derived dialog, or Cancel to abort"),
_("Overriding base class OK button handler"),
wxOK | wxCANCEL | wxCENTER );
// Show the message dialog, and if it returns wxID_OK (ie they clicked on OK button)...
if (msgDlg2.ShowModal() == wxID_OK)
{
// ...then end this Preferences dialog.
EndModal( wxID_OK );
// You could also have used event.Skip() which would then skip up
// to the wxDialog's event table and see if there was a EVT_BUTTON
// handler for wxID_OK and if there was, then execute that code.
}
// Otherwise do nothing.
}

View File

@@ -0,0 +1,62 @@
//-----------------------------------------------------------------------------
// Name: derivdlg.h
// Purpose: XML resources sample: A derived dialog
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Begin single inclusion of this .h file condition
//-----------------------------------------------------------------------------
#ifndef _DERIVDLG_H_
#define _DERIVDLG_H_
//-----------------------------------------------------------------------------
// Headers
//-----------------------------------------------------------------------------
#include "wx/dialog.h"
//-----------------------------------------------------------------------------
// Class definition: PreferencesDialog
//-----------------------------------------------------------------------------
// A derived dialog.
class PreferencesDialog : public wxDialog
{
public:
// Constructor.
/*
\param parent The parent window. Simple constructor.
*/
PreferencesDialog( wxWindow* parent );
// Destructor.
~PreferencesDialog(){}
private:
// Stuff to do when "My Button" gets clicked
void OnMyButtonClicked( wxCommandEvent &event );
// Stuff to do when a "My Checkbox" gets updated
// (drawn, or it changes its value)
void OnUpdateUIMyCheckbox( wxUpdateUIEvent &event );
// Override base class functions of a wxDialog.
void OnOK( wxCommandEvent &event );
// Any class wishing to process wxWidgets events must use this macro
wxDECLARE_EVENT_TABLE();
};
//-----------------------------------------------------------------------------
// End single inclusion of this .h file condition
//-----------------------------------------------------------------------------
#endif //_DERIVDLG_H_

View File

@@ -0,0 +1,84 @@
#*****************************************************************************
# *
# Make file for VMS *
# Author : J.Jansen (joukj@hrem.nano.tudelft.nl) *
# Date : 15 November 2010 *
# *
#*****************************************************************************
.first
define wx [--.include.wx]
.ifdef __WXMOTIF__
CXX_DEFINE = /define=(__WXMOTIF__=1)/name=(as_is,short)\
/assume=(nostdnew,noglobal_array_new)
.else
.ifdef __WXGTK__
CXX_DEFINE = /define=(__WXGTK__=1)/float=ieee/name=(as_is,short)/ieee=denorm\
/assume=(nostdnew,noglobal_array_new)
.else
.ifdef __WXGTK2__
CXX_DEFINE = /define=(__WXGTK__=1,VMS_GTK2=1)/float=ieee/name=(as_is,short)/ieee=denorm\
/assume=(nostdnew,noglobal_array_new)
.else
.ifdef __WXX11__
CXX_DEFINE = /define=(__WXX11__=1,__WXUNIVERSAL__==1)/float=ieee\
/name=(as_is,short)/assume=(nostdnew,noglobal_array_new)
.else
CXX_DEFINE =
.endif
.endif
.endif
.endif
.suffixes : .cpp
.cpp.obj :
cxx $(CXXFLAGS)$(CXX_DEFINE) $(MMS$TARGET_NAME).cpp
all :
.ifdef __WXMOTIF__
$(MMS)$(MMSQUALIFIERS) xrcdemo.exe
.else
.ifdef __WXGTK__
$(MMS)$(MMSQUALIFIERS) xrcdemo_gtk.exe
.else
.ifdef __WXGTK2__
$(MMS)$(MMSQUALIFIERS) xrcdemo_gtk2.exe
.else
.ifdef __WXX11__
$(MMS)$(MMSQUALIFIERS) xrcdemo_x11.exe
.endif
.endif
.endif
.endif
.ifdef __WXMOTIF__
xrcdemo.exe : xrcdemo.obj,custclas.obj,derivdlg.obj,myframe.obj,objrefdlg.obj
cxxlink xrcdemo,custclas.obj,derivdlg.obj,myframe.obj,objrefdlg.obj,\
[--.lib]vms/opt
.else
.ifdef __WXGTK__
xrcdemo_gtk.exe : xrcdemo.obj,custclas.obj,derivdlg.obj,myframe.obj,\
objrefdlg.obj
cxxlink/exec=xrcdemo_gtk.exe xrcdemo,custclas.obj,derivdlg.obj,\
myframe.obj,objrefdlg.obj,[--.lib]vms_gtk/opt
.else
.ifdef __WXGTK2__
xrcdemo_gtk2.exe : xrcdemo.obj,custclas.obj,derivdlg.obj,myframe.obj
cxxlink/exec=xrcdemo_gtk2.exe xrcdemo,custclas.obj,derivdlg.obj,\
myframe.obj,[--.lib]vms_gtk2/opt
.else
.ifdef __WXX11__
xrcdemo_x11.exe : xrcdemo.obj,custclas.obj,derivdlg.obj,myframe.obj
cxxlink/exec=xrcdemo_x11.exe xrcdemo,custclas.obj,derivdlg.obj,\
myframe.obj,[--.lib]vms_x11_univ/opt
.endif
.endif
.endif
.endif
xrcdemo.obj : xrcdemo.cpp
custclas.obj : custclas.cpp
derivdlg.obj : derivdlg.cpp
myframe.obj : myframe.cpp
objrefdlg.obj : objrefdlg.cpp

View File

@@ -0,0 +1,268 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
include ../../build/msw/config.gcc
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
CPPDEPS = -MT$@ -MF$@.d -MD -MP
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = gcc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
XRCDEMO_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG_2) $(__THREADSFLAG) \
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
-I$(SETUPHDIR) -I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) -W \
-Wall -I. $(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(__RTTIFLAG_5) \
$(__EXCEPTIONSFLAG_6) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
XRCDEMO_OBJECTS = \
$(OBJS)\xrcdemo_sample_rc.o \
$(OBJS)\xrcdemo_xrcdemo.o \
$(OBJS)\xrcdemo_myframe.o \
$(OBJS)\xrcdemo_derivdlg.o \
$(OBJS)\xrcdemo_custclas.o \
$(OBJS)\xrcdemo_objrefdlg.o
### Conditionally set variables: ###
ifeq ($(USE_GUI),0)
PORTNAME = base
endif
ifeq ($(USE_GUI),1)
PORTNAME = msw$(TOOLKIT_VERSION)
endif
ifeq ($(OFFICIAL_BUILD),1)
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
endif
ifeq ($(BUILD),debug)
WXDEBUGFLAG = d
endif
ifeq ($(WXUNIV),1)
WXUNIVNAME = univ
endif
ifeq ($(SHARED),1)
WXDLLFLAG = dll
endif
ifeq ($(SHARED),0)
LIBTYPE_SUFFIX = lib
endif
ifeq ($(SHARED),1)
LIBTYPE_SUFFIX = dll
endif
ifeq ($(MONOLITHIC),0)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(MONOLITHIC),1)
EXTRALIBS_FOR_BASE =
endif
ifeq ($(BUILD),debug)
__OPTIMIZEFLAG_2 = -O0
endif
ifeq ($(BUILD),release)
__OPTIMIZEFLAG_2 = -O2
endif
ifeq ($(USE_RTTI),0)
__RTTIFLAG_5 = -fno-rtti
endif
ifeq ($(USE_RTTI),1)
__RTTIFLAG_5 =
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONSFLAG_6 = -fno-exceptions
endif
ifeq ($(USE_EXCEPTIONS),1)
__EXCEPTIONSFLAG_6 =
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
endif
ifeq ($(WXUNIV),1)
__WXUNIV_DEFINE_p_1 = --define __WXUNIVERSAL__
endif
ifeq ($(DEBUG_FLAG),0)
__DEBUG_DEFINE_p = -DwxDEBUG_LEVEL=0
endif
ifeq ($(DEBUG_FLAG),0)
__DEBUG_DEFINE_p_1 = --define wxDEBUG_LEVEL=0
endif
ifeq ($(BUILD),release)
__NDEBUG_DEFINE_p = -DNDEBUG
endif
ifeq ($(BUILD),release)
__NDEBUG_DEFINE_p_1 = --define NDEBUG
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
endif
ifeq ($(USE_EXCEPTIONS),0)
__EXCEPTIONS_DEFINE_p_1 = --define wxNO_EXCEPTIONS
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p = -DwxNO_RTTI
endif
ifeq ($(USE_RTTI),0)
__RTTI_DEFINE_p_1 = --define wxNO_RTTI
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p = -DwxNO_THREADS
endif
ifeq ($(USE_THREADS),0)
__THREAD_DEFINE_p_1 = --define wxNO_THREADS
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_INCLUDEDIR_FILENAMES_p = -I$(CAIRO_ROOT)\include\cairo
endif
ifeq ($(USE_CAIRO),1)
__CAIRO_INCLUDEDIR_p = --include-dir $(CAIRO_ROOT)/include/cairo
endif
ifeq ($(SHARED),1)
__DLLFLAG_p = -DWXUSINGDLL
endif
ifeq ($(SHARED),1)
__DLLFLAG_p_1 = --define WXUSINGDLL
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_AUI_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui
endif
ifeq ($(MONOLITHIC),0)
__WXLIB_RIBBON_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon
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)
__WXLIB_MONO_p = \
-lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
endif
ifeq ($(MONOLITHIC),1)
ifeq ($(USE_STC),1)
__LIB_SCINTILLA_IF_MONO_p = -lwxscintilla$(WXDEBUGFLAG)
endif
endif
ifeq ($(MONOLITHIC),1)
ifeq ($(USE_STC),1)
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
endif
endif
ifeq ($(USE_STC),1)
__LIB_LEXILLA_p = -lwxlexilla$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_TIFF_p = -lwxtiff$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_JPEG_p = -lwxjpeg$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_PNG_p = -lwxpng$(WXDEBUGFLAG)
endif
ifeq ($(USE_GUI),1)
__LIB_WEBP_p = -lwxwebp$(WXDEBUGFLAG)
endif
ifeq ($(USE_CAIRO),1)
__CAIRO_LIB_p = -lcairo
endif
ifeq ($(USE_CAIRO),1)
____CAIRO_LIBDIR_FILENAMES_p = -L$(CAIRO_ROOT)\lib
endif
ifeq ($(BUILD),debug)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO = -g
endif
endif
ifeq ($(BUILD),release)
ifeq ($(DEBUG_INFO),default)
__DEBUGINFO =
endif
endif
ifeq ($(DEBUG_INFO),0)
__DEBUGINFO =
endif
ifeq ($(DEBUG_INFO),1)
__DEBUGINFO = -g
endif
ifeq ($(USE_THREADS),0)
__THREADSFLAG =
endif
ifeq ($(USE_THREADS),1)
__THREADSFLAG = -mthreads
endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\xrcdemo.exe data
clean:
-if exist $(OBJS)\*.o del $(OBJS)\*.o
-if exist $(OBJS)\*.d del $(OBJS)\*.d
-if exist $(OBJS)\xrcdemo.exe del $(OBJS)\xrcdemo.exe
$(OBJS)\xrcdemo.exe: $(XRCDEMO_OBJECTS) $(OBJS)\xrcdemo_sample_rc.o
$(foreach f,$(subst \,/,$(XRCDEMO_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_AUI_p) $(__WXLIB_RIBBON_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) $(__LIB_WEBP_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lgdiplus -lmsimg32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
@-del $@.rsp
data:
if not exist $(OBJS)\rc mkdir $(OBJS)\rc
for %%f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg2.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas2.xpm custclas.xrc derivdlg.xpm derivdlg2.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 uncenter2.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc variants.xpm variants.xrc throbber.gif stop.xpm stop_2x.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) --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
$(OBJS)\xrcdemo_xrcdemo.o: ./xrcdemo.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrcdemo_myframe.o: ./myframe.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrcdemo_derivdlg.o: ./derivdlg.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrcdemo_custclas.o: ./custclas.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrcdemo_objrefdlg.o: ./objrefdlg.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all clean data
SHELL := $(COMSPEC)
# Dependencies tracking:
-include $(OBJS)/*.d

View File

@@ -0,0 +1,116 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
# -------------------------------------------------------------------------
# These are configurable options:
# -------------------------------------------------------------------------
# C++ compiler
CXX = `$(WX_CONFIG) --cxx`
# Standard flags for C++
CXXFLAGS ?=
# Standard preprocessor flags (common for CC and CXX)
CPPFLAGS ?=
# Standard linker flags
LDFLAGS ?=
# Location and arguments of wx-config script
WX_CONFIG ?= wx-config
# Port of the wx library to build against [gtk2,msw,x11,osx_cocoa,osx_carbon,dfb]
WX_PORT ?= $(shell $(WX_CONFIG) --query-toolkit)
# Use DLL build of wx library to use? [0,1]
WX_SHARED ?= $(shell if test -z `$(WX_CONFIG) --query-linkage`; then echo 1; else echo 0; fi)
# Compile Unicode build of wxWidgets? [0,1]
WX_UNICODE ?= $(shell $(WX_CONFIG) --query-chartype | sed 's/unicode/1/;s/ansi/0/')
# Version of the wx library to build against.
WX_VERSION ?= $(shell $(WX_CONFIG) --query-version | sed -e 's/\([0-9]*\)\.\([0-9]*\)/\1\2/')
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD -MP
WX_VERSION_MAJOR = $(shell echo $(WX_VERSION) | cut -c1,1)
WX_VERSION_MINOR = $(shell echo $(WX_VERSION) | cut -c2,2)
WX_CONFIG_FLAGS = $(WX_CONFIG_UNICODE_FLAG) $(WX_CONFIG_SHARED_FLAG) \
--toolkit=$(WX_PORT) --version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
XRCDEMO_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
$(CXXFLAGS)
XRCDEMO_OBJECTS = \
xrcdemo_xrcdemo.o \
xrcdemo_myframe.o \
xrcdemo_derivdlg.o \
xrcdemo_custclas.o \
xrcdemo_objrefdlg.o
### Conditionally set variables: ###
ifeq ($(WX_UNICODE),0)
WX_CONFIG_UNICODE_FLAG = --unicode=no
endif
ifeq ($(WX_UNICODE),1)
WX_CONFIG_UNICODE_FLAG = --unicode=yes
endif
ifeq ($(WX_SHARED),0)
WX_CONFIG_SHARED_FLAG = --static=yes
endif
ifeq ($(WX_SHARED),1)
WX_CONFIG_SHARED_FLAG = --static=no
endif
### Targets: ###
all: test_for_selected_wxbuild xrcdemo
install:
uninstall:
clean:
rm -f ./*.o
rm -f ./*.d
rm -f xrcdemo
test_for_selected_wxbuild:
@$(WX_CONFIG) $(WX_CONFIG_FLAGS)
xrcdemo: $(XRCDEMO_OBJECTS)
$(CXX) -o $@ $(XRCDEMO_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs aui,ribbon,xrc,html,core,xml,base`
xrcdemo_xrcdemo.o: ./xrcdemo.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
xrcdemo_myframe.o: ./myframe.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
xrcdemo_derivdlg.o: ./derivdlg.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
xrcdemo_custclas.o: ./custclas.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
xrcdemo_objrefdlg.o: ./objrefdlg.cpp
$(CXX) -c -o $@ $(XRCDEMO_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all install uninstall clean
# Dependencies tracking:
-include ./*.d

View File

@@ -0,0 +1,481 @@
# =========================================================================
# This makefile was generated by
# Bakefile 0.2.13 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
!include <../../build/msw/config.vc>
# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------
### Variables: ###
WX_RELEASE_NODOT = 33
COMPILER_PREFIX = vc
OBJS = \
$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
LIBDIRNAME = \
.\..\..\lib\$(COMPILER_PREFIX)$(COMPILER_VERSION)$(ARCH_SUFFIX)_$(LIBTYPE_SUFFIX)$(CFG)
SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)u$(WXDEBUGFLAG)
XRCDEMO_CXXFLAGS = /M$(__RUNTIME_LIBS_10)$(__DEBUGRUNTIME_4) /DWIN32 \
$(__DEBUGINFO_0) /Fd$(OBJS)\xrcdemo.pdb $(____DEBUGRUNTIME_3_p) \
$(__OPTIMIZEFLAG_6) /D_CRT_SECURE_NO_DEPRECATE=1 \
/D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
$(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
/I$(SETUPHDIR) /I.\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_p) /W4 /I. \
$(__DLLFLAG_p) /D_WINDOWS /I.\..\..\samples /DNOPCH $(__RTTIFLAG_11) \
$(__EXCEPTIONSFLAG_12) $(CPPFLAGS) $(CXXFLAGS)
XRCDEMO_OBJECTS = \
$(OBJS)\xrcdemo_xrcdemo.obj \
$(OBJS)\xrcdemo_myframe.obj \
$(OBJS)\xrcdemo_derivdlg.obj \
$(OBJS)\xrcdemo_custclas.obj \
$(OBJS)\xrcdemo_objrefdlg.obj
XRCDEMO_RESOURCES = \
$(OBJS)\xrcdemo_sample.res
### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "ARM"
ARCH_SUFFIX = _arm
!endif
!if "$(TARGET_CPU)" == "ARM64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "amd64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "arm"
ARCH_SUFFIX = _arm
!endif
!if "$(TARGET_CPU)" == "arm64"
ARCH_SUFFIX = _arm64
!endif
!if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
!if "$(USE_GUI)" == "1"
PORTNAME = msw$(TOOLKIT_VERSION)
!endif
!if "$(OFFICIAL_BUILD)" == "1"
COMPILER_VERSION = ERROR-COMPILER-VERSION-MUST-BE-SET-FOR-OFFICIAL-BUILD
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
WXDEBUGFLAG = d
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
WXDEBUGFLAG = d
!endif
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
!if "$(SHARED)" == "1"
WXDLLFLAG = dll
!endif
!if "$(SHARED)" == "0"
LIBTYPE_SUFFIX = lib
!endif
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
!if "$(TARGET_CPU)" == "AMD64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "ARM"
LINK_TARGET_CPU = /MACHINE:ARM
!endif
!if "$(TARGET_CPU)" == "ARM64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "arm"
LINK_TARGET_CPU = /MACHINE:ARM
!endif
!if "$(TARGET_CPU)" == "arm64"
LINK_TARGET_CPU = /MACHINE:ARM64
!endif
!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "14.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "15.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "16.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "1" && "$(VISUALSTUDIOVERSION)" == "17.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "14.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "15.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "16.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(USE_DPI_AWARE_MANIFEST)" == "2" && "$(VISUALSTUDIOVERSION)" == "17.0"
WIN32_DPI_LINKFLAG = /MANIFEST:EMBED \
/MANIFESTINPUT:./../../include/wx/msw/wx_dpi_aware_pmv2.manifest
!endif
!if "$(MONOLITHIC)" == "0"
EXTRALIBS_FOR_BASE =
!endif
!if "$(MONOLITHIC)" == "1"
EXTRALIBS_FOR_BASE =
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_0 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_0 = /Zi
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_1 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_1 = /DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "0"
__DEBUGINFO_2 =
!endif
!if "$(DEBUG_INFO)" == "1"
__DEBUGINFO_2 = $(__DEBUGRUNTIME_5)
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_3_p =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_3_p = /D_DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
____DEBUGRUNTIME_3_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
____DEBUGRUNTIME_3_p_1 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
____DEBUGRUNTIME_3_p_1 = /d _DEBUG
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_4 =
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_4 = d
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__DEBUGRUNTIME_5 = /opt:ref /opt:icf
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "1"
__DEBUGRUNTIME_5 =
!endif
!if "$(BUILD)" == "debug"
__OPTIMIZEFLAG_6 = /Od
!endif
!if "$(BUILD)" == "release"
__OPTIMIZEFLAG_6 = /O2
!endif
!if "$(USE_THREADS)" == "0"
__THREADSFLAG_9 = L
!endif
!if "$(USE_THREADS)" == "1"
__THREADSFLAG_9 = T
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_10 = D
!endif
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS_10 = $(__THREADSFLAG_9)
!endif
!if "$(USE_RTTI)" == "0"
__RTTIFLAG_11 = /GR-
!endif
!if "$(USE_RTTI)" == "1"
__RTTIFLAG_11 = /GR
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONSFLAG_12 =
!endif
!if "$(USE_EXCEPTIONS)" == "1"
__EXCEPTIONSFLAG_12 = /EHsc
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
__NO_VC_CRTDBG_p_1 = /d __NO_VC_CRTDBG__
!endif
!if "$(TARGET_CPU)" == ""
__TARGET_CPU_COMPFLAG_p = /DTARGET_CPU_COMPFLAG=0
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
__TARGET_CPU_COMPFLAG_p =
!endif
!if "$(TARGET_CPU)" == ""
__TARGET_CPU_COMPFLAG_p_1 = /d TARGET_CPU_COMPFLAG=0
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "X64"
__TARGET_CPU_COMPFLAG_p_1 =
!endif
!if "$(TARGET_CPU)" == "" && "$(VISUALSTUDIOPLATFORM)" == "x64"
__TARGET_CPU_COMPFLAG_p_1 =
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
!endif
!if "$(WXUNIV)" == "1"
__WXUNIV_DEFINE_p_1 = /d __WXUNIVERSAL__
!endif
!if "$(DEBUG_FLAG)" == "0"
__DEBUG_DEFINE_p = /DwxDEBUG_LEVEL=0
!endif
!if "$(DEBUG_FLAG)" == "0"
__DEBUG_DEFINE_p_1 = /d wxDEBUG_LEVEL=0
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__NDEBUG_DEFINE_p = /DNDEBUG
!endif
!if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
__NDEBUG_DEFINE_p_1 = /d NDEBUG
!endif
!if "$(DEBUG_RUNTIME_LIBS)" == "0"
__NDEBUG_DEFINE_p_1 = /d NDEBUG
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
!endif
!if "$(USE_EXCEPTIONS)" == "0"
__EXCEPTIONS_DEFINE_p_1 = /d wxNO_EXCEPTIONS
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p = /DwxNO_RTTI
!endif
!if "$(USE_RTTI)" == "0"
__RTTI_DEFINE_p_1 = /d wxNO_RTTI
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p = /DwxNO_THREADS
!endif
!if "$(USE_THREADS)" == "0"
__THREAD_DEFINE_p_1 = /d wxNO_THREADS
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_INCLUDEDIR_FILENAMES_p = /I$(CAIRO_ROOT)\include\cairo
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_INCLUDEDIR_FILENAMES_1_p = /i $(CAIRO_ROOT)\include\cairo
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p = /DWXUSINGDLL
!endif
!if "$(SHARED)" == "1"
__DLLFLAG_p_1 = /d WXUSINGDLL
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_AUI_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui.lib
!endif
!if "$(MONOLITHIC)" == "0"
__WXLIB_RIBBON_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon.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
!if "$(MONOLITHIC)" == "1"
__WXLIB_MONO_p = \
wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
!endif
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
__LIB_SCINTILLA_IF_MONO_p = wxscintilla$(WXDEBUGFLAG).lib
!endif
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
!endif
!if "$(USE_STC)" == "1"
__LIB_LEXILLA_p = wxlexilla$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
!endif
!if "$(USE_GUI)" == "1"
__LIB_WEBP_p = wxwebp$(WXDEBUGFLAG).lib
!endif
!if "$(USE_CAIRO)" == "1"
__CAIRO_LIB_p = cairo.lib
!endif
!if "$(USE_CAIRO)" == "1"
____CAIRO_LIBDIR_FILENAMES_p = /LIBPATH:$(CAIRO_ROOT)\lib
!endif
all: $(OBJS)
$(OBJS):
-if not exist $(OBJS) mkdir $(OBJS)
### Targets: ###
all: $(OBJS)\xrcdemo.exe data
clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
-if exist $(OBJS)\*.res del $(OBJS)\*.res
-if exist $(OBJS)\*.pch del $(OBJS)\*.pch
-if exist $(OBJS)\xrcdemo.exe del $(OBJS)\xrcdemo.exe
-if exist $(OBJS)\xrcdemo.ilk del $(OBJS)\xrcdemo.ilk
-if exist $(OBJS)\xrcdemo.pdb del $(OBJS)\xrcdemo.pdb
$(OBJS)\xrcdemo.exe: $(XRCDEMO_OBJECTS) $(OBJS)\xrcdemo_sample.res
link /NOLOGO /OUT:$@ $(__DEBUGINFO_1) /pdb:"$(OBJS)\xrcdemo.pdb" $(__DEBUGINFO_2) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:WINDOWS $(____CAIRO_LIBDIR_FILENAMES_p) $(LDFLAGS) @<<
$(XRCDEMO_OBJECTS) $(XRCDEMO_RESOURCES) $(__WXLIB_AUI_p) $(__WXLIB_RIBBON_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) $(__LIB_WEBP_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib gdiplus.lib msimg32.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)\rc mkdir $(OBJS)\rc
for %f in (aui.xpm aui.xrc artprov.xpm artprov.xrc basicdlg.xpm basicdlg2.xpm basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas2.xpm custclas.xrc derivdlg.xpm derivdlg2.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 uncenter2.xpm objref.xrc objrefdlg.xpm uncenter.xrc update.gif variable.xpm variable.xrc variants.xpm variants.xrc throbber.gif stop.xpm stop_2x.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) $(__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
$(OBJS)\xrcdemo_xrcdemo.obj: .\xrcdemo.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDEMO_CXXFLAGS) .\xrcdemo.cpp
$(OBJS)\xrcdemo_myframe.obj: .\myframe.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDEMO_CXXFLAGS) .\myframe.cpp
$(OBJS)\xrcdemo_derivdlg.obj: .\derivdlg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDEMO_CXXFLAGS) .\derivdlg.cpp
$(OBJS)\xrcdemo_custclas.obj: .\custclas.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDEMO_CXXFLAGS) .\custclas.cpp
$(OBJS)\xrcdemo_objrefdlg.obj: .\objrefdlg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDEMO_CXXFLAGS) .\objrefdlg.cpp

View File

@@ -0,0 +1,509 @@
//-----------------------------------------------------------------------------
// Name: myframe.cpp
// Purpose: XML resources sample: A derived frame, called MyFrame
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Standard wxWidgets headers
//-----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
// For all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/sysopt.h"
//-----------------------------------------------------------------------------
// Header of this .cpp file
//-----------------------------------------------------------------------------
#include "myframe.h"
//-----------------------------------------------------------------------------
// Remaining headers: Needed wx headers, then wx/contrib headers, then application headers
//-----------------------------------------------------------------------------
// Since setting an icon
#include "wx/image.h"
//-----------------------------------------------------------------------------
#include "wx/xrc/xmlres.h" // XRC XML resources
//-----------------------------------------------------------------------------
// Our derived dialog for the derived dialog example.
#include "derivdlg.h"
// Our custom class, for the custom class example.
#include "custclas.h"
// And our objref dialog, for the object reference and ID range example.
#include "objrefdlg.h"
// For functions to manipulate the corresponding controls.
#include "wx/animate.h"
#include "wx/generic/animate.h"
#include "wx/infobar.h"
#include "wx/treectrl.h"
#include "wx/listctrl.h"
//-----------------------------------------------------------------------------
// Regular resources (the non-XRC kind).
//-----------------------------------------------------------------------------
// the application icon (under Windows it is in resources and even
// though we could still include the XPM here it would be unused)
#ifndef wxHAS_IMAGES_IN_RESOURCES
#include "../sample.xpm"
#endif
//-----------------------------------------------------------------------------
// Event table: connect the events to the handler functions to process them
//-----------------------------------------------------------------------------
// The event tables connect the wxWidgets events with the functions (event
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
// The reason why the menuitems and tools are given the same name in the
// XRC file, is that both a tool (a toolbar item) and a menuitem are designed
// to fire the same kind of event (an EVT_MENU) and thus I give them the same
// ID name to help new users emphasize this point which is often overlooked
// when starting out with wxWidgets.
wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(XRCID("unload_resource_menuitem"), MyFrame::OnUnloadResourceMenuCommand)
EVT_MENU(XRCID("reload_resource_menuitem"), MyFrame::OnReloadResourceMenuCommand)
EVT_MENU(wxID_EXIT, MyFrame::OnExitToolOrMenuCommand)
EVT_MENU(XRCID("non_derived_dialog_tool_or_menuitem"), MyFrame::OnNonDerivedDialogToolOrMenuCommand)
EVT_MENU(XRCID("derived_tool_or_menuitem"), MyFrame::OnDerivedDialogToolOrMenuCommand)
EVT_MENU(XRCID("controls_tool_or_menuitem"), MyFrame::OnControlsToolOrMenuCommand)
EVT_MENU(XRCID("uncentered_tool_or_menuitem"), MyFrame::OnUncenteredToolOrMenuCommand)
EVT_MENU(XRCID("multiple_accels"), MyFrame::OnMultipleAccels)
EVT_MENU(XRCID("aui_demo_tool_or_menuitem"), MyFrame::OnAuiDemoToolOrMenuCommand)
EVT_MENU(XRCID("obj_ref_tool_or_menuitem"), MyFrame::OnObjRefToolOrMenuCommand)
EVT_MENU(XRCID("custom_class_tool_or_menuitem"), MyFrame::OnCustomClassToolOrMenuCommand)
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()
//-----------------------------------------------------------------------------
// Public methods
//-----------------------------------------------------------------------------
// Constructor
MyFrame::MyFrame(wxWindow* parent)
{
// Load up this frame from XRC. [Note, instead of making a class's
// constructor take a wxWindow* parent with a default value of nullptr,
// we could have just had designed MyFrame class with an empty
// constructor and then written here:
// wxXmlResource::Get()->LoadFrame(this, nullptr, "main_frame");
// since this frame will always be the top window, and thus parentless.
// However, the current approach has source code that can be recycled
// for other frames that aren't the top level window.]
wxXmlResource::Get()->LoadFrame(this, parent, "main_frame");
// Set the icon for the frame.
SetIcon(wxICON(sample));
// Load the menubar from XRC and set this frame's menubar to it.
SetMenuBar(wxXmlResource::Get()->LoadMenuBar("main_menu"));
// Load the toolbar from XRC and set this frame's toolbar to it.
// NOTE: For toolbars you currently should do it exactly like this.
// With toolbars, you currently can't create one, and set it later. It
// needs to be all in one step.
wxSystemOptions::SetOption ( "msw.remap", 0 );
SetToolBar(wxXmlResource::Get()->LoadToolBar(this, "main_toolbar"));
#if wxUSE_STATUSBAR
// Give the frame an optional statusbar. The '1' just means one field.
// A gripsizer will automatically get put on into the corner, if that
// is the normal OS behaviour for frames on that platform. Helptext
// for menu items and toolbar tools will automatically get displayed
// here.
CreateStatusBar( 1 );
#endif // wxUSE_STATUSBAR
// As we have created the toolbar and status bar after loading the main
// frame from resources, we need to readjust its minimal size to fit both
// its client area contains and the bars.
GetSizer()->SetSizeHints(this);
}
//-----------------------------------------------------------------------------
// Private methods
//-----------------------------------------------------------------------------
void MyFrame::OnUnloadResourceMenuCommand(wxCommandEvent& WXUNUSED(event))
{
if ( wxXmlResource::Get()->Unload("rc/basicdlg.xrc") )
{
wxLogMessage("Basic dialog resource has now been unloaded, you "
"won't be able to use it before loading it again");
}
else
{
wxLogWarning("Failed to unload basic dialog resource");
}
}
void MyFrame::OnReloadResourceMenuCommand(wxCommandEvent& WXUNUSED(event))
{
if ( wxXmlResource::Get()->Load("rc/basicdlg.xrc") )
{
wxLogStatus("Basic dialog resource has been loaded.");
}
else
{
wxLogError("Failed to load basic dialog resource");
}
}
void MyFrame::OnExitToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
// true is to force the frame to close.
Close(true);
}
void MyFrame::OnNonDerivedDialogToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
// "non_derived_dialog" is the name of the wxDialog XRC node that should
// be loaded.
if ( wxXmlResource::Get()->LoadDialog(&dlg, this, "non_derived_dialog") )
dlg.ShowModal();
}
void MyFrame::OnDerivedDialogToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
// Make an instance of our derived dialog, passing it "this" window
// (the main frame) as the parent of the dialog. This allows the dialog
// to be destructed automatically when the parent is destroyed.
PreferencesDialog preferencesDialog(this);
// Show the instance of the dialog, modally.
preferencesDialog.ShowModal();
}
void MyFrame::OnAnimationCtrlPlay(wxCommandEvent& event)
{
#if wxUSE_ANIMATIONCTRL
// get the pointers we need
wxButton *btn = wxDynamicCast(event.GetEventObject(), wxButton);
if (!btn || !btn->GetParent()) return;
wxWindow *win = btn->GetParent();
wxAnimationCtrl *ctrl = XRCCTRL(*win, "controls_animation_ctrl", wxAnimationCtrl);
wxGenericAnimationCtrl *generic =
XRCCTRL(*win, "controls_generic_animation_ctrl", wxGenericAnimationCtrl);
if (ctrl->IsPlaying())
{
ctrl->Stop();
generic->Stop();
btn->SetLabel("Play");
}
else
{
if ( ctrl->Play() && generic->Play() )
btn->SetLabel("Stop");
else
wxLogError("Cannot play the animation...");
}
#endif
}
void MyFrame::OnControlsToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "controls_dialog");
#if wxUSE_LISTCTRL
// The resource file specifies the columns of the control as they are
// typically static while the items themselves are added from here as
// usually they are not static (but if they are, they can be defined in the
// resources too, see the two other list controls definitions in
// controls.xrc)
// Insert some items into the listctrl: notice that we can access it using
// XRCCTRL
wxListCtrl * const list = XRCCTRL(dlg, "controls_listctrl", wxListCtrl);
list->InsertItem(0, "Athos", 0); list->SetItem(0, 1, "90", 2);
list->InsertItem(1, "Porthos", 5); list->SetItem(1, 1, "120", 3);
list->InsertItem(2, "Aramis", 1); list->SetItem(2, 1, "80", 4);
#endif // wxUSE_LISTCTRL
#if wxUSE_TREECTRL
// There is no data in the tree ctrl. These lines will add some.
// (1) Instead of having to write out
// XRCCTRL(dlg, "controls_treectrl", wxTreeCtrl)->SomeFunction()
// each time (which is also OK), this example code will shown how
// to make a pointer to the XRC control, so we can use
// treectrl->SomeFunction() as a short cut. This is useful if you
// will be referring to this control often in the code.
wxTreeCtrl* treectrl = XRCCTRL(dlg, "controls_treectrl", wxTreeCtrl);
// (2) Add a root node
treectrl->AddRoot(_("Godfather"));
// (3)Append some items to the root node.
treectrl->AppendItem(treectrl->GetRootItem(), _("Evil henchman 1"));
treectrl->AppendItem(treectrl->GetRootItem(), _("Evil henchman 2"));
treectrl->AppendItem(treectrl->GetRootItem(), _("Evil accountant"));
#endif
#if wxUSE_ANIMATIONCTRL
// dynamically connect our event handler for the "clicked" event of the "play" button
// in the animation ctrl page of our dialog
dlg.Bind(wxEVT_BUTTON, &MyFrame::OnAnimationCtrlPlay, this,
XRCID("controls_animation_button_play"));
#endif
#if wxUSE_INFOBAR
// Show the message on button click
dlg.Bind(wxEVT_BUTTON, &MyFrame::OnInfoBarShowMessage, this,
XRCID("controls_infobar_button_message"));
#endif
// All done. Show the dialog.
dlg.ShowModal();
}
void MyFrame::OnUncenteredToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "uncentered_dialog");
dlg.ShowModal();
}
void MyFrame::OnMultipleAccels(wxCommandEvent& WXUNUSED(event))
{
wxString msg;
#if defined(__WXOSX_COCOA__)
wxString main = "Cmd-W";
wxString extra1 = "Cmd-T";
wxString extra2 = "Shift-Cmd-W";
#else
wxString main = "Ctrl-W";
wxString extra1 = "Ctrl-T";
wxString extra2 = "Shift-Ctrl-W";
#endif
msg.Printf(
"You can open this dialog with any of '%s' (main), '%s' or '%s' (extra) accelerators.",
main, extra1, extra2
);
wxMessageBox(msg, _("Multiple accelerators demo"), wxOK | wxICON_INFORMATION, this);
}
void MyFrame::OnAuiDemoToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
#if wxUSE_AUI
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "aui_dialog");
dlg.ShowModal();
#else
wxLogWarning("wxUSE_AUI must be set to 1 in 'setup.h' to view the AUI demo.");
#endif
}
void MyFrame::OnObjRefToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
// The dialog redirects log messages, so save the old log target first
wxLog* oldlogtarget = wxLog::SetActiveTarget(nullptr);
// Make an instance of the dialog
ObjrefDialog* objrefDialog = new ObjrefDialog(this);
// Show the instance of the dialog, modally.
objrefDialog->ShowModal();
objrefDialog->Destroy();
// Restore the old log target
delete wxLog::SetActiveTarget(oldlogtarget);
}
void MyFrame::OnCustomClassToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "custom_class_dialog");
// Make an instance of our new custom class.
MyResizableListCtrl* a_myResizableListCtrl = new MyResizableListCtrl(&dlg,
wxID_ANY,
wxDefaultPosition,
wxDefaultSize,
wxLC_REPORT,
wxDefaultValidator);
// "custom_control_placeholder" is the name of the "unknown" tag in the
// custctrl.xrc XRC file.
wxXmlResource::Get()->AttachUnknownControl("custom_control_placeholder",
a_myResizableListCtrl);
dlg.ShowModal();
}
void MyFrame::OnPlatformPropertyToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "platform_property_dialog");
dlg.ShowModal();
}
void MyFrame::OnArtProviderToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "art_provider_dialog");
dlg.ShowModal();
}
void MyFrame::OnVariableExpansionToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "variable_expansion_dialog");
dlg.ShowModal();
}
void MyFrame::OnVariants(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;
wxXmlResource::Get()->LoadDialog(&dlg, this, "variants_dialog");
dlg.ShowModal();
}
void MyFrame::OnRecursiveLoad(wxCommandEvent& WXUNUSED(event))
{
// this dialog is created manually to show how you can inject a single
// control from XRC into an existing dialog
//
// this is a slightly contrived example, please keep in mind that it's done
// only to demonstrate LoadObjectRecursively() in action and is not the
// recommended to do this
wxDialog dlg(nullptr, wxID_ANY, "Recursive Load Example",
wxDefaultPosition, wxDefaultSize,
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER);
wxSizer * const sizer = new wxBoxSizer(wxVERTICAL);
sizer->Add
(
new wxStaticText
(
&dlg,
wxID_ANY,
"The entire tree book control below is loaded from XRC"
),
wxSizerFlags().Expand().Border()
);
sizer->Add
(
static_cast<wxWindow *>
(
// notice that controls_treebook is defined inside a notebook page
// inside a dialog defined in controls.xrc and so LoadObject()
// wouldn't find it -- but LoadObjectRecursively() does
wxXmlResource::Get()->
LoadObjectRecursively(&dlg, "controls_treebook", "wxTreebook")
),
wxSizerFlags(1).Expand().Border()
);
dlg.SetSizer(sizer);
dlg.SetClientSize(400, 200);
dlg.ShowModal();
}
void MyFrame::OnAboutToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxString msg;
msg.Printf( "This is the about dialog of XML resources demo.\n"
"Welcome to %s", wxVERSION_STRING);
wxMessageBox(msg, _("About XML resources demo"), wxOK | wxICON_INFORMATION, this);
}
void MyFrame::OnInfoBarShowMessage(wxCommandEvent& event)
{
#if wxUSE_INFOBAR
// get the pointers we need
wxButton *btn = wxDynamicCast(event.GetEventObject(), wxButton);
if ( !btn || !btn->GetParent() )
return;
wxWindow *win = btn->GetParent();
wxInfoBar *ctrl = XRCCTRL(*win, "controls_infobar", wxInfoBar);
ctrl->ShowMessage("Message", wxICON_QUESTION);
#endif
}
// Define the wxVListBox subclass here
#include <wx/vlbox.h>
class wxVListBoxDerived : public wxVListBox
{
public:
// the derived class must implement this function to actually draw the item
// with the given index on the provided DC
virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const override;
// the derived class must implement this method to return the height of the
// specified item
virtual wxCoord OnMeasureItem(size_t n) const override;
private:
wxDECLARE_DYNAMIC_CLASS(wxVListBoxDerived);
wxDECLARE_EVENT_TABLE();
/* XRC requires default constructor, and Create() is not
virtual, so initialization must be done here */
void OnCreate(wxWindowCreateEvent& event);
wxString GetItem(size_t n) const;
};
wxIMPLEMENT_DYNAMIC_CLASS(wxVListBoxDerived, wxVListBox);
wxBEGIN_EVENT_TABLE(wxVListBoxDerived, wxVListBox)
EVT_WINDOW_CREATE(wxVListBoxDerived::OnCreate)
wxEND_EVENT_TABLE()
void wxVListBoxDerived::OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const
{
dc.DrawText(GetItem(n), rect.GetLeftTop());
}
wxCoord wxVListBoxDerived::OnMeasureItem(size_t n) const
{
// safe to const_cast since we're just using GetTextExtent()
wxInfoDC dc(const_cast<wxVListBoxDerived*>(this));
return dc.GetTextExtent(GetItem(n)).y;
}
/* XRC requires default constructor, and Create() is not
virtual, so initialization must be done here */
void wxVListBoxDerived::OnCreate(wxWindowCreateEvent& event)
{
SetItemCount(10);
event.Skip();
}
wxString wxVListBoxDerived::GetItem(size_t n) const
{
return wxString::Format("Item %zu", n);
}

View File

@@ -0,0 +1,67 @@
//-----------------------------------------------------------------------------
// Name: myframe.h
// Purpose: XML resources sample: A derived frame, called MyFrame
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Begin single inclusion of this .h file condition
//-----------------------------------------------------------------------------
#ifndef _MYFRAME_H_
#define _MYFRAME_H_
//-----------------------------------------------------------------------------
// Headers
//-----------------------------------------------------------------------------
#include "wx/frame.h"
//-----------------------------------------------------------------------------
// Class definition: MyFrame
//-----------------------------------------------------------------------------
// Define a new frame type: this is going to be our main frame
class MyFrame : public wxFrame
{
public:
// Constructor.
MyFrame( wxWindow* parent=nullptr);
private:
// Event handlers (these functions should _not_ be virtual)
void OnUnloadResourceMenuCommand(wxCommandEvent& event);
void OnReloadResourceMenuCommand(wxCommandEvent& event);
void OnExitToolOrMenuCommand(wxCommandEvent& event);
void OnAboutToolOrMenuCommand(wxCommandEvent& event);
void OnNonDerivedDialogToolOrMenuCommand(wxCommandEvent& event);
void OnDerivedDialogToolOrMenuCommand(wxCommandEvent& event);
void OnControlsToolOrMenuCommand(wxCommandEvent& event);
void OnUncenteredToolOrMenuCommand(wxCommandEvent& event);
void OnMultipleAccels(wxCommandEvent& event);
void OnAuiDemoToolOrMenuCommand(wxCommandEvent& event);
void OnObjRefToolOrMenuCommand(wxCommandEvent& event);
void OnCustomClassToolOrMenuCommand(wxCommandEvent& event);
void OnPlatformPropertyToolOrMenuCommand(wxCommandEvent& event);
void OnArtProviderToolOrMenuCommand(wxCommandEvent& event);
void OnVariableExpansionToolOrMenuCommand(wxCommandEvent& event);
void OnVariants(wxCommandEvent& event);
void OnRecursiveLoad(wxCommandEvent& event);
void OnAnimationCtrlPlay(wxCommandEvent& event);
void OnInfoBarShowMessage(wxCommandEvent& event);
// Any class wishing to process wxWidgets events must use this macro
wxDECLARE_EVENT_TABLE();
};
//-----------------------------------------------------------------------------
// End single inclusion of this .h file condition
//-----------------------------------------------------------------------------
#endif // _MYFRAME_H_

View File

@@ -0,0 +1,305 @@
//-----------------------------------------------------------------------------
// Name: objref.cpp
// Purpose: XML resources sample: Object references and ID ranges dialog
// Author: David Hart, Vaclav Slavik
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Standard wxWidgets headers
//-----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
// For all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
//-----------------------------------------------------------------------------
// Header of this .cpp file
//-----------------------------------------------------------------------------
#include "objrefdlg.h"
//-----------------------------------------------------------------------------
// Needed wx headers,
//-----------------------------------------------------------------------------
#include "wx/xrc/xmlres.h" // XRC XML resouces
//-----------------------------------------------------------------------------
// Public members
//-----------------------------------------------------------------------------
ObjrefDialog::ObjrefDialog(wxWindow* parent)
{
wxXmlResource::Get()->LoadDialog(this, parent, "objref_dialog");
nb = XRCCTRL(*this, "objref_notebook", wxNotebook);
wxCHECK_RET(nb, "failed to find objref_notebook");
// Connect different event handlers.
nb->Bind(wxEVT_NOTEBOOK_PAGE_CHANGED, &ObjrefDialog::OnNotebookPageChanged, this);
// We want to direct UpdateUI events for the ID range 'first_row' to
// OnUpdateUIFirst(). We could achieve this using first_row[0] and
// first_row[2], but what if a fourth column were added? It's safer to use
// the 'typedefs' for the two ends of the range:
wxNotebookPage *page = nb->GetPage(icons_page);
page->Bind(wxEVT_UPDATE_UI, &ObjrefDialog::OnUpdateUIFirst, this,
XRCID("first_row[start]"), XRCID("first_row[end]"));
page->Bind(wxEVT_UPDATE_UI, &ObjrefDialog::OnUpdateUISecond, this,
XRCID("second_row[start]"), XRCID("second_row[end]"));
page->Bind(wxEVT_UPDATE_UI, &ObjrefDialog::OnUpdateUIThird, this,
XRCID("third_row[start]"), XRCID("third_row[end]"));
// Connect the id ranges, using the [start] and [end] 'typedefs'
page = nb->GetPage(calc_page);
page->Bind(wxEVT_BUTTON, &ObjrefDialog::OnNumeralClick, this,
XRCID("digits[start]"), XRCID("digits[end]"));
page->Bind(wxEVT_BUTTON, &ObjrefDialog::OnOperatorClick, this,
XRCID("operators[start]"), XRCID("operators[end]"));
}
ObjrefDialog::~ObjrefDialog()
{
// Select page 0. Otherwise if the Calc page were selected, when it's
// removed the Icons page is selected and sets the log target again in idle
// time, *after* myframe restores the old one!
nb->ChangeSelection(0);
}
//-----------------------------------------------------------------------------
// Private members (including the event handlers)
//-----------------------------------------------------------------------------
void ObjrefDialog::OnNotebookPageChanged( wxNotebookEvent &event )
{
switch(event.GetSelection())
{
case copy_page:
{
// This is a straight object reference to the first page
// so change the text programmatically
nb->SetPageText(copy_page, "Page 1 copy");
wxNotebookPage *page = nb->GetPage(copy_page);
wxTextCtrl *
text = XRCCTRL(*page, "description_text", wxTextCtrl);
text->ChangeValue(
"This is a duplicate of page 1, using an object reference. "
"It was created by this very simple xml:\n\n"
"<object class=\"notebookpage\">\n\t<object_ref ref=\"page1\"/>\n"
"\t<label>Page 1 copy</label>\n</object>"
"\n\n(Then I'm cheating by inserting this text programmatically.)"
);
break;
}
case icons_page:
{
wxNotebookPage *page = nb->GetPage(icons_page);
wxTextCtrl* const text = XRCCTRL(*page, "log_text", wxTextCtrl);
if (text)
delete wxLog::SetActiveTarget(new wxLogTextCtrl(text));
break;
}
case calc_page:
{
wxNotebookPage *page = nb->GetPage(calc_page);
result_txt = XRCCTRL(*page, "result", wxTextCtrl);
wxTextCtrl* const text = XRCCTRL(*page, "log_text", wxTextCtrl);
if (text)
delete wxLog::SetActiveTarget(new wxLogTextCtrl(text));
ClearCalculator();
break;
}
}
}
// There are undoubtedly simpler ways of doing all this, but we're
// demonstrating the use of ID ranges
void ObjrefDialog::OnUpdateUIFirst(wxUpdateUIEvent& event)
{
// The checkbox with the XRCID 'check[0]' controls this row of icons
wxCheckBox *
chk = XRCCTRL(*(nb->GetPage(icons_page)), "check[0]", wxCheckBox);
if (chk)
event.Enable(chk->IsChecked());
// Let's create a log-window entry
static bool checked = true;
if (chk->IsChecked() != checked)
{
checked = chk->IsChecked();
wxLogMessage("Row one has been %s by check[0], XRCID = %i",
checked ? "enabled" : "disabled", XRCID("check[0]"));
wxLogMessage("XRCIDs: first_row[start] = %i, first_row[0] = %i, "
"first_row[1] = %i, first_row[2] = %i, "
"first_row[end] = %i",
XRCID("first_row[start]"), XRCID("first_row[0]"),
XRCID("first_row[1]"), XRCID("first_row[2]"),
XRCID("first_row[end]"));
}
}
void ObjrefDialog::OnUpdateUISecond(wxUpdateUIEvent& event)
{
// The checkbox with the XRCID 'check[1]' controls this row of icons
wxCheckBox *
chk = XRCCTRL(*(nb->GetPage(icons_page)), "check[1]", wxCheckBox);
if (chk)
event.Enable(chk->IsChecked());
// Let's create a log-window entry
static bool checked = true;
if (chk->IsChecked() != checked)
{
checked = chk->IsChecked();
wxLogMessage("Row two has been %s by check[1], XRCID = %i",
checked ? "enabled" : "disabled", XRCID("check[1]"));
wxLogMessage("XRCIDs: second_row[start] = %i, second_row[0] = %i, "
"second_row[1] = %i, second_row[2] = %i, "
"second_row[end] = %i",
XRCID("second_row[start]"), XRCID("second_row[0]"),
XRCID("second_row[1]"), XRCID("second_row[2]"),
XRCID("second_row[end]"));
}
}
void ObjrefDialog::OnUpdateUIThird(wxUpdateUIEvent& event)
{
// The checkbox with the XRCID 'check[2]' controls this row of icons
wxCheckBox *
chk = XRCCTRL(*(nb->GetPage(icons_page)), "check[2]", wxCheckBox);
if (chk)
event.Enable(chk->IsChecked());
// Let's create a log-window entry
static bool checked = true;
if (chk->IsChecked() != checked)
{
checked = chk->IsChecked();
wxLogMessage("Row three has been %s by check[2], XRCID = %i",
checked ? "enabled" : "disabled", XRCID("check[2]"));
wxLogMessage("XRCIDs: third_row[start] = %i, third_row[0] = %i, "
"third_row[1] = %i, third_row[2] = %i, "
"third_row[end] = %i",
XRCID("third_row[start]"), XRCID("third_row[0]"),
XRCID("third_row[1]"), XRCID("third_row[2]"),
XRCID("third_row[end]"));
}
}
void ObjrefDialog::OnNumeralClick(wxCommandEvent& event)
{
// See how the id range simplifies determining which numeral was clicked
int digit = event.GetId() - XRCID("digits[start]");
char c = '0' + digit;
if (current==0 && previous==0)
{
// We're just starting a calculation, so get rid of the placeholder '0'
result_txt->Clear();
}
else if (operator_expected == true)
{
// If we've just finished one calculation, and now a digit is entered,
// clear
ClearCalculator();
result_txt->Clear();
}
(*result_txt) << c;
current = current*10 + digit;
wxLogMessage("You clicked digits[%c], XRCID %i", c, event.GetId());
}
void ObjrefDialog::OnOperatorClick(wxCommandEvent& event)
{
static const char symbols[] = "+-*/=";
operator_expected = false;
int ID = event.GetId() - XRCID("operators[start]");
// We carefully used "operators[end]" as the name of the Clear button
if (event.GetId() == XRCID("operators[end]"))
{
wxLogMessage("You clicked operators[%i], XRCID %d, 'Clear'",
ID, event.GetId());
ClearCalculator();
return;
}
switch(ID)
{
case operator_plus:
case operator_minus:
case operator_multiply:
case operator_divide:
if (current!=0 || previous!=0)
{
// We're in the middle of a complex calculation, so do the
// first bit
Calculate();
}
curr_operator = (CalcOperator)ID;
break;
case operator_equals:
Calculate();
wxLogMessage("You clicked operators[%i], XRCID %i, giving a '%c'",
ID, event.GetId(), symbols[ID]);
curr_operator = operator_equals;
// Flag that the next entry should be an operator, not a digit
operator_expected = true;
return;
}
(*result_txt) << ' ' << symbols[ID] << ' ';
wxLogMessage("You clicked operators[%i], XRCID %i, giving a '%c'",
ID, event.GetId(), symbols[ID]);
}
void ObjrefDialog::Calculate()
{
switch(curr_operator)
{
case operator_plus:
previous += current; break;
case operator_minus:
previous -= current; break;
case operator_multiply:
previous *= current; break;
case operator_divide:
if (current!=0)
previous /= current;
break;
default: return;
}
curr_operator = operator_plus;
current = 0;
result_txt->Clear();
(*result_txt) << previous;
}
void ObjrefDialog::ClearCalculator()
{
current = previous = 0;
curr_operator = operator_plus;
operator_expected = false;
result_txt->ChangeValue("0");
}

View File

@@ -0,0 +1,74 @@
//-----------------------------------------------------------------------------
// Name: objref.h
// Purpose: XML resources sample: Object references and ID ranges dialog
// Author: David Hart, Vaclav Slavik
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Begin single inclusion of this .h file condition
//-----------------------------------------------------------------------------
#ifndef _OBJREFDLG_H_
#define _OBJREFDLG_H_
//-----------------------------------------------------------------------------
// Headers
//-----------------------------------------------------------------------------
#include "wx/dialog.h"
#include "wx/notebook.h"
//-----------------------------------------------------------------------------
// Class definition: ObjrefDialog
//-----------------------------------------------------------------------------
class ObjrefDialog : public wxDialog
{
public:
// Constructor.
ObjrefDialog( wxWindow* parent );
// Destructor.
~ObjrefDialog();
private:
enum PageNumbers
{
first_page,
copy_page,
icons_page,
calc_page
};
enum CalcOperator
{
operator_plus,
operator_minus,
operator_multiply,
operator_divide,
operator_equals
};
void OnNotebookPageChanged( wxNotebookEvent &event );
void OnUpdateUIFirst(wxUpdateUIEvent& event);
void OnUpdateUISecond(wxUpdateUIEvent& event);
void OnUpdateUIThird(wxUpdateUIEvent& event);
void OnNumeralClick(wxCommandEvent& event);
void OnOperatorClick(wxCommandEvent& event);
void Calculate();
void ClearCalculator();
wxNotebook *nb;
wxTextCtrl *result_txt;
int current;
int previous;
bool operator_expected;
CalcOperator curr_operator;
};
#endif //_OBJREFDLG_H_

View File

@@ -0,0 +1,23 @@
/* XPM */
static const char *const artprov_xpm[] = {
"16 16 4 1",
" c None",
". c #000000",
"+ c #0E2CEF",
"@ c #FFFFFF",
" . ",
" . . ",
" . . ",
"++++++++++++++++",
"+@@@@@@@@@@@@@@+",
"+@@@@@@++@@@@@@+",
"+@@@@@@@@@@@@@@+",
"+@@@@@+++@@@@@@+",
"+@@@@@@++@@@@@@+",
"+@@@@@@++@@@@@@+",
"+@@@@@@++@@@@@@+",
"+@@@@@++++@@@@@+",
"+@@@@@@@@@@@@@@+",
"++++++++++++++++",
" ",
" "};

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="art_provider_dialog">
<title>wxArtProvider Example</title>
<centered>1</centered>
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,150</size>
<style>wxTE_MULTILINE</style>
<value>You can specify wxArtProvider icons in your XRC resources. These icons will be retrieved from the active wxArtProvider (see wxArtProvider in docs and /samples/artprov for more information on wxArtProvider).\n\nThe most common usage for this is that you want a dialog, toolbar or menu item to have the correct platform-specific icon in your interface, such as a custom "Don't show this again" checkbox message dialog that has the appropriate icon, as shown below.\n\nYou can also use it to manage your own custom bitmaps though, too--instead of having to write multiple versions of an XRC file that only differ in their bitmaps, you can instead just write one XRC file with the bitmap to be retrieved from the wxArtProvider at runtime, having your custom wxArtProvider use some code to serve out the desired bitmap based on such things as a wxConfig entry of a desired icon set, what OS the application is running on, what size or resolution the display is, and so on.\n\nNote that your application's custom bitmaps are the only thing that will differ between OS's in order to ensure proper Look And Feel, as everything else: windows decoration, colors, fonts, widgets, etc already match perfectly since wxWidgets runs natively.\n\nTo use a wxArtProvider bitmap instead of usual bitmap, in your XRC, instead of &lt;bitmap&gt;somefile.png&lt;/bitmap&gt;, use &lt;bitmap stock__id="SOME__ART__ID" client="SOME__CLIENT__ID"&gt;somefile.png&lt;/bitmap&gt;. The stock__id parameter is required for a bitmap to be read from wxArtProvider, stock__client is optional. The image filename is also optional, and is just used as a fallback in case the wxArtProvider couldn't return a bitmap for that particular stock__id (and particular stock__client if your wxArtProvider is set up to also filter stock__client).</value>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxFlexGridSizer">
<cols>2</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>1</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxStaticBitmap" name="my_bitmap">
<bitmap stock_id="wxART_INFORMATION" stock_client="wxART_MESSAGE_BOX">derivdlg.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxStaticText" name="message_statictext">
<label>Your web connection is optimized perfectly.</label>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxCheckBox" name="dont_show_checkbox">
<label>Don't show this message again</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_OK">
<label>OK</label>
</object>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,161 @@
/* XPM */
static const char *const wxwin16x16_xpm[] = {
"16 16 142 2",
" c None",
". c #7171C0",
"+ c #7D7DC7",
"@ c #8181CE",
"# c #7979CE",
"$ c #7171CE",
"% c #6868CD",
"& c #5050C0",
"* c #7C7CCB",
"= c #D3D3FC",
"- c #C0C0FF",
"; c #B1B1FF",
"> c #A4A4FF",
", c #9696FF",
"' c #6B6BE3",
") c #3E3EC0",
"! c #7B7BD3",
"~ c #CFCFFF",
"{ c #A7A7FF",
"] c #8989FF",
"^ c #7B7BFF",
"/ c #5E5EEB",
"( c #3333BF",
"_ c #6969D3",
": c #BEBEFF",
"< c #8E8EFF",
"[ c #5E5EFF",
"} c #4C4CFD",
"| c #6464C6",
"1 c #A4A478",
"2 c #BFBF63",
"3 c #BFBF5C",
"4 c #BFBF56",
"5 c #BFBF51",
"6 c #C17474",
"7 c #BF7070",
"8 c #BF6969",
"9 c #BF6363",
"0 c #544AC7",
"a c #A8A8FF",
"b c #7070FF",
"c c #5050FF",
"d c #3F3FFF",
"e c #8C8CBA",
"f c #F6F6C8",
"g c #FBFBBB",
"h c #FBFBAE",
"i c #FBFBA1",
"j c #F9F993",
"k c #D7D760",
"l c #D28D8D",
"m c #EEB8B8",
"n c #EFAAAA",
"o c #EF9E9E",
"p c #7C5ABC",
"q c #8D8DFF",
"r c #4747FF",
"s c #3535FF",
"t c #2B2BFF",
"u c #AAAAA7",
"v c #FFFFD2",
"w c #FFFFA9",
"x c #FFFF9A",
"y c #FFFF8D",
"z c #FFFF80",
"A c #E4E45B",
"B c #E39F9F",
"C c #FFCCCC",
"D c #FFA9A9",
"E c #FF9C9C",
"F c #B469A0",
"G c #3E3DE7",
"H c #2828EF",
"I c #1E1EEF",
"J c #1515EF",
"K c #A5A595",
"L c #FFFFC2",
"M c #FFFF8F",
"N c #F7F765",
"O c #F2F251",
"P c #DBDB3A",
"Q c #E48E8E",
"R c #FFBABA",
"S c #FF8E8E",
"T c #FF8181",
"U c #FF6868",
"V c #E54D60",
"W c #AC2E56",
"X c #0B0BBF",
"Y c #0606BF",
"Z c #C8C85D",
"` c #FEFEB1",
" . c #FEFE74",
".. c #F4F456",
"+. c #EFEF42",
"@. c #EFEF38",
"#. c #D7D725",
"$. c #E47676",
"%. c #FFA8A8",
"&. c #FF7373",
"*. c #FF5555",
"=. c #FF4343",
"-. c #FF3939",
";. c #DA2323",
">. c #CFCF3C",
",. c #F6F694",
"'. c #F0F047",
"). c #EFEF2E",
"!. c #EFEF24",
"~. c #D7D715",
"{. c #E45757",
"]. c #FF8888",
"^. c #FF4646",
"/. c #FF2F2F",
"(. c #FF2525",
"_. c #DA1414",
":. c #C3C328",
"<. c #EBEB55",
"[. c #ECEC2F",
"}. c #ECEC24",
"|. c #ECEC1A",
"1. c #EBEB10",
"2. c #CDCD06",
"3. c #DD3A3A",
"4. c #FF6060",
"5. c #FF1B1B",
"6. c #FE1111",
"7. c #D10707",
"8. c #B8B819",
"9. c #B7B715",
"0. c #B7B710",
"a. c #B7B70B",
"b. c #B7B706",
"c. c #B7B701",
"d. c #B7B700",
"e. c #BF1A1A",
"f. c #CC1919",
"g. c #CE1414",
"h. c #CE0E0E",
"i. c #CE0808",
"j. c #C90202",
"k. c #C00000",
" ",
" ",
" . + @ # $ % & ",
" * = - ; > , ' ) ",
" ! ~ { , ] ^ / ( ",
" _ : < ^ [ } | 1 2 3 4 5 ",
"6 7 8 9 0 a b c d e f g h i j k ",
"l m n o p q r s t u v w x y z A ",
"B C D E F G H I J K L M z N O P ",
"Q R S T U V W X Y Z ` ...+.@.#.",
"$.%.&.*.=.-.;. >.,.'.@.).!.~.",
"{.].^.-./.(._. :.<.[.}.|.1.2.",
"3.4./.(.5.6.7. 8.9.0.a.b.c.d.",
"e.f.g.h.i.j.k. ",
" ",
" "};

View File

@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="aui_dialog">
<title>AUI XRC demo</title>
<centered>1</centered>
<style>wxCAPTION|wxRESIZE_BORDER</style>
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<option>1</option>
<flag>wxEXPAND</flag>
<object class="wxPanel" name="aui_client_area">
<object class="wxAuiManager" name="aui_manager">
<object class="wxAuiPaneInfo" name="aui_tool_bar_top">
<caption>Main Toolbar</caption>
<top/>
<left_dockable>0</left_dockable>
<right_dockable>0</right_dockable>
<toolbar_pane/>
<object class="wxToolBar">
<style>wxTB_FLAT|wxTB_NODIVIDER</style>
<margins>2,2</margins>
<object class="tool" name="New">
<bitmap stock_id="wxART_NEW"/>
<label>New</label>
</object>
<object class="tool" name="view_auto">
<bitmap stock_id="wxART_FILE_OPEN"/>
<label>View</label>
<dropdown>
<object class="wxMenu">
<object class="wxMenuItem" name="view_as_text">
<label>View as text</label>
</object>
<object class="wxMenuItem" name="view_as_hex">
<label>View as binary</label>
</object>
</object>
</dropdown>
</object>
<object class="separator"/>
<object class="tool" name="home">
<toggle>1</toggle>
<bitmap stock_id="wxART_GO_HOME"/>
<label>Home</label>
</object>
<object class="separator"/>
<object class="tool" name="up">
<radio>1</radio>
<bitmap stock_id="wxART_GO_UP"/>
<label>Up</label>
</object>
<object class="tool" name="down">
<radio>1</radio>
<bitmap stock_id="wxART_GO_DOWN"/>
<label>Down</label>
</object>
<object class="space"/>
<object class="wxComboBox">
<content>
<item>Just</item>
<item>a combobox</item>
<item>in the toolbar</item>
</content>
</object>
<object class="wxOwnerDrawnComboBox">
<content>
<item>Owner Drawn</item>
<item>combobox</item>
<item>in the toolbar</item>
</content>
</object>
</object>
</object>
<object class="wxAuiPaneInfo" name="TreeViewPane">
<caption>Tree View</caption>
<left/>
<close_button>0</close_button>
<top_dockable>0</top_dockable>
<bottom_dockable>0</bottom_dockable>
<floating_size>150,300</floating_size>
<min_size>90,-1</min_size>
<layer>1</layer>
<object class="wxTreeCtrl" name="TreeView"/>
</object>
<object class="wxAuiPaneInfo" name="aui_notebook">
<caption>Notebook</caption>
<min_size>-1,200</min_size>
<center/>
<close_button>0</close_button>
<maximize_button>1</maximize_button>
<dock_fixed>1</dock_fixed>
<object class="wxAuiNotebook" name="aui_notebook">
<object class="notebookpage">
<label>Page 1</label>
<bitmap stock_id="wxART_WARNING"/>
<object class="wxPanel" name="page1">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxTextCtrl" name="description_text">
<value>Notice the wxAuiToolBar added above this wxAuiNotebook</value>
<style>wxTE_MULTILINE|wxTE_READONLY</style>
</object>
<option>1</option>
<flag>wxEXPAND</flag>
</object>
</object>
</object>
</object>
<object class="notebookpage">
<label>Page 2</label>
<bitmap stock_id="wxART_INFORMATION"/>
<object class="wxPanel" name="page2">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxTextCtrl" name="description_text">
<value>The wxAuiNotebook pages are added by XRC</value>
<style>wxTE_MULTILINE|wxTE_READONLY</style>
</object>
<option>1</option>
<flag>wxEXPAND</flag>
</object>
</object>
</object>
</object>
<object class="notebookpage">
<label>Page 3</label>
<bitmap stock_id="wxART_QUESTION"/>
<object class="wxPanel" name="page3">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxTextCtrl" name="description_text">
<value></value>
<style>wxTE_MULTILINE|wxTE_READONLY</style>
</object>
<option>1</option>
<flag>wxEXPAND</flag>
</object>
</object>
</object>
</object>
</object>
</object>
<object class="wxAuiPaneInfo" name="aui_text">
<caption>Just a test text</caption>
<bottom/>
<close_button>0</close_button>
<left_dockable>0</left_dockable>
<right_dockable>0</right_dockable>
<min_size>-1,60</min_size>
<floating_size>300,150</floating_size>
<object class="wxTextCtrl" name="TextLog">
<style>wxTE_MULTILINE</style>
<value>Notice that the toolbar above is a simple wxToolBar
inside wxAuiPaneInfo while the toolbar below is a wxAuiToolBar</value>
</object>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<flag>wxEXPAND</flag>
<object class="wxAuiToolBar" name="aui_toolbar_bottom">
<style>wxAUI_TB_TEXT|wxAUI_TB_GRIPPER</style>
<object class="label" name="label1">
<label>Tools:</label>
<width>-1</width>
</object>
<object class="tool" name="tool1">
<bitmap stock_id="wxART_NEW"/>
<label>Tool 1</label>
</object>
<object class="space">
<width>25</width>
</object>
<object class="tool" name="tool2">
<bitmap stock_id="wxART_FILE_OPEN"/>
<label>Tool 2</label>
</object>
<object class="separator"/>
<object class="tool" name="dropdown">
<bitmap stock_id="wxART_FIND"/>
<label>Dropdown</label>
<dropdown>
<object class="wxMenu">
<object class="wxMenuItem">
<label>A dropdown menu</label>
</object>
<object class="wxMenuItem">
<label>in the aui toolbar</label>
</object>
</object>
</dropdown>
</object>
<object class="separator"/>
<object class="space">
<proportion>3</proportion>
</object>
<object class="wxComboBox">
<content>
<item>Just a</item>
<item>combobox in</item>
<item>the aui toolbar</item>
</content>
</object>
<object class="space"/>
</object>
</object>
<object class="sizeritem">
<object class="wxButton" name="wxID_OK">
<label>OK</label>
<default>1</default>
</object>
<flag>wxTOP|wxBOTTOM|wxALIGN_CENTRE</flag>
<border>10</border>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,24 @@
/* XPM */
static const char *const basicdlg_xpm[] = {
"16 16 5 1",
" c None",
". c #000000",
"+ c #808080",
"@ c #0000FF",
"# c #FFFFFF",
" ",
"................",
".++++++++++++++.",
".+@@@@@@@@@@@@+.",
".++++++++++++++.",
".+############+.",
".+############+.",
".+############+.",
".+############+.",
".+############+.",
".+############+.",
".+############+.",
".+############+.",
".++++++++++++++.",
"................",
" "};

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="non_derived_dialog">
<title>Non-Derived Dialog Example</title>
<centered>1</centered>
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxGROW|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,150</size>
<style>wxTE_MULTILINE</style>
<value>This is the basic non-derived XRC dialog. It is just an instance of wxDialog, not a instance of a class derived from wxDialog that was given some added functionality.\n\nYou can put whatever controls you want on these non-derived dialogs, but the dialog won't interact with the controls, nor do anything in response to any of their events. It only has the built-in functionality of a wxDialog, and that is it. A non-derived dialog can automatically close itself when you hit either the OK or Cancel button (returning a return code of what button you pressed), and not much else.\n\nThese are useful for an About dialog, or a message dialog popup, but that's about it. For the rest you will almost certainly use a derived dialog (see next example).</value>
</object>
</object>
<object class="sizeritem">
<flag>wxEXPAND|wxALL</flag>
<border>5</border>
<object class="wxStdDialogButtonSizer">
<object class="button">
<object class="wxButton" name="wxID_OK">
<label>OK</label>
</object>
</object>
<object class="button">
<object class="wxButton" name="wxID_CANCEL">
<label>Cancel</label>
</object>
</object>
</object>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,40 @@
/* XPM */
static const char *const basicdlg_xpm[] = {
"32 32 5 1",
" c None",
". c #000000",
"+ c #808080",
"@ c #0000FF",
"# c #FFFFFF",
" ",
" ",
"................................",
"................................",
"..++++++++++++++++++++++++++++..",
"..++++++++++++++++++++++++++++..",
"..++@@@@@@@@@@@@@@@@@@@@@@@@++..",
"..++@@@@@@@@@@@@@@@@@@@@@@@@++..",
"..++++++++++++++++++++++++++++..",
"..++++++++++++++++++++++++++++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++########################++..",
"..++++++++++++++++++++++++++++..",
"..++++++++++++++++++++++++++++..",
"................................",
"................................",
" ",
" "};

View File

@@ -0,0 +1,25 @@
/* XPM */
static const char *const controls_xpm[] = {
"16 16 6 1",
" c None",
". c #000000",
"+ c #808080",
"@ c #0000FF",
"# c #FFFFFF",
"$ c #0E2CEF",
" ",
" ",
" ",
" ",
" ",
"................",
".++++++++++++++.",
".+@@@@@@@@####+.",
".+$$$$$$$$####+.",
".+$$$$$$$$####+.",
".++++++++++++++.",
"................",
" ",
" ",
" ",
" "};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,26 @@
/* XPM */
static const char *const custclas_xpm[] = {
"16 16 7 1",
" c None",
". c #EBF70E",
"+ c #000000",
"@ c #808080",
"# c #0000FF",
"$ c #FFFFFF",
"% c #0E2CEF",
" ",
" . ",
" . ",
" . . . ",
" ... ",
"...+....++++++++",
"+@...@@@@@@@@@@+",
"+.#.#.####$$$$@+",
"+@%.%%%%%%$$$$@+",
"+@%.%%%%%%$$$$@+",
"+@@@@@@@@@@@@@@+",
"++++++++++++++++",
" ",
" ",
" ",
" "};

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="custom_class_dialog">
<title>Custom Class Example</title>
<centered>1</centered>
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER</style>
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,150</size>
<style>wxTE_MULTILINE</style>
<value>You can embed your own custom classes into an XRC file. This is referred to as attaching an unknown control.\n\nThere are 3 main cases when you would want to do this:\n\n(A) Most commonly: you have derived a class from one of the main wxWidgets controls, so that it can manage its own state and look after its own events, because it is better management to have a portable class with all the code for that control in there with the class, instead of having many event handlers for that control scattered up in its parent dialog (which is allowed, but gets messy if a control has a lot of methods). For example, if you require a wxListCtrl that popups a menu when right-clicked on an item, and you want the wxListCtrl to resize its columns in response to an OnSize(), and a few more methods, it makes better sourcecode logic to package all these methods into a standalone derived wxListCtrl class, instead of having the parent dialog manage all these events and other functions. This is what the example below shows: it does a custom behaviour of resizing its first column to appropriately fill up the width of the control on a resize event, and it pops up a context-menu in response to a left click (and shades out popup menu item appropriately if there is no item currenty selected in the listctrl).\n\n(B)You have an utterly new widget that has no equivalent in the wxWindows class hierarchy, so you thus need to embed your class to get the needed functionality.\n\n(C) You are using one of the rarely used wxWindows controls that doesn't have an XRC handler in the XRC library. However, all of the major controls: wxButton, wxTextCtrl, etc have an XRC handler, so this is pretty rare, and you could always write your own XRC handler for that control if you wanted. You can choose the "Controls example" from the XRC demo menu to see all the controls that have an XRC handler.\n\nThe typical formula for attaching an unknown control is:\n\n(1) If you are deriving your own custom class to be embedded into the XRC, describe that class with its own .cpp and .h file. In this example it is custclass.cpp and custclass.h\n\n(2)Specify an "unknown" tag in the XRC file that you want to embed it into (see the unknown tag in custclass.xrc). This will be the placeholder of the new class.\n\n(3) Load the XRC dialog as usual, but before you show the dialog to the user, construct an instance of your custom control, and then use wxXmlResource::Get()-&gt;AttachUnknownControl() to put the custom class into its "unknown" placeholder in the XRC file.\n\nThe result is what you see below, a custom class control that fits in seamlessly with the whole dialog, the same as if it was read from XRC directly. Try out resizing this dialog, and watch the listctrl column resize, and right-click to call up its popup menu. By the way, if you look at the source of this XRC dialog, you will that this dialog node has a set of style flags that includes wxRESIZE__BORDER--that is why this dialog is resizable, whereas most of the rest of the dialogs in the XRC sample that don't include this tag, are not resizable.</value>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="unknown" name="custom_control_placeholder">
<size>100,100</size>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_OK">
<label>OK</label>
</object>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,42 @@
/* XPM */
static const char *const custclas_xpm[] = {
"32 32 7 1",
" c None",
". c #EBF70E",
"+ c #000000",
"@ c #808080",
"# c #0000FF",
"$ c #FFFFFF",
"% c #0E2CEF",
" ",
" ",
" .. ",
" .. ",
" .. ",
" .. ",
" .. .. .. ",
" .. .. .. ",
" ...... ",
" ...... ",
"......++........++++++++++++++++",
"......++........++++++++++++++++",
"++@@......@@@@@@@@@@@@@@@@@@@@++",
"++@@......@@@@@@@@@@@@@@@@@@@@++",
"++..##..##..########$$$$$$$$@@++",
"++..##..##..########$$$$$$$$@@++",
"++@@%%..%%%%%%%%%%%%$$$$$$$$@@++",
"++@@%%..%%%%%%%%%%%%$$$$$$$$@@++",
"++@@%%..%%%%%%%%%%%%$$$$$$$$@@++",
"++@@%%..%%%%%%%%%%%%$$$$$$$$@@++",
"++@@@@@@@@@@@@@@@@@@@@@@@@@@@@++",
"++@@@@@@@@@@@@@@@@@@@@@@@@@@@@++",
"++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

View File

@@ -0,0 +1,25 @@
/* XPM */
static const char *const derivdlg_xpm[] = {
"16 16 6 1",
" c None",
". c #EBF70E",
"+ c #000000",
"@ c #808080",
"# c #0000FF",
"$ c #FFFFFF",
" . ",
"+++.++++++++++++",
"+.@.@.@@@@@@@@@+",
"+@...#########@+",
"...@....@@@@@@@+",
"+@...$$$$$$$$$@+",
"+.$.@.@@@@@@$$@+",
"+@$.@@@@@@@@$$@+",
"+@$.$$$$$$$$$$@+",
"+@$$$$$$$$$$$$@+",
"+@$$$$@@@@$$$$@+",
"+@$$$$@@@@$$$$@+",
"+@$$$$$$$$$$$$@+",
"+@@@@@@@@@@@@@@+",
"++++++++++++++++",
" "};

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="derived_dialog">
<title>Derived Dialog Example</title>
<centered>1</centered>
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,150</size>
<style>wxTE_MULTILINE</style>
<value>This is a derived dialog using XRC. This type of derived dialog will likely be the heart of your project, and thus is the most important example in this demonstration.\n\nIt is recommended to open up derivdlg.cpp, derivdlg.h and derivdlg.xrc and follow along what is going on.\n\nThe steps to use a derived dialog are:\n\n(1) Derive your own dialog from wxDialog (derivdlg.cpp and derivdlg.h are an example).\n\n(2) In the source of the constructor of the derived dialog, load the XRC into the file, using the code as shown in the derivdlg.cpp\n\n(3)Add to the derived dialog's sourcecode some event handlers and other methods you want the dialog to do.\n\n(4)You can now just make an instance of the derived dialog and show it using ShowModal(), as is done in the MyFrame::OnDerivedDialogToolOrMenuCommand() method.\n\nThe remainder of this document will talk about how to use events with derived dialogs and XRC. There are 3 bits of an extra event functionality that this derived dialog can do, these will be described in turn:\n\n(A) Something to do when a user clicks on your custom button: This is straightforward. You name a control in the XRC file (in this example it is "my__button"). Then in the .cpp file, put an entry in the event table that will connect button clicks with that ID to a function that will be fired. The event table entry in the example is EVT__BUTTON( XRCID( "my__button" ), PreferencesDialog::OnMyButtonClicked ) This event table entry has 3 parts: The first part, EVT__BUTTON tells that you are describing a button click event. The final part, PreferencesDialog::OnMyButtonClicked() is what you want done in response to a button event. The middle part, XRCID( "my__button" ) is the restriction that only button events generated by a wxButton of that ID should trigger go on to do the function. This XRCID is the name of the wxButton in your XRC file. Now just describe, in the .h file and .cpp file, what you want your custom OnMyButtonClicked() function to do.\n\n(B) The second example is a very common requirement: that a checkbox or radiobutton disables some other control. The event table is set up the same as the "My Button" example above. However, it isn't an EVT__BUTTON event, it is an EVT__UPDATE__UI event: when the dialog does an update of its UI (and thus fires this event) if the updating is of a control matching that XRCID, then it will do the specified function (which in this case looks at whether or not the checkbox is checked, and if it isn't checked, then disable the textctrl).\n\n(C) The last example shows how to handle the OK button. You will likely want to do something when the user presses OK, like save preferences or start some action (this example shows a simple case of just popping up a dialog and stopping a close). OK buttons are always named wxID__OK, so the XRC file should have it as wxID__OK also. The Event table has an EVT__BUTTON entry for wxID__OK (no XRCID though). Since this is a derived dialog with an event table, in response to an EVT__BUTTON event from a wxID__OK button, it will first look around in its own event table to see if there was any EVT__BUTTON entries, and since there is, it will do that one--if there wasn't it then checks out the base class's event table and sees if there was one there, and so on up the chain of inherited classes. Note that this is exactly what happens with the derived dialog's wxID__CANCEL button. You didn't put any EVT__BUTTON entries with an identifier of wxID__CANCEL, so after it scans your derived dialog's event table, it will then look at wxDialog's event table and see if there is one in that event table, and so on until it finds one. It will find a wxID__CANCEL handler, which will connect to the proper function (which causes the dialog to close).
</value>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="my_button">
<label>My Button</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxCheckBox" name="my_checkbox">
<label>Enable this text control:</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="my_textctrl">
<size>80,-1</size>
<value></value>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_OK">
<label>OK</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_CANCEL">
<label>Cancel</label>
</object>
</object>
</object>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,41 @@
/* XPM */
static const char *const derivdlg_xpm[] = {
"32 32 6 1",
" c None",
". c #EBF70E",
"+ c #000000",
"@ c #808080",
"# c #0000FF",
"$ c #FFFFFF",
" .. ",
" .. ",
"++++++..++++++++++++++++++++++++",
"++++++..++++++++++++++++++++++++",
"++..@@..@@..@@@@@@@@@@@@@@@@@@++",
"++..@@..@@..@@@@@@@@@@@@@@@@@@++",
"++@@......##################@@++",
"++@@......##################@@++",
"......@@........@@@@@@@@@@@@@@++",
"......@@........@@@@@@@@@@@@@@++",
"++@@......$$$$$$$$$$$$$$$$$$@@++",
"++@@......$$$$$$$$$$$$$$$$$$@@++",
"++..$$..@@..@@@@@@@@@@@@$$$$@@++",
"++..$$..@@..@@@@@@@@@@@@$$$$@@++",
"++@@$$..@@@@@@@@@@@@@@@@$$$$@@++",
"++@@$$..@@@@@@@@@@@@@@@@$$$$@@++",
"++@@$$..$$$$$$$$$$$$$$$$$$$$@@++",
"++@@$$..$$$$$$$$$$$$$$$$$$$$@@++",
"++@@$$$$$$$$$$$$$$$$$$$$$$$$@@++",
"++@@$$$$$$$$$$$$$$$$$$$$$$$$@@++",
"++@@$$$$$$$$@@@@@@@@$$$$$$$$@@++",
"++@@$$$$$$$$@@@@@@@@$$$$$$$$@@++",
"++@@$$$$$$$$@@@@@@@@$$$$$$$$@@++",
"++@@$$$$$$$$@@@@@@@@$$$$$$$$@@++",
"++@@$$$$$$$$$$$$$$$$$$$$$$$$@@++",
"++@@$$$$$$$$$$$$$$$$$$$$$$$$@@++",
"++@@@@@@@@@@@@@@@@@@@@@@@@@@@@++",
"++@@@@@@@@@@@@@@@@@@@@@@@@@@@@++",
"++++++++++++++++++++++++++++++++",
"++++++++++++++++++++++++++++++++",
" ",
" "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 B

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxFrame" name="main_frame">
<title>XML Resources Demo</title>
<centered>1</centered>
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,280</size>
<style>wxTE_MULTILINE</style>
<value>Welcome to the wxWidgets XmlResource (XRC) sample! Using wxWidgets XML resources makes your GUI C++ programming much faster and easier.\n\nView the examples under the "Basic" menu to learn how to get up and running with XRC quickly, and later have a look at the examples under the "Advanced" menu for advanced techniques.\n\nThe XML file that described this frame is the sample's frame.xrc file, with the menu in menu.xrc, and the toolbar in toolbar.xrc. The frame XRC file structure is exactly the same as the XRC files for the dialogs, except that the top level node is a wxFrame, not a wxDialog. Each of the other dialog in this example is a separate XRC file, each of which can be examined for how they work.</value>
</object>
</object>
</object>
</object>
</resource>

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

View File

@@ -0,0 +1,112 @@
<?xml version="1.0"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxMenuBar" name="main_menu">
<style>wxMB_DOCKABLE</style>
<object class="wxMenu" name="file_tool_or_menuitem">
<label>_File</label>
<style>wxMENU_TEAROFF</style>
<object class="wxMenuItem" name="unload_resource_menuitem">
<label>_Unload resource\tCtrl-U</label>
<help>Unload basic dialog resource</help>
</object>
<object class="wxMenuItem" name="reload_resource_menuitem">
<label>_Reload resource\tCtrl-R</label>
<help>Reload basic dialog resource</help>
</object>
<!-- we use wxID_EXIT name here to get the default menu item stock icon -->
<object class="wxMenuItem" name="wxID_EXIT">
<label>E_xit\tAlt-X</label>
<help>Exit this application</help>
</object>
</object>
<object class="wxMenu" name="basic_demos_menu">
<label>_Basic</label>
<help>Basic techniques with XRC</help>
<object class="wxMenuItem" name="non_derived_dialog_tool_or_menuitem">
<label>_Non-Derived Dialog Example</label>
<bitmap>basicdlg.xpm</bitmap>
<help>The basic instance of wxDialog loaded via XRC</help>
</object>
<object class="wxMenuItem" name="derived_tool_or_menuitem">
<label>_Derived Dialog Example</label>
<bitmap>derivdlg.xpm</bitmap>
<help>The most important example: load an XRC for a derived dialog</help>
</object>
<object class="wxMenuItem" name="controls_tool_or_menuitem">
<label>_Controls Example</label>
<bitmap>controls.xpm</bitmap>
<help>A notebook displaying all the wxWidgets controls</help>
</object>
<object class="wxMenuItem" name="uncentered_tool_or_menuitem">
<label>_Uncentered Example</label>
<bitmap>uncenter.xpm</bitmap>
<help>Disable autocentering of a dialog on its parent</help>
</object>
<object class="wxMenuItem" name="multiple_accels">
<label>_Multiple accelerators</label>
<help>You can open the dialog with multiple accelerators</help>
<accel>Ctrl-W</accel>
<extra-accels>
<accel>Ctrl-T</accel>
<accel>Shift-Ctrl-W</accel>
</extra-accels>
</object>
</object>
<object class="wxMenu" name="advanced_demos_menu">
<label>_Advanced</label>
<help>Advanced techniques with XRC</help>
<object class="wxMenuItem" name="aui_demo_tool_or_menuitem">
<label>_AUI</label>
<bitmap>aui.xpm</bitmap>
<help>Advanced User Interface classes and controls</help>
</object>
<object class="wxMenuItem" name="obj_ref_tool_or_menuitem">
<label>_Object References Example</label>
<bitmap>objrefdlg.xpm</bitmap>
<help>Use of object references and event ranges</help>
</object>
<object class="wxMenuItem" name="custom_class_tool_or_menuitem">
<label>_Custom Class Example</label>
<bitmap>custclas.xpm</bitmap>
<help>Embed your own custom classes into an XRC</help>
</object>
<object class="wxMenuItem" name="platform_property_tool_or_menuitem">
<label>_Platform Specific Example</label>
<bitmap>platform.xpm</bitmap>
<help>Customize parts of an interface for a desired platform</help>
</object>
<object class="wxMenuItem" name="art_provider_tool_or_menuitem">
<label>wx_ArtProvider Example</label>
<bitmap>artprov.xpm</bitmap>
<help>Use wxArtProvider to insert desired icons at runtime</help>
</object>
<object class="wxMenuItem" name="variable_expansion_tool_or_menuitem">
<label>_Variable Expansion Example</label>
<bitmap>variable.xpm</bitmap>
<help>Replace variables in the XRC file at runtime</help>
</object>
<object class="wxMenuItem" name="variants">
<label>_Variants</label>
<bitmap>variants.xpm</bitmap>
<help>Show different controls variants</help>
</object>
<object class="wxMenuItem" name="recursive_load">
<label>_Recursive Load</label>
<help>Show how an individual control can be loaded</help>
</object>
</object>
<object class="wxMenu" name="help_menu">
<label>_Help</label>
<!-- we use wxID_ABOUT name here to get the default menu item stock icon -->
<object class="wxMenuItem" name="wxID_ABOUT">
<label>_About</label>
<help>About this application</help>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,410 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="objref_dialog">
<object class="wxFlexGridSizer">
<object class="sizeritem">
<object class="wxNotebook" name="objref_notebook">
<object class="notebookpage">
<object class="wxPanel" name="page1">
<object class="wxFlexGridSizer">
<object class="sizeritem">
<object class="wxTextCtrl" name="description_text">
<value>This dialog demonstrates the use of object references and ID arrays.\n\nAs you turn the pages of the notebook, you will notice that each has an identical section at the bottom. Instead of writing that section's xml several times, this is done just once, as a wxPanel named 'bottom__panel'. The panel is then added to each page's sizer by the single line: &lt;object__ref ref=&quot;bottom__panel&quot;/&gt;</value>
<style>wxTE_MULTILINE|wxTE_READONLY</style>
</object>
<flag>wxALL|wxEXPAND</flag>
<border>5</border>
</object>
<object class="sizeritem">
<object_ref ref="bottom_panel"/>
<flag>wxEXPAND</flag>
</object>
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>10</hgap>
<growablecols>0</growablecols>
<growablerows>1</growablerows>
</object>
</object>
<label>Page 1</label>
</object>
<object class="notebookpage">
<object_ref ref="page1"/>
<label>Page 1 copy</label>
</object>
<object class="notebookpage">
<object class="wxPanel" name="page2">
<object class="wxFlexGridSizer">
<object class="sizeritem">
<object class="wxTextCtrl" name="description_text">
<value>ID ranges are a way to simplify the management of several similar controls, especially their event-handling.\nAn ID range is declared by putting something like this into the XRC file:\n &lt;ids-range name=&quot;check&quot; size=&quot;3&quot; start=&quot;10000&quot; /&gt;\n'size' and 'start' being optional.\n\nIf you then give an item the name 'check[2]', it will be allocated that ID in the range.\n\nBy default the IDs in a range are negative, being assigned by wxWindow::NewControlId. If you wish, you can specify the start of the range; if so, the IDs *must* be positive (and it's your responsibility to avoid clashes, so start above wxID__HIGHEST).</value>
<style>wxTE_MULTILINE|wxTE_READONLY</style>
</object>
<flag>wxALL|wxEXPAND</flag>
<border>5</border>
</object>
<object class="sizeritem">
<object class="wxBoxSizer">
<object class="spacer">
<option>1</option>
<flag>wxLEFT</flag>
<border>100</border>
</object>
<object class="sizeritem">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxStaticText">
<label>Uncheck to disable a row</label>
</object>
</object>
<object class="sizeritem">
<object_ref ref="checkboxes"/>
<flag>wxALIGN_CENTRE</flag>
</object>
<orient>wxVERTICAL</orient>
</object>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<orient>wxHORIZONTAL</orient>
<object class="spacer">
<size>50,-1</size>
</object>
<object class="sizeritem">
<object class="wxStaticBoxSizer">
<object class="sizeritem">
<object class="wxGridSizer">
<object class="sizeritem">
<object class="wxStaticBitmap" name="first_row[0]">
<bitmap>update.gif</bitmap>
<tooltip>See the tooltip!</tooltip>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="first_row[1]">
<bitmap>basicdlg.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="first_row[2]">
<bitmap>controls.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="second_row[0]">
<bitmap>custclas.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="second_row[1]">
<bitmap>derivdlg.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="second_row[2]">
<bitmap>platform.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="third_row[0]">
<bitmap>objrefdlg.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="third_row[1]">
<bitmap>uncenter.xpm</bitmap>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticBitmap" name="third_row[2]">
<bitmap>variable.xpm</bitmap>
</object>
</object>
<rows>3</rows>
<vgap>7</vgap>
<hgap>7</hgap>
</object>
<flag>wxALL</flag>
<border>3</border>
</object>
<label>Icons</label>
<orient>wxVERTICAL</orient>
</object>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<object class="spacer">
<option>1</option>
<flag>wxLEFT</flag>
<border>100</border>
</object>
</object>
<flag>wxTOP|wxBOTTOM|wxEXPAND</flag>
<border>15</border>
</object>
<object class="sizeritem">
<object_ref ref="bottom_panel"/>
<flag>wxEXPAND</flag>
</object>
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>10</hgap>
<growablecols>0</growablecols>
<growablerows>2</growablerows>
</object>
</object>
<label>Icons</label>
</object>
<object class="notebookpage">
<object class="wxPanel" name="page3">
<object class="wxFlexGridSizer">
<object class="sizeritem">
<object class="wxTextCtrl" name="description_text">
<value>This not very useful calculator demonstrates some features of ID ranges. One range is defined for the number keys, and another for the operators.\n\nIf you look at the .xrc file, you'll see that I wrote:\n &lt;ids-range name=&quot;digits&quot; size=&quot;8&quot;/&gt;\ncreating that range with a size of 8 (I must have forgotten to count my thumbs). The code will still work, though: the actual number of range items is counted when the file is loaded, and the range extended if necessary to accommodate them. However if the size is too big, it isn't truncated.\n\nAn ID range always has the special items defined: &lt;rangename&gt;[start] and &lt;rangename&gt;[end]. So, for the range 'digits', digits[start] == digits[0], and digits[end] == digits[9]. [end] will always refer to the end of the range, even if there's no object with that ID.\n\nThe digits of the calculator are named 'digits[0]' to 'digits[9]'. Adjacent range items are guaranteed to be assigned consecutive IDs, so code such as this will work as expected:\n for (int n=XRCID(&quot;digits[start]&quot;); n &lt; XRCID(&quot;digits[end]&quot;); ++n) { DoFoo(n); }\nor\n int index = event.GetId() - XRCID(&quot;digits[0]&quot;);</value>
<style>wxTE_MULTILINE|wxTE_READONLY</style>
</object>
<flag>wxALL|wxEXPAND</flag>
<border>5</border>
</object>
<object class="sizeritem">
<object class="wxStaticBoxSizer">
<object class="sizeritem">
<object class="wxGridBagSizer">
<object class="sizeritem">
<object class="wxButton" name="digits[7]">
<label>7</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>0,0</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[8]">
<label>8</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>0,1</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[9]">
<label>9</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>0,2</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="operators[3]">
<label>/</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>0,3</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[4]">
<label>4</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>1,0</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[5]">
<label>5</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>1,1</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[6]">
<label>6</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>1,2</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="operators[2]">
<label>X</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>1,3</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[1]">
<label>1</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>2,0</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[2]">
<label>2</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>2,1</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[3]">
<label>3</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>2,2</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="operators[1]">
<label>-</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>2,3</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="digits[0]">
<label>0</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>3,0</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="operators[4]">
<label>=</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>3,1</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="operators[end]">
<label>Cl</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>3,2</cellpos>
</object>
<object class="sizeritem">
<object class="wxButton" name="operators[0]">
<label>+</label>
<style>wxBU_EXACTFIT</style>
</object>
<flag>wxEXPAND</flag>
<cellpos>3,3</cellpos>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="result"/>
<flag>wxEXPAND</flag>
<cellpos>4,0</cellpos>
<cellspan>1,4</cellspan>
</object>
<vgap>5</vgap>
<hgap>5</hgap>
</object>
<flag>wxALL</flag>
<border>5</border>
</object>
<label>Calculator</label>
<orient>wxVERTICAL</orient>
</object>
<flag>wxTOP|wxALIGN_CENTRE_HORIZONTAL</flag>
<border>10</border>
</object>
<object class="sizeritem">
<object_ref ref="bottom_panel"/>
<flag>wxEXPAND</flag>
</object>
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>10</hgap>
<growablecols>0</growablecols>
<growablerows>2</growablerows>
</object>
</object>
<label>Calc</label>
</object>
</object>
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
</object>
<object class="sizeritem">
<object class="wxButton" name="wxID_OK">
<label>OK</label>
<default>1</default>
</object>
<flag>wxTOP|wxBOTTOM|wxALIGN_CENTRE</flag>
<border>20</border>
</object>
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
</object>
<title>Object References and ID Ranges Example</title>
<centered>1</centered>
<style>wxCAPTION|wxSYSTEM_MENU|wxRESIZE_BORDER</style>
<exstyle>wxDIALOG_EX_CONTEXTHELP</exstyle>
</object>
<object class="wxPanel" name="bottom_panel">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<object class="wxStaticLine">
<style>wxLI_HORIZONTAL</style>
</object>
<flag>wxTOP|wxEXPAND</flag>
<border>20</border>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>Log window:</label>
</object>
<flag>wxTOP</flag>
<border>5</border>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="log_text">
<size>-1,100</size>
<style>wxTE_MULTILINE</style>
</object>
<option>1</option>
<flag>wxEXPAND</flag>
</object>
</object>
</object>
<object class="wxPanel" name="checkboxes">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<object class="wxCheckBox" name="check[0]">
<checked>1</checked>
</object>
</object>
<object class="sizeritem">
<object class="wxCheckBox" name="check[1]">
<checked>1</checked>
</object>
</object>
<object class="sizeritem">
<object class="wxCheckBox" name="check[2]">
<checked>1</checked>
</object>
</object>
</object>
</object>
<ids-range name="check" size="3" start="10000"/>
<ids-range name="first_row"/>
<ids-range name="second_row"/>
<ids-range name="third_row"/>
<ids-range name="digits" size="8"/>
<ids-range name="operators"/>
</resource>

View File

@@ -0,0 +1,26 @@
/* XPM */
static const char *const objrefdlg_xpm[] = {
"16 16 7 1",
" c None",
". c #EBF70E",
"+ c #000000",
"@ c #808080",
"# c #0000FF",
"$ c #FFFFFF",
"% c #F8A836",
" . ",
"+++.++++++++++++",
"+.@.@.@@@@@@.@@+",
"+@...#######.#@+",
"...@....@@.@.@.+",
"+@...$$$$$$...@+",
"+.$.@.@@@%%%$%..",
"+@$.@@@@@@@%%%@+",
"+@$.$$$$$$%$%$%+",
"+@$$$$$$$$$$%$@+",
"+@$$$$@@@@$$$$@+",
"+@$$$$@@@@$$$$@+",
"+@$$$$$$$$$$$$@+",
"+@@@@@@@@@@@@@@+",
"++++++++++++++++",
" "};

View File

@@ -0,0 +1,28 @@
/* XPM */
static const char *const platform_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 6 1",
". c Black",
"o c #FFFFFF",
"X c #000080",
"O c #FFFF00",
" c None",
"+ c #FF0000",
/* pixels */
" ",
" ",
" ",
" ....... ",
" .XXXXX. ",
" .oXXXX. ",
" .oXXX.......",
".....oXXX.OOOOO.",
".+++.XXXX.oOOOO.",
".o++......oOOOO.",
".o++++. .oOOOO.",
".o++++. .OOOOO.",
".+++++. .......",
"....... ",
" ",
" "
};

View File

@@ -0,0 +1,144 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="platform_property_dialog">
<title>Platform Property Example</title>
<centered>1</centered>
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,150</size>
<style>wxTE_MULTILINE</style>
<value>You can specify certain nodes of an XRC file to only be used for a certain platform.\n\nTo do this, there is a "platform" property that can be placed in any node [ie inside an opening tag]. The value of the tag can be any combination of the following: mac, win, unix, or os2. Use a | symbol between multiple platforms, for example &lt;label platform="win|mac"&gt;\n\nAt runtime, if there is a platform property in the tag, if it matches the current operating system, that node will be included, otherwise it won't.\n\nThe notebook example below shows how you can specify a high level node to only appear on a certain platform: the example here being a page of preferences that only make sense on a certain platform.\n\nThe second example shows how to replace a single attribute of a control: here the label of a download link. It is also very useful for specifying menu item accelerators keystrokes on the target platform.</value>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxNotebook" name="platform_notebook">
<size>200,160</size>
<object class="notebookpage">
<label>Shared options</label>
<object class="wxPanel" name="shared_tab">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxCheckBox" name="shared_checkbox">
<label>This preference is for all operating systems</label>
</object>
</object>
</object>
</object>
</object>
<object platform="mac" class="notebookpage">
<label>Macintosh options</label>
<object class="wxPanel" name="mac_specific">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxCheckBox" name="mac_checkbox">
<label>Save output in iMovie compatible format</label>
</object>
</object>
</object>
</object>
</object>
<object platform="win" class="notebookpage">
<label>Windows options</label>
<object class="wxPanel" name="win_specific">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxCheckBox" name="win_checkbox">
<label>Show application in icon tray instead of taskbar</label>
</object>
</object>
</object>
</object>
</object>
<object platform="unix" class="notebookpage">
<label>Linux options</label>
<object class="wxPanel" name="unix_specific">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxCheckBox" name="unix_checkbox">
<label>Check my home directory for previous files</label>
</object>
</object>
</object>
</object>
</object>
<object platform="os2" class="notebookpage">
<label>OS2 options</label>
<object class="wxPanel" name="os2_specific">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxCheckBox" name="os2_checkbox">
<label>Use WarpIn installer</label>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
<object platform="mac" class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxStaticText" name="download_mac_statictext">
<label>Get latest update at www.mycompany.com/download/mac</label>
</object>
</object>
<object platform="win" class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxStaticText" name="download_win_statictext">
<label>Get latest update at www.mycompany.com/download/win</label>
</object>
</object>
<object platform="unix" class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxStaticText" name="download_unix_statictext">
<label>Get latest update at www.mycompany.com/download/unix</label>
</object>
</object>
<object platform="os2" class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxStaticText" name="download_os2_statictext">
<label>Get latest update at www.mycompany.com/download/os2</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_OK">
<label>OK</label>
</object>
</object>
</object>
</object>
</resource>

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 B

View File

@@ -0,0 +1,153 @@
<?xml version="1.0"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxMenuBar" name="mainmenu">
<style>wxMB_DOCKABLE</style>
<object class="wxMenu" name="menu_file">
<label>_File</label>
<style>wxMENU_TEAROFF</style>
<object class="wxMenuItem" name="menu_about">
<label>_About</label>
<bitmap>filesave.gif</bitmap>
</object>
<object class="separator"/>
<object class="wxMenuItem" name="menu_dlg1">
<label>Dialog 1</label>
</object>
<object class="wxMenuItem" name="menu_dlg2">
<label>Dialog 2</label>
</object>
<object class="separator"/>
<object class="wxMenuItem" name="menu_quit">
<label>E_xit\tAlt-X</label>
</object>
</object>
</object>
<object class="wxToolBar" name="toolbar">
<style>wxTB_FLAT|wxTB_DOCKABLE</style>
<margins>2,2</margins>
<object class="tool" name="menu_open">
<bitmap>fileopen.gif</bitmap>
<tooltip>Open catalog</tooltip>
</object>
<object class="tool" name="menu_save">
<bitmap>filesave.gif</bitmap>
<tooltip>Save catalog</tooltip>
</object>
<object class="tool" name="menu_update">
<bitmap>update.gif</bitmap>
<tooltip>Update catalog - synchronize it with sources</tooltip>
</object>
<object class="separator"/>
<object class="tool" name="menu_quotes">
<bitmap>quotes.gif</bitmap>
<toggle>1</toggle>
<tooltip>Display quotes around the string?</tooltip>
</object>
<object class="separator"/>
<object class="tool" name="menu_fuzzy">
<bitmap>fuzzy.gif</bitmap>
<tooltip>Toggled if selected string is fuzzy translation</tooltip>
<toggle>1</toggle>
</object>
</object>
<object class="wxDialog" name="dlg1">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxBitmapButton">
<bitmap>fuzzy.gif</bitmap>
<focus>fileopen.gif</focus>
</object>
</object>
<object class="sizeritem">
<object class="wxPanel">
<object class="wxStaticText">
<label>fdgdfgdfgdfg</label>
</object>
<style>wxSUNKEN_BORDER</style>
</object>
<flag>wxALIGN_CENTER</flag>
</object>
<object class="sizeritem">
<object class="wxButton">
<label>Buttonek</label>
</object>
<border>10d</border>
<flag>wxALL</flag>
</object>
<object class="sizeritem">
<object class="wxHtmlWindow">
<htmlcode>&lt;h1&gt;Hi,&lt;/h1&gt;man</htmlcode>
<size>100,45d</size>
</object>
</object>
<object class="sizeritem">
<object class="wxNotebook">
<object class="notebookpage">
<object class="wxPanel">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxHtmlWindow">
<htmlcode>Hello, we are inside a &lt;u&gt;NOTEBOOK&lt;/u&gt;...</htmlcode>
<size>50,50d</size>
</object>
<option>1</option>
</object>
</object>
</object>
<label>Page</label>
</object>
<object class="notebookpage">
<object class="wxPanel">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxHtmlWindow">
<htmlcode>Hello, we are inside a &lt;u&gt;NOTEBOOK&lt;/u&gt;...</htmlcode>
<size>50,50d</size>
</object>
</object>
</object>
</object>
<label>Page 2</label>
</object>
</object>
<flag>wxEXPAND</flag>
</object>
<orient>wxVERTICAL</orient>
</object>
</object>
<object class="wxDialog" name="dlg2">
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem" name="dfgdfg">
<object class="wxTextCtrl">
<size>200,200d</size>
<style>wxTE_MULTILINE|wxSUNKEN_BORDER</style>
<value>Hello, this is an ordinary multiline\n textctrl....</value>
</object>
<option>1</option>
<flag>wxEXPAND|wxALL</flag>
<border>10</border>
</object>
<object class="sizeritem">
<object class="wxBoxSizer">
<object class="sizeritem">
<object class="wxButton" name="wxID_OK">
<label>Ok</label>
<default>1</default>
</object>
</object>
<object class="sizeritem">
<object class="wxButton" name="wxID_CANCEL">
<label>Cancel</label>
</object>
<border>10</border>
<flag>wxLEFT</flag>
</object>
</object>
<flag>wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_RIGHT</flag>
<border>10</border>
</object>
</object>
<title>Second testing dialog</title>
</object>
</resource>

View File

@@ -0,0 +1,164 @@
/* XPM */
static const char *const stop_xpm[] = {
"32 32 129 2",
" c None",
". c #C9CBC8",
"+ c #C3C4C1",
"@ c #C4C6C3",
"# c #C1C3C0",
"$ c #C3C5C2",
"% c #C3C3C0",
"& c #C4C4C1",
"* c #C2C4C1",
"= c #C6C6C3",
"- c #C0C2BF",
"; c #C7C9C6",
"> c #636662",
", c #201F1B",
"' c #242621",
") c #171B16",
"! c #1F221E",
"~ c #1E1B17",
"{ c #222621",
"] c #221F1B",
"^ c #1B1F1A",
"/ c #292622",
"( c #141713",
"_ c #5D605C",
": c #050904",
"< c #60635F",
"[ c #0F0904",
"} c #B50701",
"| c #E40600",
"1 c #850702",
"2 c #C8CAC7",
"3 c #616460",
"4 c #060A05",
"5 c #0E0904",
"6 c #A30701",
"7 c #FF0600",
"8 c #BB0701",
"9 c #0C0904",
"0 c #BC0701",
"a c #8E0702",
"b c #646763",
"c c #676A66",
"d c #AB0701",
"e c #FC0600",
"f c #9B0702",
"g c #5F625E",
"h c #0B0904",
"i c #B30701",
"j c #686B67",
"k c #5B5E5A",
"l c #090904",
"m c #9D0702",
"n c #FA0A04",
"o c #6C6F6B",
"p c #BABCB9",
"q c #AD0701",
"r c #F91B15",
"s c #E35651",
"t c #ED0600",
"u c #FE0802",
"v c #E95753",
"w c #EE211B",
"x c #CC6A66",
"y c #DA3630",
"z c #950702",
"A c #323631",
"B c #EC0600",
"C c #FE0903",
"D c #CAC8C5",
"E c #F23732",
"F c #EA524E",
"G c #CFB4B1",
"H c #FB150F",
"I c #E11D18",
"J c #EB4D48",
"K c #E85A55",
"L c #F62621",
"M c #F42D27",
"N c #E60903",
"O c #F2241E",
"P c #FA140E",
"Q c #EE433E",
"R c #EE1C16",
"S c #F50600",
"T c #FD0D07",
"U c #E6625D",
"V c #C48581",
"W c #F20B05",
"X c #CD6762",
"Y c #F03C36",
"Z c #FD0F09",
"` c #EF302A",
" . c #F62822",
".. c #E56661",
"+. c #FC100A",
"@. c #FA1A14",
"#. c #F91C16",
"$. c #F62823",
"%. c #F91D17",
"&. c #E70600",
"*. c #F03E39",
"=. c #FD0E08",
"-. c #DB534E",
";. c #BEC0BD",
">. c #10140F",
",. c #FD0C06",
"'. c #F90802",
"). c #D26A66",
"!. c #FB1510",
"~. c #FF0701",
"{. c #FE0600",
"]. c #110904",
"^. c #C50701",
"/. c #8A0702",
"(. c #1A0904",
"_. c #BF0701",
":. c #B60701",
"<. c #A40701",
"[. c #BA0701",
"}. c #080C07",
"|. c #1B0904",
"1. c #C70701",
"2. c #FD0600",
"3. c #920702",
"4. c #70736F",
"5. c #380803",
"6. c #340803",
"7. c #5C5F5B",
"8. c #BCBEBB",
". . . . . . . . . . + @ # $ $ % @ & * = - * . . . . . . . . . . ",
". . . . . . . . ; > , ' ) ! ! ~ { ] ^ / ( ^ > ; . . . . . . . . ",
". . . . . . . . _ : : : : : : : : : : : : : : _ . . . . . . . . ",
". . . . . . . < : [ } | | | | | | | | | | 1 [ : < . . . . . . . ",
". . . . . 2 3 4 5 6 7 7 7 7 7 7 7 7 7 7 7 7 8 9 4 3 2 . . . . . ",
". . . . 2 > : : 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 a : : > 2 . . . . ",
". . . . b : : 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 a [ : b . . . . ",
". . . c : 5 d e 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f 5 : c . . . ",
". - g 4 h f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 i h 4 j . . ",
"$ k : l m 7 7 7 7 7 7 7 7 7 7 7 7 7 n 7 7 7 7 7 7 7 7 7 l : o . ",
"p : : q 7 r . . s t . . . . . . u v . . w 7 7 . . . x y z : A . ",
"p : : B C . . . D E . . . . . . F . . . . 7 7 . . . . G B : A . ",
"p : : B H . . I . . J K . . K L . . . . . . 7 . . K . . B : A . ",
"p : : B H . . 7 . . 7 7 . . 7 M . . 7 N . . 7 . . 7 O . B : A . ",
"p : : B P . . . 7 7 7 7 . . 7 Q . . 7 7 . . 7 . . 7 R . B : A . ",
"p : : B S . . . . T 7 7 . . 7 Q . . 7 7 . . 7 . . U V . B : A . ",
"p : : B 7 W X . . . 7 7 . . 7 Q . . 7 7 . . 7 . . . . . B : A . ",
"p : : B 7 7 7 Y . . Z 7 . . 7 Q . . 7 7 . . 7 . . . . ` B : A . ",
"p : : B .. . 7 ... +.7 . . 7 @.. . 7 #.. . 7 . . 7 7 7 B : A . ",
"p : : B $.. . %.. . 7 7 . . 7 &.* . . . . *.7 . . 7 7 7 B : A . ",
"p : : B =.. . . . . 7 7 . . 7 7 -.. . . . 7 7 . . 7 7 7 B : A . ",
";.>.: q 7 r . . . ,.7 7 . . 7 7 '.).. . !.7 7 . . 7 7 7 z : A . ",
". o : l } 7 7 n 7 7 7 7 7 7 7 7 7 7 C ~.7 7 7 7 7 7 {.m l : o . ",
". . j 4 ].^.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 /.: 4 j . . ",
". . . c : (._.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 e d 5 : c . . . ",
". . . . b : [ :.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f : : b . . . . ",
". . . . 2 > : 9 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 <.9 : > 2 . . . . ",
". . . . . 2 3 4 5 8 7 7 7 7 7 7 7 7 7 7 7 {.[.5 }.3 2 . . . . . ",
". . . . . . . < : |.1.7 7 7 7 7 7 7 7 7 2.3.: : 4.. . . . . . . ",
". . . . . . . . _ : ].5.5.5.5.5.5.5.5.5.6.: : _ . . . . . . . . ",
". . . . . . . . ; 7.: : : : : : : : : : : : 7.; . . . . . . . . ",
". . . . . . . . . ; 8.8.8.8.8.8.8.8.8.8.8.8.; . . . . . . . . . "};

View File

@@ -0,0 +1,196 @@
/* XPM */
static const char *const stop_xpm[] = {
"64 64 129 2",
" c None",
". c #C9CBC8",
"+ c #C3C4C1",
"@ c #C4C6C3",
"# c #C1C3C0",
"$ c #C3C5C2",
"% c #C3C3C0",
"& c #C4C4C1",
"* c #C2C4C1",
"= c #C6C6C3",
"- c #C0C2BF",
"; c #C7C9C6",
"> c #636662",
", c #201F1B",
"' c #242621",
") c #171B16",
"! c #1F221E",
"~ c #1E1B17",
"{ c #222621",
"] c #221F1B",
"^ c #1B1F1A",
"/ c #292622",
"( c #141713",
"_ c #5D605C",
": c #050904",
"< c #60635F",
"[ c #0F0904",
"} c #B50701",
"| c #E40600",
"1 c #850702",
"2 c #C8CAC7",
"3 c #616460",
"4 c #060A05",
"5 c #0E0904",
"6 c #A30701",
"7 c #FF0600",
"8 c #BB0701",
"9 c #0C0904",
"0 c #BC0701",
"a c #8E0702",
"b c #646763",
"c c #676A66",
"d c #AB0701",
"e c #FC0600",
"f c #9B0702",
"g c #5F625E",
"h c #0B0904",
"i c #B30701",
"j c #686B67",
"k c #5B5E5A",
"l c #090904",
"m c #9D0702",
"n c #FA0A04",
"o c #6C6F6B",
"p c #BABCB9",
"q c #AD0701",
"r c #F91B15",
"s c #E35651",
"t c #ED0600",
"u c #FE0802",
"v c #E95753",
"w c #EE211B",
"x c #CC6A66",
"y c #DA3630",
"z c #950702",
"A c #323631",
"B c #EC0600",
"C c #FE0903",
"D c #CAC8C5",
"E c #F23732",
"F c #EA524E",
"G c #CFB4B1",
"H c #FB150F",
"I c #E11D18",
"J c #EB4D48",
"K c #E85A55",
"L c #F62621",
"M c #F42D27",
"N c #E60903",
"O c #F2241E",
"P c #FA140E",
"Q c #EE433E",
"R c #EE1C16",
"S c #F50600",
"T c #FD0D07",
"U c #E6625D",
"V c #C48581",
"W c #F20B05",
"X c #CD6762",
"Y c #F03C36",
"Z c #FD0F09",
"` c #EF302A",
" . c #F62822",
".. c #E56661",
"+. c #FC100A",
"@. c #FA1A14",
"#. c #F91C16",
"$. c #F62823",
"%. c #F91D17",
"&. c #E70600",
"*. c #F03E39",
"=. c #FD0E08",
"-. c #DB534E",
";. c #BEC0BD",
">. c #10140F",
",. c #FD0C06",
"'. c #F90802",
"). c #D26A66",
"!. c #FB1510",
"~. c #FF0701",
"{. c #FE0600",
"]. c #110904",
"^. c #C50701",
"/. c #8A0702",
"(. c #1A0904",
"_. c #BF0701",
":. c #B60701",
"<. c #A40701",
"[. c #BA0701",
"}. c #080C07",
"|. c #1B0904",
"1. c #C70701",
"2. c #FD0600",
"3. c #920702",
"4. c #70736F",
"5. c #380803",
"6. c #340803",
"7. c #5C5F5B",
"8. c #BCBEBB",
". . . . . . . . . . . . . . . . . . . . + + @ @ # # $ $ $ $ % % @ @ & & * * = = - - * * . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . . . + + @ @ # # $ $ $ $ % % @ @ & & * * = = - - * * . . . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . ; ; > > , , ' ' ) ) ! ! ! ! ~ ~ { { ] ] ^ ^ / / ( ( ^ ^ > > ; ; . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . ; ; > > , , ' ' ) ) ! ! ! ! ~ ~ { { ] ] ^ ^ / / ( ( ^ ^ > > ; ; . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . _ _ : : : : : : : : : : : : : : : : : : : : : : : : : : : : _ _ . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . _ _ : : : : : : : : : : : : : : : : : : : : : : : : : : : : _ _ . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . < < : : [ [ } } | | | | | | | | | | | | | | | | | | | | 1 1 [ [ : : < < . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . < < : : [ [ } } | | | | | | | | | | | | | | | | | | | | 1 1 [ [ : : < < . . . . . . . . . . . . . . ",
". . . . . . . . . . 2 2 3 3 4 4 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 9 4 4 3 3 2 2 . . . . . . . . . . ",
". . . . . . . . . . 2 2 3 3 4 4 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 9 4 4 3 3 2 2 . . . . . . . . . . ",
". . . . . . . . 2 2 > > : : : : 0 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 a a : : : : > > 2 2 . . . . . . . . ",
". . . . . . . . 2 2 > > : : : : 0 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 a a : : : : > > 2 2 . . . . . . . . ",
". . . . . . . . b b : : : : 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 a a [ [ : : b b . . . . . . . . ",
". . . . . . . . b b : : : : 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 a a [ [ : : b b . . . . . . . . ",
". . . . . . c c : : 5 5 d d e e 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f f 5 5 : : c c . . . . . . ",
". . . . . . c c : : 5 5 d d e e 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f f 5 5 : : c c . . . . . . ",
". . - - g g 4 4 h h f f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 i i h h 4 4 j j . . . . ",
". . - - g g 4 4 h h f f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 i i h h 4 4 j j . . . . ",
"$ $ k k : : l l m m 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 n n 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 l l : : o o . . ",
"$ $ k k : : l l m m 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 n n 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 l l : : o o . . ",
"p p : : : : q q 7 7 r r . . . . s s t t . . . . . . . . . . . . u u v v . . . . w w 7 7 7 7 . . . . . . x x y y z z : : A A . . ",
"p p : : : : q q 7 7 r r . . . . s s t t . . . . . . . . . . . . u u v v . . . . w w 7 7 7 7 . . . . . . x x y y z z : : A A . . ",
"p p : : : : B B C C . . . . . . D D E E . . . . . . . . . . . . F F . . . . . . . . 7 7 7 7 . . . . . . . . G G B B : : A A . . ",
"p p : : : : B B C C . . . . . . D D E E . . . . . . . . . . . . F F . . . . . . . . 7 7 7 7 . . . . . . . . G G B B : : A A . . ",
"p p : : : : B B H H . . . . I I . . . . J J K K . . . . K K L L . . . . . . . . . . . . 7 7 . . . . K K . . . . B B : : A A . . ",
"p p : : : : B B H H . . . . I I . . . . J J K K . . . . K K L L . . . . . . . . . . . . 7 7 . . . . K K . . . . B B : : A A . . ",
"p p : : : : B B H H . . . . 7 7 . . . . 7 7 7 7 . . . . 7 7 M M . . . . 7 7 N N . . . . 7 7 . . . . 7 7 O O . . B B : : A A . . ",
"p p : : : : B B H H . . . . 7 7 . . . . 7 7 7 7 . . . . 7 7 M M . . . . 7 7 N N . . . . 7 7 . . . . 7 7 O O . . B B : : A A . . ",
"p p : : : : B B P P . . . . . . 7 7 7 7 7 7 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . 7 7 R R . . B B : : A A . . ",
"p p : : : : B B P P . . . . . . 7 7 7 7 7 7 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . 7 7 R R . . B B : : A A . . ",
"p p : : : : B B S S . . . . . . . . T T 7 7 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . U U V V . . B B : : A A . . ",
"p p : : : : B B S S . . . . . . . . T T 7 7 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . U U V V . . B B : : A A . . ",
"p p : : : : B B 7 7 W W X X . . . . . . 7 7 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . . . . . . . B B : : A A . . ",
"p p : : : : B B 7 7 W W X X . . . . . . 7 7 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . . . . . . . B B : : A A . . ",
"p p : : : : B B 7 7 7 7 7 7 Y Y . . . . Z Z 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . . . . . ` ` B B : : A A . . ",
"p p : : : : B B 7 7 7 7 7 7 Y Y . . . . Z Z 7 7 . . . . 7 7 Q Q . . . . 7 7 7 7 . . . . 7 7 . . . . . . . . ` ` B B : : A A . . ",
"p p : : : : B B . .. . . . 7 7 ..... . +.+.7 7 . . . . 7 7 @.@.. . . . 7 7 #.#.. . . . 7 7 . . . . 7 7 7 7 7 7 B B : : A A . . ",
"p p : : : : B B . .. . . . 7 7 ..... . +.+.7 7 . . . . 7 7 @.@.. . . . 7 7 #.#.. . . . 7 7 . . . . 7 7 7 7 7 7 B B : : A A . . ",
"p p : : : : B B $.$.. . . . %.%.. . . . 7 7 7 7 . . . . 7 7 &.&.* * . . . . . . . . *.*.7 7 . . . . 7 7 7 7 7 7 B B : : A A . . ",
"p p : : : : B B $.$.. . . . %.%.. . . . 7 7 7 7 . . . . 7 7 &.&.* * . . . . . . . . *.*.7 7 . . . . 7 7 7 7 7 7 B B : : A A . . ",
"p p : : : : B B =.=.. . . . . . . . . . 7 7 7 7 . . . . 7 7 7 7 -.-.. . . . . . . . 7 7 7 7 . . . . 7 7 7 7 7 7 B B : : A A . . ",
"p p : : : : B B =.=.. . . . . . . . . . 7 7 7 7 . . . . 7 7 7 7 -.-.. . . . . . . . 7 7 7 7 . . . . 7 7 7 7 7 7 B B : : A A . . ",
";.;.>.>.: : q q 7 7 r r . . . . . . ,.,.7 7 7 7 . . . . 7 7 7 7 '.'.).).. . . . !.!.7 7 7 7 . . . . 7 7 7 7 7 7 z z : : A A . . ",
";.;.>.>.: : q q 7 7 r r . . . . . . ,.,.7 7 7 7 . . . . 7 7 7 7 '.'.).).. . . . !.!.7 7 7 7 . . . . 7 7 7 7 7 7 z z : : A A . . ",
". . o o : : l l } } 7 7 7 7 n n 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 C C ~.~.7 7 7 7 7 7 7 7 7 7 7 7 {.{.m m l l : : o o . . ",
". . o o : : l l } } 7 7 7 7 n n 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 C C ~.~.7 7 7 7 7 7 7 7 7 7 7 7 {.{.m m l l : : o o . . ",
". . . . j j 4 4 ].].^.^.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 /./.: : 4 4 j j . . . . ",
". . . . j j 4 4 ].].^.^.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 /./.: : 4 4 j j . . . . ",
". . . . . . c c : : (.(._._.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 e e d d 5 5 : : c c . . . . . . ",
". . . . . . c c : : (.(._._.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 e e d d 5 5 : : c c . . . . . . ",
". . . . . . . . b b : : [ [ :.:.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f f : : : : b b . . . . . . . . ",
". . . . . . . . b b : : [ [ :.:.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f f : : : : b b . . . . . . . . ",
". . . . . . . . 2 2 > > : : 9 9 0 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 <.<.9 9 : : > > 2 2 . . . . . . . . ",
". . . . . . . . 2 2 > > : : 9 9 0 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 <.<.9 9 : : > > 2 2 . . . . . . . . ",
". . . . . . . . . . 2 2 3 3 4 4 5 5 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 {.{.[.[.5 5 }.}.3 3 2 2 . . . . . . . . . . ",
". . . . . . . . . . 2 2 3 3 4 4 5 5 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 {.{.[.[.5 5 }.}.3 3 2 2 . . . . . . . . . . ",
". . . . . . . . . . . . . . < < : : |.|.1.1.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2.2.3.3.: : : : 4.4.. . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . < < : : |.|.1.1.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 2.2.3.3.: : : : 4.4.. . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . _ _ : : ].].5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.6.6.: : : : _ _ . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . _ _ : : ].].5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.6.6.: : : : _ _ . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . ; ; 7.7.: : : : : : : : : : : : : : : : : : : : : : : : 7.7.; ; . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . ; ; 7.7.: : : : : : : : : : : : : : : : : : : : : : : : 7.7.; ; . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . ; ; 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.; ; . . . . . . . . . . . . . . . . . . ",
". . . . . . . . . . . . . . . . . . ; ; 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.; ; . . . . . . . . . . . . . . . . . . "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,61 @@
<?xml version="1.0"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxToolBar" name="main_toolbar">
<style>wxTB_FLAT|wxTB_DOCKABLE</style>
<margins>2,2</margins>
<object class="tool" name="non_derived_dialog_tool_or_menuitem">
<tooltip>Non-Derived Dialog Example</tooltip>
<bitmap>basicdlg.xpm</bitmap>
<longhelp>The basic instance of wxDialog loaded via XRC</longhelp>
</object>
<object class="tool" name="derived_tool_or_menuitem">
<tooltip>Derived Dialog Example</tooltip>
<bitmap>derivdlg.xpm</bitmap>
<longhelp>The most important example: load an XRC for a derived dialog</longhelp>
</object>
<object class="tool" name="controls_tool_or_menuitem">
<tooltip>Controls Example</tooltip>
<bitmap>controls.xpm</bitmap>
<longhelp>A notebook displaying all the wxWidgets controls</longhelp>
</object>
<object class="tool" name="uncentered_tool_or_menuitem">
<tooltip>Uncentered Example</tooltip>
<bitmap>uncenter.xpm</bitmap>
<longhelp>Disable autocentering of a dialog on its parent</longhelp>
</object>
<object class="separator"/>
<object class="tool" name="aui_demo_tool_or_menuitem">
<bitmap>aui.xpm</bitmap>
<tooltip>wxAUI classes and controls</tooltip>
<longhelp>XRC construction of Advanced User Interface classes and controls</longhelp>
</object>
<object class="tool" name="obj_ref_tool_or_menuitem">
<bitmap>objrefdlg.xpm</bitmap>
<tooltip>Object references and event ranges example</tooltip>
<longhelp>Use of object references and event ranges</longhelp>
</object>
<object class="tool" name="custom_class_tool_or_menuitem">
<tooltip>Custom Class Example</tooltip>
<bitmap>custclas.xpm</bitmap>
<longhelp>Embed your own custom classes into an XRC</longhelp>
</object>
<object class="tool" name="platform_property_tool_or_menuitem">
<tooltip>Platform Specific Example</tooltip>
<bitmap>platform.xpm</bitmap>
<longhelp>Customize parts of an interface for a desired platform</longhelp>
</object>
<object class="tool" name="art_provider_tool_or_menuitem">
<tooltip>wxArtProvider Example</tooltip>
<bitmap>artprov.xpm</bitmap>
<longhelp>Use wxArtProvider to insert desired icons at runtime</longhelp>
</object>
<object class="tool" name="variable_expansion_tool_or_menuitem">
<tooltip>Variable Expansion Example</tooltip>
<bitmap>variable.xpm</bitmap>
<longhelp>Replace variables in the XRC file at runtime</longhelp>
</object>
</object>
</resource>

View File

@@ -0,0 +1,24 @@
/* XPM */
static const char *const uncenter_xpm[] = {
"16 16 5 1",
" c None",
". c #000000",
"+ c #808080",
"@ c #0000FF",
"# c #FFFFFF",
" ",
"................",
".++++++++++++++.",
".+@@@@@@@@@@@@+.",
".++++++++++++++.",
".+############+.",
".+###....#####+.",
".+###..#######+.",
".+###.#.######+.",
".+###.##.#####+.",
".+#######.####+.",
".+########.###+.",
".+############+.",
".++++++++++++++.",
"................",
" "};

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="uncentered_dialog">
<title>Uncentered Example</title>
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,150</size>
<style>wxTE_MULTILINE</style>
<value>All of the dialogs in the XRC demo, except for this dialog, center themselves automatically on their parent window, since that is what is most commonly needed. The centering for the other dialogs was done automatically simply by including a &lt;centered&gt;1&lt;/centered&gt; as a tag directly under the dialog node.\n\nHowever, there may be some times when you don't want autocentering. If you don't want the dialog centered, just don't use the &lt;centered&gt; tag and the dialog will be placed in the default window position (which is at screen coordinate 0,0 in the upper left corner of the screen). This dialog is an example of when centering is turned off.</value>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_OK">
<label>OK</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_CANCEL">
<label>Cancel</label>
</object>
</object>
</object>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,40 @@
/* XPM */
static const char *const uncenter_xpm[] = {
"32 32 5 1",
" c None",
". c #000000",
"+ c #808080",
"@ c #0000FF",
"# c #FFFFFF",
" ",
" ",
"................................",
"................................",
"..++++++++++++++++++++++++++++..",
"..++++++++++++++++++++++++++++..",
"..++@@@@@@@@@@@@@@@@@@@@@@@@++..",
"..++@@@@@@@@@@@@@@@@@@@@@@@@++..",
"..++++++++++++++++++++++++++++..",
"..++++++++++++++++++++++++++++..",
"..++########################++..",
"..++########################++..",
"..++######........##########++..",
"..++######........##########++..",
"..++######....##############++..",
"..++######....##############++..",
"..++######..##..############++..",
"..++######..##..############++..",
"..++######..####..##########++..",
"..++######..####..##########++..",
"..++##############..########++..",
"..++##############..########++..",
"..++################..######++..",
"..++################..######++..",
"..++########################++..",
"..++########################++..",
"..++++++++++++++++++++++++++++..",
"..++++++++++++++++++++++++++++..",
"................................",
"................................",
" ",
" "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

View File

@@ -0,0 +1,21 @@
/* XPM */
static const char *const variable_xpm[] = {
"16 16 2 1",
" c None",
". c #0E2CEF",
" ",
" . ",
" ... .. ",
" .... .. ",
" ...... .. ",
" . ... .. ",
" . ..... ",
" ... ",
" .... ",
" ..... . ",
" .. ... . ",
" .. ..... ",
" .. ... ",
" . ... ",
" ",
" "};

View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="variable_expansion_dialog">
<title>Variable Expansion Example</title>
<centered>1</centered>
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="message_textctrl">
<size>500,150</size>
<style>wxTE_MULTILINE</style>
<value>VARIABLE EXPANSION ISN'T IMPLEMENTED CURRENTLY. You can use variable expansion in your XRC files. The steps to do this are:\n\n(1)Enclose a variable inside a dollarsign and round brackets, like this: dollarsign(version).\n\n(2) Set the XmlResource flags to allow expansion of variables.\n\n(3)Before you use that XML resource, inform the XmlResourceHandler what you want that variable's value to be, via wxResourceHandler::Get()-&gt;SetVariable( "version", "2.4.0")\n\n Now, at runtime, the variable will be automatically replace by its value before the control is constructed.\n\nThe number in the version at the bottom of this dialog is an example of this expansion in action.\n\nThis is very handy for things like replacing the text in a wxStaticText, since it is a much simpler way to make a wxStaticText be a proper size: by creating it at the proper size. This is in contrast to the alternative way of using some static non-variable value in your XRC, having XRC construct it, then your application having code to change the text of it, then your app getting its best size, then setting the statictext's size, then laying out the dialog's sizer again, and other work.</value>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxALIGN_BOTTOM</flag>
<object class="wxFlexGridSizer">
<cols>3</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>2</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM</flag>
<border>5</border>
<object class="wxStaticText" name="build_information_statictext">
<label>This build is:</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTRE|wxALL</flag>
<border>5</border>
<object class="wxStaticText" name="version_statictext">
<label>$(version)</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<object class="wxButton" name="wxID_OK">
<label>OK</label>
</object>
</object>
</object>
</object>
</object>
</object>
</resource>

View File

@@ -0,0 +1,23 @@
/* XPM */
static const char *const variants_xpm[] = {
"16 16 4 1",
" c None",
". c #0E2CEF",
"- c #EF2C0E",
"* c #0EEF2C",
" ",
" **** ",
" **** ",
" **** ",
" **** ",
" ---- **** ",
" ---- **** ",
" ---- **** ",
" ---- **** ",
"... ---- **** ",
"... ---- **** ",
"... ---- **** ",
"... ---- **** ",
"... ---- **** ",
"... ---- **** ",
" "};

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxDialog" name="variants_dialog">
<title>Control Variants Example</title>
<centered>1</centered>
<object class="wxFlexGridSizer">
<cols>4</cols>
<vgap>10</vgap>
<hgap>10</hgap>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxStaticText">
<label>Mini</label>
<variant>mini</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxStaticText">
<label>Small</label>
<variant>small</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxStaticText">
<label>Normal</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxStaticText">
<label>Large</label>
<variant>large</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxButton">
<label>Button</label>
<variant>mini</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxButton">
<label>Button</label>
<variant>small</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxButton">
<label>Button</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxButton">
<label>Button</label>
<variant>large</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxCheckBox">
<label>Check box</label>
<variant>mini</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxCheckBox">
<label>Check box</label>
<variant>small</variant>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxCheckBox">
<label>Check box</label>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxCheckBox">
<label>Check box</label>
<variant>large</variant>
</object>
</object>
</object>
</object>
</resource>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" ?>
<makefile>
<include file="../../build/bakefiles/common_samples.bkl"/>
<exe id="xrcdemo" template="wx_sample" template_append="wx_append">
<sources>
xrcdemo.cpp
myframe.cpp
derivdlg.cpp
custclas.cpp
objrefdlg.cpp
</sources>
<headers>
derivdlg.h
xrcdemo.h
myframe.h
custclas.h
objrefdlg.h
</headers>
<wx-lib>aui</wx-lib>
<wx-lib>ribbon</wx-lib>
<wx-lib>xrc</wx-lib>
<wx-lib>html</wx-lib>
<wx-lib>core</wx-lib>
<wx-lib>xml</wx-lib>
<wx-lib>base</wx-lib>
</exe>
<wx-data id="data">
<dstdir>$(BUILDDIR)/rc</dstdir>
<srcdir>$(SRCDIR)/rc</srcdir>
<files>
aui.xpm aui.xrc
artprov.xpm artprov.xrc basicdlg.xpm basicdlg2.xpm
basicdlg.xrc controls.xpm controls.xrc custclas.xpm custclas2.xpm custclas.xrc
derivdlg.xpm derivdlg2.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 uncenter2.xpm
objref.xrc objrefdlg.xpm
uncenter.xrc update.gif
variable.xpm variable.xrc
variants.xpm variants.xrc
throbber.gif stop.xpm
stop_2x.xpm wxbanner.gif
</files>
</wx-data>
</makefile>

View File

@@ -0,0 +1,125 @@
//-----------------------------------------------------------------------------
// Name: xrcdemo.cpp
// Purpose: XML resources sample: Main application file
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Standard wxWidgets headers
//-----------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
// For all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
//-----------------------------------------------------------------------------
// Header of this .cpp file
//-----------------------------------------------------------------------------
#include "xrcdemo.h"
//-----------------------------------------------------------------------------
// Remaining headers: Needed wx headers, then wx/contrib headers, then app one
//-----------------------------------------------------------------------------
#include "wx/image.h" // wxImage
#include "wx/xrc/xmlres.h" // XRC XML resources
#if wxUSE_RIBBON
#include "wx/xrc/xh_ribbon.h"
#endif // wxUSE_RIBBON
#if wxUSE_AUI
#include "wx/xrc/xh_aui.h"
#include "wx/xrc/xh_auitoolb.h"
#endif // wxUSE_AUI
#include "wx/cshelp.h" // wxSimpleHelpProvider for helptext
#include "myframe.h"
//-----------------------------------------------------------------------------
// wxWidgets macro: Declare the application.
//-----------------------------------------------------------------------------
// Create a new application object: this macro will allow wxWidgets to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. the_app and
// not wxApp).
wxIMPLEMENT_APP(MyApp);
//-----------------------------------------------------------------------------
// Public methods
//-----------------------------------------------------------------------------
// 'Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
if ( !wxApp::OnInit() )
return false;
// If there is any of a certain format of image in the xrcs, then first
// load a handler for that image type. This example uses XPMs & a gif, but
// if you want PNGs, then add a PNG handler, etc. See wxImage::AddHandler()
// documentation for the types of image handlers available.
#if wxUSE_XPM
wxImage::AddHandler(new wxXPMHandler);
#endif
#if wxUSE_GIF
wxImage::AddHandler(new wxGIFHandler);
#endif
// Initialize all the XRC handlers. Always required (unless you feel like
// going through and initializing a handler of each control type you will
// be using (ie initialize the spinctrl handler, initialize the textctrl
// handler). However, if you are only using a few control types, it will
// save some space to only initialize the ones you will be using. See
// wxXRC docs for details.
wxXmlResource::Get()->InitAllHandlers();
// Allow using environment variables in the file paths in the resources,
// while keeping the default wxXRC_USE_LOCALE flag.
wxXmlResource::Get()->SetFlags(wxXRC_USE_LOCALE | wxXRC_USE_ENVVARS);
#if wxUSE_RIBBON
wxXmlResource::Get()->AddHandler(new wxRibbonXmlHandler);
#endif
#if wxUSE_AUI
wxXmlResource::Get()->AddHandler(new wxAuiXmlHandler);
wxXmlResource::Get()->AddHandler(new wxAuiToolBarXmlHandler);
#endif
// Load all of the XRC files that will be used. You can put everything
// into one giant XRC file if you wanted, but then they become more
// difficult to manage, and harder to reuse in later projects.
if ( !wxXmlResource::Get()->LoadAllFiles("rc") )
return false;
#if wxUSE_HELP
// Use the simple help provider to show the context-sensitive help
wxHelpProvider::Set( new wxSimpleHelpProvider );
#endif // wxUSE_HELP
// Make an instance of your derived frame. Passing nullptr (the default value
// of MyFrame's constructor is null) as the frame doesn't have a parent
// since it is the main application window.
MyFrame *frame = new MyFrame();
// Show the frame as it's created initially hidden.
frame->Show(true);
// Return true to tell program to continue (false would terminate).
return true;
}

View File

@@ -0,0 +1,45 @@
//-----------------------------------------------------------------------------
// Name: xmldemo.h
// Purpose: XML resources sample: Main application file
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Begin single inclusion of this .h file condition
//-----------------------------------------------------------------------------
#ifndef _XRCDEMO_H_
#define _XRCDEMO_H_
//-----------------------------------------------------------------------------
// Headers
//-----------------------------------------------------------------------------
#include "wx/app.h" // wxApp
//-----------------------------------------------------------------------------
// Class definition: MyApp
//-----------------------------------------------------------------------------
// Define a new application type, each program should derive a class from wxApp
class MyApp : public wxApp
{
public:
// Override base class virtuals:
// wxApp::OnInit() is called on application startup and is a good place
// for the app initialization (doing it here and not in the ctor
// allows to have an error return: if OnInit() returns false, the
// application terminates)
virtual bool OnInit() override;
};
//-----------------------------------------------------------------------------
// End single inclusion of this .h file condition
//-----------------------------------------------------------------------------
#endif //_XRCDEMO_H_

View File

@@ -0,0 +1,454 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Debug|Win32">
<Configuration>DLL Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Debug|x64">
<Configuration>DLL Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Release|Win32">
<Configuration>DLL Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DLL Release|x64">
<Configuration>DLL Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B558B15A-F097-42E7-9A18-F81D090C3E62}</ProjectGuid>
</PropertyGroup>
<Import Project="..\..\build\msw\wx_config.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\build\msw\wx_setup.props" />
<Import Project="..\..\build\msw\wx_local.props" Condition="Exists('..\..\build\msw\wx_local.props')" />
<Import Project="..\samples.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.24720.0</_ProjectFileVersion>
<OutDir>$(wxIntRootDir)</OutDir>
<IntDir>$(wxIntRootDir)$(ProjectName)\</IntDir>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">
<Midl>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>.\..\..\lib\$(wxOutDirName)\$(wxIncSubDir);.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(wxToolkitLibNamePrefix)aui.lib;$(wxToolkitLibNamePrefix)html.lib;$(wxToolkitLibNamePrefix)ribbon.lib;$(wxToolkitLibNamePrefix)xrc.lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix)_xml.lib;$(wxBaseLibNamePrefix).lib;wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxwebp$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>.\..\..\lib\$(wxOutDirName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Bscmake>
<Manifest>
<AdditionalManifestFiles>./../../include/wx/msw/wx_dpi_aware_pmv2.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
</Manifest>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="custclas.cpp" />
<ClCompile Include="derivdlg.cpp" />
<ClCompile Include="myframe.cpp" />
<ClCompile Include="objrefdlg.cpp" />
<ClCompile Include="xrcdemo.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\sample.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="custclas.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="derivdlg.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="myframe.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="objrefdlg.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="xrcdemo.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\sample.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>