Commit Graph

97 Commits

Author SHA1 Message Date
Václav Slavík
8778519200 Only return -1,0,1 from wxXmlResource::CompareVersion().
In other words, do as the comment says.  Also fixes an implicit
conversion warning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 16:38:19 +00:00
Vadim Zeitlin
bdb4b8320d Break implicit dependency of "core" on "adv" via wxXmlResourceHandlerImplBase.
wxXmlResourceHandlerImplBase::GetAnimation() returned wxAnimation by value
which created references to wxAnimationCtrlNameStr and wxNullAnimation
symbols, defined in the "adv" library, in "core" when using Sun CC even though
they were not referenced directly.

Fix this by returning wxAnimation by pointer to keep it opaque for "core" code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-27 00:46:58 +00:00
Vadim Zeitlin
df27f1dc9e Include wx/xml/xml.h from the XRC handlers that need it.
Including this header from wx/xrc/xmlres.h itself only when WXMAKINGDLL_XRC is
defined doesn't work when we're building a static library and not a shared/DLL
one and we don't have any symbol defined in this case, so just don't try to be
smart and include this header from the files that need it.

This fixes breakage of r72756.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-25 22:19:20 +00:00
Vadim Zeitlin
19f87dbe25 Try to avoid accidental use of wxXmlNode in XRC handlers.
Now that the handlers can be defined outside of the XRC library, we can't use
wxXmlNode in them because this would create an (unsatisfied) link dependency
on the xml library.

To avoid this happening accidentally, don't include wx/xml/xml.h from the XRC
header, unless building the xrc library itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-24 18:34:19 +00:00
Vadim Zeitlin
a3b9c43bbc Refactor wxXRC to allow defining handlers outside of xrc library.
Split wxXmlResourceHandler into an ABC and the real implementation to allow
referencing the ABC in the core library itself but without pulling in all of
the XRC into it. This also allows defining XRC handlers, which only depend on
this ABC and not the xrc library, in other libraries, such as richtext, as
demonstrated by the now enabled wxRichTextXMLHandler.

Closes #10996.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-23 13:51:32 +00:00
Vadim Zeitlin
6f2df68ec4 No changes, just fix some typos in comments in wxXRC code.
Closes #14714.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:19:24 +00:00
Vadim Zeitlin
45df4bb6c2 Add "inherit" to <font> XRC tag.
This allows to construct a font based on the parent window font instead of
either fully specifying all font parameters or basing it on a standard font.

Closes #14632.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-28 23:48:34 +00:00
Vadim Zeitlin
50c202914e No changes, just factor our wxDirection parsing code in wxXRC.
Move it from wxButtonXmlHandler into a reusable wxXmlResourceHandler::
GetDirection() that can used by the other handlers too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:49 +00:00
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