Commit Graph
164 Commits
Author SHA1 Message Date
Vadim Zeitlin 14687e2b0a Remove hard coded controls positions and sizes from text sample
This was not only useless, because the controls were repositioned by the
sizers later anyhow, but also actively harmful in at least one case,
when creating a control with wxTE_MULTILINE and wxTE_NO_VSCROLL styles
with too small height prevented the text from being appended to it.

Closes #26177.
2026-02-10 00:50:20 +01:00
Vadim Zeitlin 72447342ba Show text state in text sample with a single wxLogMessage() call
This is easier to read than 3 different log messages.

Also group pieces of related information together.

No real changes.
2026-02-09 23:59:23 +01:00
Vadim Zeitlin a54a4392a4 Fix format specifiers used for size_t in text sample
Using "%lu" for size_t resulted in an assertion failure under Win64.

Also remove casts of size_t to "unsigned int", even if this worked, it
is ugly and using "%zu" is simpler.

And remove even more useless casts of int to long too.
2026-02-09 23:53:15 +01:00
Igor KorotandVadim Zeitlin f621e2d4a9 Implement max length limit for multiline controls in wxGTK
Closes #24751.
2025-02-08 14:28:45 +01:00
Blake-MaddenandVadim Zeitlin 44a16be3d8 Add RTF support to wxMSW wxTextCtrl too
Make IsRTFSupported() non-static function as RTF is only supported by
some (rich), but not all, wxTextCtrls under Windows.

Closes #24718.
2024-08-12 01:16:24 +02:00
Blake-MaddenandVadim Zeitlin 2df6eb2232 Add RTF support to wxTextCtrl under macOS
Add function for setting and getting text control contents as RTF.

For now this is only supported by wxOSX, but support for other platforms
may be added in the future, so wxHAS_TEXTCTRL_RTF or IsRTFSupported()
should be used to test (at compile- or run-time, respectively) whether
RTF support is available.

Closes #24626.
2024-07-22 01:15:05 +02:00
Vadim Zeitlin 401e1d16ff Allow selecting between primary and clipboard in text sample
Add a menu item to switch between using the clipboard and primary
selections.

This finally makes UsePrimarySelection() call in the sample useful,
after 25 years when it didn't do anything, since it was added back in
7e2c43b855 (...Added for primary selection to sample/text., 1999-06-10)
2024-03-21 18:20:47 +01:00
Vadim Zeitlin d0cc8911fd Fix comment and call to UsePrimarySelection() in text sample
The call actually did nothing, but the comment implied that it did, as
if the default argument to UsePrimarySelection() were "true" -- which is
not, and never has been, the case.

Reduce confusion by clarifying what's going on here and passing an
explicit argument.
2024-03-21 18:20:47 +01:00
Vadim Zeitlin 847c750b69 Refactor clipboard selection in text sample
Factor out the call to UsePrimarySelection() and accompanying comment in
its own function.

This doesn't make much sense yet, but will allow to avoid modifying two
copies of this code and comment in the upcoming commits.

No real changes yet.
2024-03-21 18:20:47 +01:00
Vadim Zeitlin e43f913313 Remove all blank "Modified by:" lines from top comment blocks
Having this line is not useful at all as it doesn't contain any
information and shouldn't be filled in the future as git-shortlog can
provide the information about people who changed the given file more
more reliably than consulting the comments in any case.

Keep the non-blank lines for historical purposes.
2023-10-22 01:22:48 +02:00
Vadim Zeitlin 4519d8e08a Remove wxUSE_UNICODE checks as they're always true now
Also remove all code guarded by "#if !wxUSE_UNICODE".
2022-10-27 19:43:30 +02: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
PBandVadim Zeitlin 88d526660f Replace wxOVERRIDE and wxNOEXCEPT with override and noexcept
Don't use deprecated macros in wxWidgets itself.
2022-10-15 18:10:45 +02:00
Vadim Zeitlin 7a16275b57 Fix text sample build with wxUSE_LOG==0
Add missing preprocessor checks around the use of m_log.
2022-07-18 20:49:16 +01:00
Vadim Zeitlin 2af0b12d26 Avoid assert on text sample startup under MSW
Use wxTE_RICH2 for a control that we call EnableProofCheck() on, as
using this function without this style asserts in wxMSW.

This should have been done in 5ba2461fd1 (Switch to using GSpell for
wxTextCtrl proof checker in wxGTK, 2021-09-08).
2022-01-20 00:13:16 +01:00
Iwbnwif YiwandVadim Zeitlin 5ba2461fd1 Switch to using GSpell for wxTextCtrl proof checker in wxGTK
Use GSpell rather than GtkSpell because GSpell also allows to check
single line text controls.

