Commit Graph

89 Commits

Author SHA1 Message Date
Vadim Zeitlin
9fc5a47ce6 Don't keep entries for XRC resources that failed to load in wxXmlResource.
Attempting to load a resource that couldn't be loaded resulted in
wxXmlResource::Load() returning false for this and _all_the_subsequent_ calls
to it because each call to Load() reattempted to reload all resources,
including the one(s) that failed to load initially.

Instead, try to load just the resource(s) that we should load right now and
ignore all the other ones. Also, don't add entries for the one(s) that we fail
to load.

This fixes the unit test failures in the XRC test case which was affected by
the test checking that XRC couldn't be loaded from garbage that ran before it.
It also makes the code simpler by ensuring that wxXmlResourceDataRecords
elements always have a valid wxXmlDocument associated with them.

Also clean up the code: use wxScopedPtr instead of manually deleting pointers
and reorganize #if checks to be easier to follow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-20 23:53:34 +00:00
Vadim Zeitlin
0526c8cc07 Add support for id ranges to XRC.
Allow to declare ranges of consecutive IDs in XRC by using the "id[n]" syntax.
Show this functionality in the xrc sample and test it in the new unit test.

Also show and test the "object reference" XRC functionality.

Closes #11431.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 14:00:59 +00:00
Vadim Zeitlin
1f6ea93556 Make wxXmlResource::ReportError() wxXmlNode parameter const.
This function (and the related DoReportError()) doesn't need to modify its
"context" argument so take a const-pointer in it.

See #11431.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 14:00:43 +00:00
Vadim Zeitlin
8ec22772d0 Make wxXmlResourceHandler::IsOfClass() static.
This simple helper function doesn't use any wxXmlResourceHandler data as it's
just a trivial wrapper for wxXmlNode::GetAttribute().

