Commit Graph

166 Commits

Author SHA1 Message Date
Vadim Zeitlin
d7a46c4eb8 Compilation fix for wxUSE_UNICODE=0 build after wxUSE_STL=1 fix.
The result of wxString::mb_str() can't be converted to wxScopedCharBuffer in
non-Unicode build but converting it to wxCharBuffer is always fine (though
slightly less efficient).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-10 11:58:04 +00:00
Vadim Zeitlin
3cf2fe5444 Fix compilation in wxUSE_STL case broken by r69663.
Don't rely on implicit wxString to char* conversion when calling
XRCID_Assign().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-10 00:30:10 +00:00
Vadim Zeitlin
d265ec6b0e Simplify wxIdRange code by using new XRCID_Assign() function.
Only traverse the id hash once in XRCID_Assign() instead of using
RemoveXRCIDEntry() to delete the old entry (which usually doesn't exist so
this traversed the entire hash) followed by XRCID_Lookup() to create a new one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-04 17:40:49 +00:00
Vadim Zeitlin
e4c8592e9c Add _PTR WX_DECLARE_HASH_SET variants to fix warnings about operator->().
Macros from WX_DECLARE_HASH_SET family could declare an operator->() which
could never be called because it returned a pointer to a non-object (e.g. a
pointer or a primitive type).

Fix this in the same way as for WX_DECLARE_ARRAY macros by adding (badly but
consistently) named _PTR variants of the macros to allow defining the versions
without operator->().

This fixes tons of warnings when building wx with Sun CC.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 22:26:10 +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
Václav Slavík
0915bc4d71 Fix wxXmlResourceHandler::GetImageList() to use specified size.
Fixes #13319 (patch).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 10:04:54 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Václav Slavík
9445e542a0 Fix <object_ref> processing to respect overridden attributes.
r60494 accidentally broke this, by adding faster code path for
child-less <object_ref>s. Unfortunately, this made it ignore
<object_ref>s without children, but with attributes overrides.

Fixes #13061.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 19:13:28 +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
adf1edd924 Fix crash in XRC ID range support code.
Really fix removing the record from the linked list. This code was modified by
r66064 but was still wrong because the wrong pointer was updated.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-08 13:50:46 +00:00
Vadim Zeitlin
e7cad4b7a1 Compilation fix for STL build after ID range changes in XRC.
Fix compilation of the new code which relied on implicit conversion of
wxString to "const char *" which is unavailable when wxUSE_STL==1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 22:13:55 +00:00
Vadim Zeitlin
d807030e1e Factor our hash function used for XRC ids hash map.
Define the hash function in a separate function instead of duplicating it in
XRCID_Lookup() and RemoveXRCIDEntry().

The hash function is extremely simplistic and inefficient right now, it should
be replaced with wxStringHash::stringHash().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 19:34:05 +00:00
Vadim Zeitlin
74c99b8552 Fix memory leak of XRC ids introduced by the ID range support patch.
Fix bug in linked list processing in RemoveXRCIDEntry() added in r66059: it
incorrectly overwrote the XRC id table entry with the next element in the list
instead of just updating the pointer used during iteration.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 19:33:55 +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
fe97acf0e3 Don't assume any particular default size for XRC image lists.
Let the image list deduce its size from the first bitmap in it. This is better
than the old behaviour of using the standard icon size as it allows to omit
the size from the image lists provided they contain the bitmaps of the same
size.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-23 18:56:13 +00:00
Vadim Zeitlin
9edb8fa062 Use wxString::ToCDouble() instead of emulating it.
No real changes, just replace the code which was working around the absence of
a wxString::ToCDouble() with the call to the real thing now that we have it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-03 11:19:42 +00:00
Václav Slavík
e03951b772 Fixed possible buffer overflow in wxXmlResource::GetXRCID() (patch #11715).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-11 12:36:16 +00:00
Julian Smart
b37e592bd7 Applied #9789: missing wxBORDER_THEME style in XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 15:36:43 +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
dc2575bad4 Compilation fixes for wxUSE_FONTMAP==0.
Closes #11150.

Closes #11152.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-28 10:44:12 +00:00
Vadim Zeitlin
a58804eae1 Reset static flag on cleanup.
s_stdIDsAdded was not reset and so the standard IDs were not added again if
the library was initialized, shut down and initialized again.

Closes #11075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-05 17:24:57 +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
a7435c3ec4 added own{fg,bg,font} allowing to set non-inheritable fore/background colours and font from XRC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-13 02:48:38 +00:00
Vadim Zeitlin
9c1d2aa29c fix handling of wxBitmap nodes broken by previous changes; remove the special case of passing empty attribute name to GetBitmap/Icon(wxString) and use the overload taking wxXmlNode directly instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-13 21:54:30 +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
44108a078f optimized <object_ref> handling for the common case of simple reference with no overwrites
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-03 07:10:23 +00:00
Václav Slavík
a1eeda0be2 fixed XRC errors location reporting when using <object_ref>
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-03 07:00:24 +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
Francesco Montorsi
a4d291f0ab remove wxSYS_DEFAULT_PALETTE: it's supported only by wxMSW and it never worked there: GetStockObject(DEFAULT_PALETTE) returns a palette and not a font; so the resulting wxFont is wrong.
Expand and correct documentation for various system constants.
Provide wxSYS_COLOUR_FRAMEBK as a synonym for wxSYS_COLOUR_BTNFACE as it is the colour which must be used to make wxFrame background coherent with the background of the controls they (eventually) contain.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-04 15:19:58 +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
Václav Slavík
acd32ffcdb fixed wxXmlResource::Load's detection of filenames to be done as early as possible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 00:13:03 +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
Francesco Montorsi
9690b00654 always remember to test IsOk() after using wxFileInputStream
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 18:26:35 +00:00
Vadim Zeitlin
cffff062b3 no changes, just added a TODO comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-02 18:10:58 +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
Vadim Zeitlin
e5bb501b98 return false if the file passed to Load() doesn't exist or is an archive without XRC files inside
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-03 15:51:25 +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
aaa0312528 extract parts of wxXRC depending on wxAdv in a separate file to allow statically linking with wxXRC but without wxAdv; note that rebaked project/make files also contain ustring.cpp/h now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 14:15:22 +00:00
Vadim Zeitlin
6b1eedc1bb add more stock items (#9799)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 14:38:02 +00:00
Václav Slavík
424af7aabf use iterators instead of c_str() in wxXmlResource::GetText()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-09 23:05:18 +00:00
Václav Slavík
63feebce0a compilation fixes for !wxUSE_FONTMEM case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-06 21:11:59 +00:00
Vadim Zeitlin
cfd9159888 replaced test for inexistent wxUSE_LOCALE with the correct wxUSE_INTL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-03 15:33:28 +00:00
Vadim Zeitlin
35f860fa23 don't use wxLocale if wxUSE_LOCALE==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-12 17:10:47 +00:00
Vadim Zeitlin
fd230129b5 fix (one off, so not really important) memory leak which happened if an application using XRCID() in event tables didn't initialize (and hence didn't shutdown) wx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-24 02:38:56 +00:00
Václav Slavík
6251e0ea4a fixed wxXmlResource::GetText() in ANSI build to correctly convert the string to current locale's charset
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-14 22:36:42 +00:00