Commit Graph

70 Commits

Author SHA1 Message Date
Adrian DC
11e5413558 wx/xml: Implement line-ending modes for xml saves
* Add 'wxTextFileType m_fileType' to hold the type
 * Add 'wxString m_eol' to hold the end of lines string

 * Add SetFileType() and GetFileType() to set and get the type
 * Add GetEOL() to get the end of lines wxString

 * Backwards compatibility preserved by using wxTextFileType_Unix

Change-Id: I3e8547b377e2c4060a3a2d97c299a08ea2c0a376
Signed-off-by: Adrian DC <radian.dc@gmail.com>
2017-05-30 14:31:59 +02:00
Nick Matthews
d13278ecc3 Add support for DOCTYPE to wxXmlDocument.
Allow retrieving the DOCTYPE specified in an existing document as well as
specifying the DOCTYPE to use when writing a new one.

Closes #13779.
2015-04-26 15:36:48 +02:00
Vadim Zeitlin
41b1ed9c2e No real changes, just replace wxT() with wxS() in wxXML code.
See #13779.
2015-04-26 15:36:48 +02:00
Vadim Zeitlin
401b8a8fe3 No changes, just remove an extra semicolon in wxXmlDocument code.
See #13779.
2015-04-26 15:36:48 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
9b237f109c Fix wxXmlNode self-assignment.
Don't lose the node contents if it's assigned to itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 21:45:25 +00:00
Vadim Zeitlin
0b3e395a5c Fix memory leak in wxXmlNode::operator=().
We must delete all children and attributes in the node being overwritten and
not just the first one of each.

Add a unit test exercising this code to be able to check that valgrind doesn't
report memory leak any more after the fix.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-15 20:01:58 +00:00
Václav Slavík
527d2d2d47 Add check to prevent creation of element wxXmlNodes with content data.
Just like in the DOM, only text, ctype etc. nodes have textual content,
elements don't.

See #13297.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 10:04:48 +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
Vadim Zeitlin
6f24b81707 Fix wxXmlDocument::SetRoot() broken by recent changes.
Support for wxXML_PI_NODE introduced in r67346 broke SetRoot() and, because of
this, saving XML documents.

Correct this and add a unit test for this method.

Closes #13135.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-17 00:09:45 +00:00
Vadim Zeitlin
cee8636e94 Add support for elements preceding the document node in wxXML.
This is mainly useful for parsing and generating processing instructions but
can be used for any kind of elements, e.g. also comments, occurring before the
document node in XML documents.

Closes #11593.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:16:19 +00:00
Vadim Zeitlin
ccec90930c Add wxVersionInfo and functions returning it for 3rd party libraries.
Add simple wxVersionInfo class holding the version information.

Also add GetLibraryVersionInfo() static method to wx{JPEG,PNG,TIFF}Handler,
wxStyledTextCtrl and wxXmlDocument classes and wxGetZlibVersionInfo() and
wxGetLibraryVersionInfo() global functions using it.

Closes #12690.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-25 00:53:44 +00:00
Julian Smart
f13d956e6a Removed test code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-05 06:33:34 +00:00
Julian Smart
30f6914ba1 Added a flag suppressing node content conversion when saving to XML.
This helps improve the extremely poor performance of XML saving if
you have, for example, hex data that does not need conversion.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-05 06:17:22 +00:00
Václav Slavík
926649a996 Fix attributes escaping when writing XML.
wxXmlDocument didn't correctly escape some characters that the spec says
must be escaped. Behaves correctly now.

Fixes #12275.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-04 14:57:30 +00:00
Václav Slavík
936759a463 Fixed XML parser error text formatting.
XML_GetCurrentLineNumber() returns int in some versions of Expat and
unsigned long (or even uint64_t) in other versions. Just cast the value
to int so that it works correctly with all versions.

Fixes #12196.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-03 14:24:31 +00:00
Václav Slavík
57cc93eb59 fixed wxXmlDocument::Save() to interpret the indentstep argument correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-04 21:19:40 +00:00
Vadim Zeitlin
a6cf6bcfb4 Don't append text following CDATA section to its node itself.
Reset wxXmlParsingContext::lastAsText flag when CDATA section ends to avoid
appending the text following it to its node. Instead new text nodes should be
created for it.

Also update the unit test to not work around the bug any more.

