Commit Graph
91 Commits
Author SHA1 Message Date
Bryan PettyandVadim Zeitlin 9864777203 Upgrade to Doxygen 1.15.0
- Upgrade Doxyfile configuration for 1.15.0
- Upgrade Doxygen Awesome to v2.4.2 (compatible up to Doxygen 1.15.0)
- Upgrade GitHub workflow Doxygen version to 1.15.0
- Tweak main navigation button spacing to match previous style
- Fix search box icon styles
- Fix class member definition group styles (missed by DA)
- Replace backticks used as apostrophe/quote in docs
- Fix remaining Doxygen warnings when processed with 1.15.0
- Bump required Doxygen version to 1.15.0

Closes #25603.

Closes #26431.
2026-05-08 15:48:35 +02:00
Vadim Zeitlin fd0c23ee24 Add wxString::AssignFromUTF8() function
This can be used to optimize repeated conversions from UTF-8 by reusing
the string buffer.

See #25740.
2025-08-30 16:33:39 +02:00
Vadim Zeitlin e2ba225758 Use unique names for groups in wxString documentation
This avoids conflicts with the group names elsewhere, notably "ctor"
group is also used in interface/wx/stc/stc.h.
2025-07-06 00:31:24 +02:00
Vadim Zeitlin 16e46bf8d3 Fix wxString::BeforeFirst() when "rest" is the string itself
This didn't work correctly before, but there doesn't seem to be any good
reason to not allow this, as it allows to naturally extract some leading
prefix from a string and it also already worked for BeforeLast(), so
make it work for BeforeFirst() too.
2025-01-15 02:21:05 +01:00
Vadim Zeitlin b40f629d8e Fix wxString::Pad() documentation
It erroneously claimed that the function removed spaces instead of
appending them.

Closes #24627.
2024-06-20 17:04:19 +02:00
Vadim Zeitlin e4e42093b1 Improve wxString::Empty() and Clear() documentation a bit more
See #24543.
2024-05-19 20:32:44 +02:00
Blake-MaddenandVadim Zeitlin 28a1e55017 Fix incorrect documention for wxString::Clear()
The docs say that Clear() frees the string's memory, but that is not
correct. It calls the standard `clear()` function which only sets the
string's size to zero, so add an explanation for needing to call
`Shrink()` or `shrink_to_fit()` to actually (request to) shrink the
string's capacity.
2024-05-19 20:29:46 +02:00
Vadim Zeitlin 09515ad4ce Make wxString and wxUniChar comparison operators friends too
Don't define them in the global scope to improve error messages.

Also move the rest of wxString operators into the class scope.
2024-01-06 02:06:31 +01:00
Ian McInerneyandIan McInerney 3dfb2a5ac1 Add std::string_view constructors to wxString 2023-07-20 19:59:01 +01:00
Vadim Zeitlin 7465d8297e Add wxString::wc_string() for consistency
We have utf8_str() and utf8_string(), but no similar equivalent for
wc_str(), so add one too, it seems nicer to use than ToStdWstring().

Closes #23463.
2023-04-20 15:20:13 +02:00
Vadim Zeitlin 889845fbc4 Add support for wxNO_IMPLICIT_WXSTRING_CONV_TO_PTR to wxString
This symbol is similar to the existing wxNO_IMPLICIT_WXSTRING_ENCODING
and can be defined when building the application (as opposed to when
building the library) to disable implicit wxString conversions to
pointer types, i.e. char*, wchat_t* and void*.

This makes the just added wxUSE_CHAR_CONV_IN_WXSTRING library build
option unnecessary, so remove it.
2023-04-16 01:16:56 +02:00
Vadim Zeitlin 5119d35d3b Document that wxString::Clone() is obsolete
It's useless now that we never use ref-counted implementation any
longer.
2023-04-16 00:43:05 +02:00
Vadim Zeitlin 330303e078 Update wxString overview and documentation
Avoid overlap between the two pages.

Remove obsolete information.

Document wxNO_IMPLICIT_WXSTRING_ENCODING.

Don't mention wxUSE_STL any longer.
2023-04-15 20:34:24 +02:00
Vadim Zeitlin 4c8bf1e9e7 Don't mention wxString::GetWriteBuf() in the documentation
This function doesn't exist any longer since 5e2da5a106 (Get rid of v2.8
code, 2022-08-01).

Remove documentation of this function and its UngetWriteBuf()
counterpart and don't refer to them in wxStringBuffer[Length]
documentation.
2023-04-15 15:08:37 +01:00
PB d378444010 Remove most occurrences of wxT() from the docs
wxT() macro rarely needed now, so do not use it in the docs
unless it is required.
2023-04-09 20:35:49 +02:00
Vadim Zeitlin 488950f724 Implement wxString::Shrink() in terms of shrink_to_fit()
Now that we use C++11 there is no need to have our own Shrink()
implementation when we can just use the standard function.