Making it static allows, in particular, to call it from const member functions
of wxXmlResourceHandler-derived classes (making it "const" itself would
achieve this too, of course, but it just doesn't need to be non-static).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 14:23:56 +00:00
Vadim Zeitlin
af0ac990fc Add wxXmlResource::LoadObjectRecursively().
These methods can be used to load objects from anywhere in the XRC resource
tree and not just from the top level.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-14 23:22:00 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
326462ae94 add support for loading wxListCtrl items and wxImageLists from XRC (closes #10647)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-07 17:29:57 +00:00
Václav Slavík
1c60f64458 set icons bundle, not single icon, for frames loaded from XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 21:25:23 +00:00
Václav Slavík
159852aeae fixed wxXRC compilation with --disable-filesystem (bug #10580)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-16 13:18:27 +00:00
Václav Slavík
819559b2ac better XRC errors reporting: report location of the error and use unified formatting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-15 10:29:14 +00:00
Václav Slavík
2bb9a404fb added wxXmlResource::LoadAllFiles()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-13 13:26:46 +00:00
Václav Slavík
04ae32cdab added wxXmlResource::LoadFile() to avoid URL-vs-filename ambiguity in Load()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 00:17:23 +00:00
Vadim Zeitlin
23239d944a add public wxXmlResource::GetResourceNode() which can be used directly instead of deriving from wxXmlResource and using FindResource()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-22 21:52:00 +00:00
Vadim Zeitlin
cc378c2d75 added wxXmlResource::FindXRCIDById() (#10026)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-14 11:44:10 +00:00
Václav Slavík
df36fb0e72 whatever it is, wxXmlResource::GetFirstRoot() isn't implemented - removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-07 09:15:20 +00:00
Vadim Zeitlin
8758875e0b added enabled and hidden attributes to radio box items in XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 18:21:38 +00:00
Vadim Zeitlin
7f5b84c22f compilation fix for --disable-filesystem --enable-xrc build (wxArrayString is needed here and was only included indirectly via wx/filesys.h) (ticket #9537)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-05 13:47:32 +00:00
Václav Slavík
b85e0ae0a1 globally disable VC++'s warning 4251 (non-exported member in dll-exported class and remove broken workaround trying to silence it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-07 17:15:37 +00:00
Vadim Zeitlin
03cf4aa61d apply XRCID() automatically to XRCSIZERITEM() argument (patch 1798697)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-20 16:29:05 +00:00
Michael Wetherell
8a2a5a449e template class WXDLLIMPEXP_FWD_XRC wxVector<wxXmlResourceHandler *>;
instantiates as well as forward declares, which gives us multiple definition
link errors on some systems. So trying WXDLLIMPEXP_FWD_XRC on the declaration
of m_handlers instead.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-18 21:49:27 +00:00
Vadim Zeitlin
8e4b5265cd declare wxVector<wxXmlResourceHandler *> as DLL-exported to avoid VC++ warnings in shared build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-17 00:40:10 +00:00
Vadim Zeitlin
86909f4c89 added XRCSIZERITEM() allowing to directly retrieve the sizer from XRC by name (patch 1782080)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-16 10:50:01 +00:00
Václav Slavík
eb2d0d232c use wxVector<T> instead of wxList in wxXmlResource code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-10 22:26:39 +00:00
Václav Slavík
b5dbe15d0b added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Václav Slavík
c560da981a use char* instead of wxChar* for XRC IDs to save space; GetXRCID() takes wxString argument
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-15 15:12:51 +00:00
Václav Slavík
1757c449c4 removed redundant #include <dynarray.h>
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-13 15:09:41 +00:00
Václav Slavík
e9c7391947 added missing #includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-13 10:52:10 +00:00
Václav Slavík
d7a80cf5cd use wxString for wxXmlResource::Set/GetDomain(), it's simpler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 21:07:36 +00:00
Vadim Zeitlin
c1dc9f8394 removed WXWIN_COMPATIBILITY_2_4 from common and wxMSW files (patch 1675546)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 11:35:04 +00:00
Vadim Zeitlin
9249d38d6e use wxWindow::NewControlId() instead of wxNewId() to avoid clashes with the user-defined ids
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-18 14:15:54 +00:00
Robert Roebling
9e29cd0a28 [ 1581391 ] wxAnimationCtrl XRC handler
(most of)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-21 13:59:25 +00:00
Vadim Zeitlin
d3c7fc996a mark all dtors which are virtual because base class dtor is virtual explicitly virtual themselves
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-05 20:47:48 +00:00
Robin Dunn
d4a724d407 Make it possible to tell wxXmlResource which domain to pull
translatable strings from.

Make the wxLocale::GetString methods virtual so they can be overridden
in derived classes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-21 18:27:15 +00:00
Václav Slavík
8e8a4e8587 reverted the change to not use wxList until dynarray.h is fixed to provide operator* in both STL and non-STL modes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-28 07:14:14 +00:00
Václav Slavík
67868c1e6c don't use untyped wxList in wxXmlResource
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-27 14:03:02 +00:00
Michael Wetherell
836724c3ce Missing header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-19 12:23:40 +00:00
Václav Slavík
984f1d84fd added default value argument to wxXmlResourceHandler::GetColour()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-15 15:32:57 +00:00
Włodzimierz Skiba
e8a793f06c XRC headers cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-04 18:08:09 +00:00
Michael Wetherell
2d672c46c0 Make IsOfClass out-of-line to defend against gcc 3.4.[56] bug:
http://lists.wxwidgets.org/cgi-bin/ezmlm-cgi?5:msp:75436:ofgfinakfempiciaejof


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-24 11:18:28 +00:00
Vadim Zeitlin
9b2a74693e allow to specify the value for unknown ids in GetXRCID() (patch 1448981)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 16:59:59 +00:00
Vadim Zeitlin
87152bb53d wxUSE_DATETIME==0 compilation fix (part of patch 1203970)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-11 16:40:10 +00:00
Vadim Zeitlin
84006e65e8 removed wxABI_VERSION checks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 20:23:30 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Michael Wetherell
0f8218d7ca Add wxABI_VERSION > 20601 wrappers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-17 13:00:11 +00:00
Vadim Zeitlin
60fd818a78 added wxXmlResource::Unload() (replaces patch 1178853)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-13 18:01:43 +00:00
Vadim Zeitlin
cd900c5961 commented and documented wxXRC_NO_RELOADING flag
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-13 16:30:11 +00:00
Julian Smart
3103e8a97e Typo correction patch [ 1208110 ] Lots of typo corrections
Olly Betts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 09:20:43 +00:00
Michael Wetherell
43e8916ff3 Documentation fixes, patch 1179223 by Andreas Mohr
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-08 14:34:30 +00:00
Václav Slavík
0c00c86faf fixed dialog units in toplevel windows (bug #1170234)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-28 09:28:44 +00:00
Václav Slavík
0c9ff74f05 fixed condition for using #pragmas
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-07 21:27:20 +00:00