Closes #10552.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-24 21:42:27 +00:00
Vadim Zeitlin
a6ed278608 better check for conversion failure in OutputString(); use wxScopedCharBuffer::length() instead of strlen()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-13 17:49:56 +00:00
Vadim Zeitlin
664e13143e renamed wx/ptr_shrd.h to wx/sharedptr.h; split wx/ptr_scpd.h in wx/scopedptr.h and wx/scopedarray.h; extracted common parts into new wx/checkeddelete.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-03 12:01:46 +00:00
Vadim Zeitlin
9c39f4f538 fix substr() calls broken by r56215 (#10198)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-20 18:19:17 +00:00
Vadim Zeitlin
3232da9d90 work around Borland compilation errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-20 09:00:19 +00:00
Vadim Zeitlin
e767076e80 just return false instead of crashing if the document contents can't be converted to the target encoding (#10064)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-10 16:13:53 +00:00
Vadim Zeitlin
cc209a518f check that string passed to FromUTF8() is valid even in release build, this is safer; add a separate FromUTF8Unchecked() which can be used for maximal efficiency
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-19 19:59:59 +00:00
Václav Slavík
43a302f200 added wxXmlNode::InsertChildAfter and use it for (much) faster XML parsing (based on patch by Francesco Montorsi)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-30 10:27:19 +00:00
Václav Slavík
5e05df3c7f 1. fixed wxXmlNode::InsertChild() documentation to match the code
2. added tests for InsertChild()
3. simplified InsertChild() code without changing what it does

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-29 22:55:35 +00:00
Vadim Zeitlin
e13ce4a3d0 move Add/DeleteAttribute() implementations out of line to avoid deprecation warnings when including xml.h from user code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-16 23:34:21 +00:00
Václav Slavík
6e26d6b78c include line number information in wxXmlNode (based on patch #1803492 by Heikki Linnakangas)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-30 11:09:54 +00:00
Václav Slavík
cc24bf9192 wxXmlNode::GetAttribute's pointer argument must not be NULL, check for it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-24 22:09:06 +00:00
Václav Slavík
288b6107e1 renamed wxXmlProperty to wxXmlAttribute, plus implied method names changes (bug #1751761)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 10:07:41 +00:00
Václav Slavík
8650108199 don't use implicit wxString->char*/wchar_t* conversion, it will not be available in wxUSE_STL build in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:42:41 +00:00
Václav Slavík
58227f65ca compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-17 06:17:29 +00:00
Václav Slavík
d6cb12871f fixed CDATA processing to convert the content to output charset, it should be treated just like text in this respect
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-16 22:35:17 +00:00
Václav Slavík
352d9b8957 fixes for STL build without implicit wxString->char* conversion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-16 18:07:05 +00:00
Václav Slavík
26296ac997 wrap all handlers in single extern "C" section instead of lots of them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-16 18:03:23 +00:00
Václav Slavík
b04edcaf5f use FromUTF8() when loading XML, data coming from Expat are already validated UTF-8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-05 18:55:05 +00:00
Vadim Zeitlin
8605f9c571 compare charset strings case-insensitively (and so avoid conversions between utf-8 and UTF-8 for example, see patch 1611068)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-24 13:36:22 +00:00
Robert Roebling
e8da6b7cef [ 1601396 ] Fix copy of empty wxXmlDocuments
and minor doc update.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-26 18:41:43 +00:00
Michael Wetherell
6df6e35a3e Fixes for semicolons, commas and wxSTRING_MAXLEN from Wlodek Szafran.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 07:37:09 +00:00
Václav Slavík
eac789ff9c removed tabs and trailing whitespace
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-11 11:13:05 +00:00
Václav Slavík
538f383019 wxXML load/save improvements: added ability to not ignore whitespace and specify indentation level (patch #1541888)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-11 11:08:49 +00:00
Robert Roebling
fa6a837300 Apply patch [ 1554746 ] wxXmlNode::InsertChild fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-09 11:32:10 +00:00
Robert Roebling
a01cbf0a7c Commit Haakan Wiman's cdata XML patch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-01 11:14:36 +00:00
Vadim Zeitlin
97757cee26 check that the stream is valid before using it in Load() and Save() (patch 1516432)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-24 18:06:57 +00:00
Julian Smart
da452b9eec Missing dereference caused wrong wxString ctor to be used, leading to
memory errors


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-08 08:09:27 +00:00
Włodzimierz Skiba
670f993563 Include wx/app.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-28 12:44:37 +00:00
Włodzimierz Skiba
e4db172a3b Include wx/log.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-26 08:21:31 +00:00
Włodzimierz Skiba
88a7a4e10e Include wx/intl.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-25 14:38:19 +00:00
Włodzimierz Skiba
40989e46b8 [ 1473731 ] 'wxColourBase and wxString <-> wxColour implementation' with minor modifications and rebaked build files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-24 14:52:23 +00:00