Closes https://github.com/wxWidgets/wxWidgets/pull/2516
2021-09-11 14:02:13 +02:00
Vadim Zeitlin 79fe43c22d Don't show message box in text sample unnecessarily
This is going to be just annoying on the platforms where spell checking
is not supported, so show the message inside the text control itself
rather than popping up a message box.

Also put a misspelled word in the control from the very beginning to
show that it is highlighted.
2021-08-23 14:18:38 +02:00
Vadim Zeitlin 2bb3083a93 Use wxTextProofOptions itself to enable or disable the checks
Remove a separate "bool enable" argument of EnableProofCheck() and use
wxTextProofOptions::IsSpellCheckingEnabled() to decide whether the
checks should be enabled or disabled.

Also remove wxTextProofOptions ctor and provide named static factory
functions for creating the objects of this class with clearly defined
meaning.
2021-08-23 14:18:19 +02:00
iwbnwifandVadim Zeitlin 472aec2d7e Add support for using native spell checking in wxTextCtrl
Add wxTextCtrl::EnableSpellCheck() and implement it for wxMSW and
wxGTK3.

Closes #17544.
2021-08-23 14:15:38 +02:00
PB f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Paul Cornett 948ddc6e0f Eliminate -Wcast-qual warnings with GCC and Clang
Use const_cast, mutable, and various other changes to avoid -Wcast-qual
2020-02-02 22:50:32 -08:00
Vadim Zeitlin 2f6cb20d2c Stop intercepting Alt-Fn keys in the text sample
This was annoying, especially under MSW, as Alt-F4 couldn't be used to
close the application quickly.
2019-10-09 00:26:26 +02:00
Maarten Bent cd7e21ad2b Apply wxTextCtrl underline review suggestions 2019-07-19 21:06:10 +02:00
Maarten Bent 4afea28aab Improve underline changes of wxTextCtrl
Get rid of m_fontUnderlined, use m_fontUnderlineType instead.
Bugfixes in wxMSW, wxGTK and wxOSX code.
Show more underline usage in the text sample.
2019-07-11 00:34:27 +02:00
Igor KorotandMaarten Bent f99ae84d7c Implement different underline styles for wxTextCtrl 2019-07-11 00:23:18 +02:00
PBandVadim Zeitlin f8090263de Fix recently introduced mojibake in text sample
During the samples-wide removal of obsolete wxT macros in
f58ea62596, the macros were
accidentally removed also from the place where they were required
(string literal casted to void* and then retrieved as wxChar*). This led
to names for m_tab and m_enter controls displayed wrong when logging
text events.

Fix this by restoring wxS() in this particular place.

See https://github.com/wxWidgets/wxWidgets/pull/945

Closes https://github.com/wxWidgets/wxWidgets/pull/1226
2019-02-21 04:26:46 +01:00
Blake EryxandVadim Zeitlin 65827a0572 Remove unnecessary c_str() calls from the samples
Pass wxStrings directly to wxString::Format("%s") and similar
pseudo-vararg functions, there is no need for c_str() there since
wxWidgets 2.9.

Closes https://github.com/wxWidgets/wxWidgets/pull/1009
2018-11-03 22:52:57 +01:00
Blake EryxandVadim Zeitlin 4fb39beae1 Remove all wxS() macros from samples
The use of wxS() is an optimization which can be used to avoid an
implicit conversion from narrow to wide strings, but such optimizations
are not really needed in the samples and just make their code less
readable, so remove them.

Closes https://github.com/wxWidgets/wxWidgets/pull/956
2018-10-01 13:55:42 +02:00
Blake EryxandVadim Zeitlin b70ed2d8c8 Remove more wxT() macros from samples
Also use wxString instead of wxChar* strings.

Closes https://github.com/wxWidgets/wxWidgets/pull/950
2018-09-29 17:16:12 +02:00
Blake-EryxandVadim Zeitlin f58ea62596 Remove (most) occurrences of wxT() macro from the samples
Also replace wxChar* with wxString.

Closes https://github.com/wxWidgets/wxWidgets/pull/945
2018-09-23 01:15:08 +02:00
Maarten BentandVadim Zeitlin 58a7339cb9 Show the mouse wheel axis in the text sample
This helps debugging these events generation.

Closes https://github.com/wxWidgets/wxWidgets/pull/798
2018-05-02 15:38:23 +02:00
Vadim Zeitlin de9b6fdc9e Show the exact wxTextCtrlHitTestResult in the text sample too
In addition to showing the position returned by HitTest(), also show its
return value which is not necessarily wxTE_HT_ON_TEXT if it is not
wxTE_HT_UNKNOWN under MSW.
2017-08-25 01:03:36 +02:00
Vadim Zeitlin 741dd542f2 Fix assert in the text sample when logging char events
Passing long argument to "%c" printf format specifier was correctly
flagged as invalid in 64 bit Unix builds where long != int.