Also mention that it's the same as shrink_to_fit() in Shrink()
documentation.

No real changes, just simplify the code and make it more efficient.
2023-03-28 23:05:09 +02:00
Vadim Zeitlin a893c4d6b0 Update wxString documentation after ANSI build removal
Document the correct return type of ToAscii() and wc_str() functions.
2022-10-28 23:38:03 +01:00
Vadim Zeitlin 4f4c5fcfdf Use nullptr instead of NULL in the code and documentation
This is a combination of running clang-tidy with modernize-use-nullptr
check for some ports (GTK, X11, OSX) and manual changes to the ports for
which it couldn't be used easily (MSW, DFB) and also manually updating
the docs.

Also replace NULL with null or nullptr in the comments as this is more
consistent with the use of nullptr in the code and makes it simpler to
grep for the remaining occurrences of NULL itself.

And also use null in the assert messages.

Only a few occurrences of "NULL" are still left in non-C files, mostly
corresponding to unclear comments or string output which it might not be
safe to change.
2022-10-18 01:25:25 +02:00
Lauri NurmiandVadim Zeitlin 66916c74a3 Fix double negatives used with 'neither' in docs and comments
In many cases it should be 'either', and 'nor' should be 'or'
accordingly.

No changes to actual code.

Closes #22723.
2022-08-19 16:22:21 +02:00
Vadim Zeitlin c0f1ecf263 Fix another unbalanced Doxygen grouping command after last commit
Add the missing section start to wxString documentation.

See #22248.
2022-08-03 19:36:22 +02:00
Vadim Zeitlin 8ac10d28f8 Fix all the other comments with Doxygen grouping commands too
This is the same thing as bd92523bc5 (Fix use of Doxygen @addtogroup
command, 2022-08-03) except it fixes comments format for all the other
occurrences of "@{" and "@}" too, not just for those used with
@addtogroup which was the problem in #22572.

This fixes many different formatting problems due to attaching various
Doxygen commands to wrong elements because of broken grouping, e.g. all
overloaded functions were documented incorrectly and there were several
problems in wxString documentation.

See #22248.
2022-08-03 18:58:47 +02:00
Vadim Zeitlin bd92523bc5 Fix use of Doxygen @addtogroup command
Put Doxygen grouping constructs ("@{" and "@}") in Doxygen comments
rather than plain C++ ones to make them actually take effect. Some old
Doxygen versions (~1.8.5) did recognize them even in plain comments, but
the currently uses 1.9.1 one does not and @addtogroup didn't have any
effect as the result.

This fixes the problem with the "Functions by Category" pages being
empty in the resulting HTML documentation.

See #22572.
2022-08-03 18:28:06 +02:00
Gerhard GruberandVadim Zeitlin 9dc7248b1d Add conversion to signed/unsigned int to wxString
Add wxString::ToInt() and ToUInt() for convenience and consistency with
the existing ToLong() and ToULong().

Closes #22068.
2022-03-26 00:46:58 +01:00
Blake-MaddenandVadim Zeitlin 4c5f39426e Add example of using wxString::ToCDouble() to the documentation
Add an example showing the meaning of the return value.

Also, a couple other small edits.

Closes #22129.
2022-02-16 22:42:58 +00:00
Vadim Zeitlin 16495e424d Merge branch 'utf8-std-string'
Add wxString::utf8_string().