Fix this by just making the "keycode" variable int in the first place,
there doesn't seem to be any reason whatsoever for it to be long and
this allows us to get rid of a couple of existing casts instead of
adding yet another one.
2017-08-24 14:17:33 +02:00
Paul Cornett d3497d32ec Size text sample to it's contents, rather than using fixed arbitrary size 2016-11-14 10:43:56 -08:00
Vadim Zeitlin 3dc54df247 Ignore hints on wxTE_PASSWORD controls when not supported natively
There is no way to show the hint without native support in a control with
wxTE_PASSWORD style, so simply ignore them completely in this case.

Closes #17078.
2016-06-28 14:40:52 +02:00
Maarten BentandVadim Zeitlin 3b98570f57 Miscellaneous improvements to the multimedia keys support
Simplified mapping keys on Windows.

Handle multimedia keys in the keyboard, text and treetest samples.

Ignore multimedia keys in wxRichTextCtrl.
2016-01-20 18:56:03 +01:00
Vadim Zeitlin 69b66e9e2e Add wxTextEntry::ForceUpper()
Allow automatically converting lower-case letters entered into wxTextCtrl to
upper-case equivalents. Provide generic fallback and implement the method
natively for all the major platforms.

Also update the text sample to show it in action.
2015-12-08 03:02:46 +01:00
CatalinandVadim Zeitlin f61627fc7e Remove obsolete symbols from the samples
Mostly don't mention OS/2 in the comments about the icons.

Also replace a couple of occurrences of "wxWindows" with "wxWidgets".

Closes https://github.com/wxWidgets/wxWidgets/pull/138
2015-12-03 22:11:04 +01:00
Vadim Zeitlin fbf59742a4 Don't always turn on wxTE_PROCESS_ENTER in wxOSX
This style was unconditionally used for all multiline controls for some
reason, meaning that wxEVT_TEXT_ENTER could be received even for the controls
not using wxTE_PROCESS_ENTER explicitly, which was unexpected.

Don't do this any more to conform to the expected behaviour.

Also do use wxTE_PROCESS_ENTER for the text control supposed to allow handling
"Enter" in the text sample: surprisingly, it didn't have this style before,
although it was clearly supposed to.

Closes #1913.
2015-11-09 03:51:18 +01:00
Vadim Zeitlin aef9eff1be Make the middle control in the text sample bigger under OS X
This might indicate a bug with the default size being too small for wxTextCtrl
in wxOSX, but without this change the control was barely big enough to show
one line of text under OS X 10.8, so make it bigger to have a more reasonable
initial appearance.
2015-11-09 02:56:59 +01:00
Vadim Zeitlin 83659d5d1d Fix the recently broken test in the text sample
Correct the text broken by f137753f28 (thanks
buildbot and clang for the warning).
2015-09-23 02:48:39 +02:00
Vadim Zeitlin f137753f28 Don't log drag events as well as move ones in the text sample
Dragging the mouse (even accidentally by a pixel or two) resulted in a
confusing "Unknown event" line in the log, so don't log these messages neither
just as we already don't log the mouse motion events.
2015-09-15 01:30:38 +02:00
Vadim Zeitlin 7f856bd633 Add a test for wxEVT_CONTEXT_MENU to the text sample.
Log a message if this message is received, which shows that it currently isn't
for the control with wxTE_RICH style under MSW.
2015-09-15 01:29:29 +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 e8374a47fe Allow setting hints for multi-line wxTextCtrl when supported.
Don't prevent people from using hints in wxMSW and wxGTK2, where they work
with multiline text controls too, even though they do not work with wxGTK3 nor
wxOSX.

Closes #14456.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-25 01:32:00 +00:00
Paul Cornett 5b4a70247c use "new" wx-prefixed macros in samples
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-30 07:07:55 +00:00
Paul Cornett 8b4ae731d3 use wxOVERRIDE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-30 00:02:23 +00:00
Vadim Zeitlin d66e7af9aa Don't use deprecated wxBOLD, wxNORMAL and similar constants.
Replace them with wxFONTWEIGHT_BOLD, wxFONTSTYLE_NORMAL or wxFONTWEIGHT_NORMAL
and equivalents in the code of the library itself and in the samples.

Also simplify font construction using wxFontInfo where possible to avoid
specifying these constants at all if they are not needed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-11 14:25:30 +00: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 7a78a93782 Add wxControl::GetSizeFromTextSize() to size the control to its text.
This function can be used to size a, say, wxTextCtrl to be exactly of the size
needed to enter the given amount of text in it.

This patch adds wxGTK implementation for wxTextCtrl, wxChoice and wxCombobox;
changes to the samples and the documentation.

Closes #14812.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-09 21:11:37 +00:00