See https://github.com/wxWidgets/wxWidgets/pull/2265
2021-03-14 13:10:13 +01:00
Blake Madden 28d705424b Fix double words and article mismatches in docs. 2021-03-10 14:28:20 -05:00
Vadim Zeitlin 0f8e976ac3 Add wxString::utf8_string()
This adds a yet another conversion function, which is not ideal, but
still better than having to write ToStdString(wxConvUTF8) every time for
losslessly converting wxString to std::string: not only this is too
long, but it's also too easy to forget to specify wxConvUTF8, resulting
in data loss when using non-UTF-8 locale.
2021-03-06 15:12:07 +01:00
Vadim Zeitlin 873e028ffa Document wxASCII_STR() macro
Also improve wxString::FromAscii() documentation slightly.
2020-08-25 16:49:05 +02:00
Tobias TaschnerandGitHub 1666f58bc6 Change documentation references from OS X to macOS (#1927)
Since OS X 10.12 it has been named macOS so it makes sense
to reference it in documentation as such, even when it
sometimes refers to older versions which were called (Mac) OS X.
2020-07-04 22:08:24 +02:00
Vadim Zeitlin 70f8bf4c86 Just return true from wxString::Shrink()
The comparison of lengths() seems to be completely unnecessary.

Also document that Shrink() always returns true.
2019-08-22 00:04:04 +02:00
Lauri NurmiandVadim Zeitlin 4739b9dedd Add C++20-style starts_with()/ends_with() functions to wxString
C++20 introduces these two functions, along with some overloads, to
std::string. Add similar functions to wxString, which simply call the
already existing StartsWith() and EndsWith().

Closes https://github.com/wxWidgets/wxWidgets/pull/1452
2019-07-31 00:52:29 +02:00
Scott TalbertandVadim Zeitlin c68e5d0617 Fix some spelling/grammar errors in documentation
Mostly replace ungrammatical "allows to do" with correct "allows doing".

Closes https://github.com/wxWidgets/wxWidgets/pull/1183
2019-01-26 03:50:47 +01:00
Lauri NurmiandVadim Zeitlin 394ce5f631 Add C++11-style cbegin, cend, etc. to wxString's iterator interface
These c-prefixed functions always return a const_iterator.
The full list of functions added: cbegin(), cend(), crbegin(), crend().

Closes https://github.com/wxWidgets/wxWidgets/pull/314
2016-08-25 18:54:05 +02:00
Vadim Zeitlin e371214cfa Correct wxString(const char*, size_t) ctor documentation
The length passed to this constructor is the number of bytes, i.e. char
elements of the given string, not "characters" in the usual sense of the word.
2016-07-19 20:12:53 +02:00
Vadim Zeitlin 4e4286f0e2 Merge branch 'utf8-stdstring-interop' of https://github.com/minoki/wxWidgets
Make it easier to interoperate with the code using UTF-8-encoded std::strings.

Closes #17461.
2016-03-28 21:44:54 +02:00
Lauri NurmiandVadim Zeitlin 55d77f271e Don't call different variants of wxString methods overloads
The function such as fn_str(), wc_str(), and ToAscii() have
configuration-dependent return types, yet different variants were claimed to
be member function overloads. This is incorrect, as a member function cannot
be overloaded only by its return type and, for any given platform/build
variant only one of them is available.

Closes https://github.com/wxWidgets/wxWidgets/pull/260
2016-03-28 21:25:56 +02:00
ARATA Mizuki 70ddab243e Add wxMBConv parameter to wxString::ToStdString
See #17461.
2016-03-25 16:23:47 +09:00
ARATA Mizuki 81e6638585 Add overloads of wxString::FromUTF8/FromUTF8Unchecked taking a std::string
See #17461.
2016-03-25 16:23:47 +09:00
ARATA Mizuki 89745e83f3 Fix signatures of wxStringBuffer / wxStringBufferLength constructors in interface/wx/string.h
There were extra 'const's in the interface file.
2016-03-01 16:01:39 +09:00
Stefano D. MtangooandVadim Zeitlin 28bc1bdac0 Allow specifying the replacement character in wxString::ToAscii()
Don't hardcode "_" as the replacement character but accept the one specified
by the user.

Closes https://github.com/wxWidgets/wxWidgets/pull/116
2016-01-03 00:40:11 +01: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 e33efe4839 Expand wxString overview and document some problems due to its dual nature.
Explain the possible problems with wxString due to its dual Unicode/ASCII
nature.

Also document the various conversions in the overview itself.

Closes #14694.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-02 22:08:15 +00:00
Vadim Zeitlin 04783062e2 Miscellaneous spelling and typo fixes in the documentation.
Closes #14866.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-01 00:14:31 +00:00
Bryan Petty 57ab6f2314 Extensive documentation typo patch (closes #13063).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:08:30 +00:00
Vadim Zeitlin fd3a4cb92d Added precision parameter to wxString::From[C]Double().
Optionally support fixed precision in wxString::FromDouble() and FromCDouble()
methods. This is mostly useful for the latter to be able to format numbers in
portable way (using dot as decimal separator) without loss of precision but
also do it for the former for consistency.

Closes #12973.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-13 13:53:54 +00:00
Vadim Zeitlin 6686fbad16 Add wxNumberFormatter class helping to deal with thousands separators.
wxNumberFormatter formats and parses numbers with thousands separators.

Add the class itself as well as documentation and the unit test for it.

See #12166.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 10:47:40 +00:00
Vadim Zeitlin 6becc1e617 Added "rest" argument to wxString::Before{First,Last}().
This allows to search the string just once, in BeforeXXX(), when both the
parts of the string before and after some character are needed instead of
having to do it twice in both BeforeXXX() and AfterXXX().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-22 14:17:37 +00:00
Vadim Zeitlin 526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Václav Slavík 908c405611 Use wxScopedCharBuffer in To8BitData() in ANSI build too.
This allows one to write code compatible with both Unicode and ANSI
builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-01 15:28:30 +00:00
Vadim Zeitlin 951201d81c Add wxString::FromDouble() and FromCDouble().
wxString::FromCDouble() is needed inside wxWidgets itself to format numbers
independently of the current locale. FromDouble() was added for symmetry with
ToDouble/ToCDouble() functions.

Use std::locale for the implementation if available and manual wxLocale-based
fallback otherwise.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-31 11:55:48 +00:00