Commit Graph

28 Commits

Author SHA1 Message Date
Vadim Zeitlin
3294b9a63a Don't invalidate best size for controls with wxST_NO_AUTORESIZE
This results in non-intuitive behaviour, as the controls with this style
still get resized after changing their label, so don't do it.

See https://groups.google.com/d/msg/wx-dev/58xFP4FIxXc/hm5WO0xNBwAJ
2018-01-16 22:18:54 +01:00
Vadim Zeitlin
c19e53e75e Don't skip wxStaticText auto-resizing if it's ellipsized
There doesn't seem to be any good reason for this, as it's perfectly
possible to use ellipsize the text if it's too long to fit even when the
control is resized to its maximal extent, but still allow the control to
resize in the first place.

See https://groups.google.com/d/msg/wx-dev/58xFP4FIxXc/d5lj6901CQAJ
2018-01-16 16:46:54 +01:00
Vadim Zeitlin
6651999719 Fold best size and ellipsis handling in AutoResizeIfNecessary()
Refactor wxStaticText code to use AutoResizeIfNecessary() for all the
updates done after the label extent changes (whether it's due to the
change of the label itself or the font used for rendering it).

There should be no changes in behaviour after this commit except for a
small bug fix in wxGenericStaticText when setting label with markup:
this didn't invalidate the best size before, but does now.
2018-01-16 16:46:54 +01:00
Václav Slavík
2132ff0291 Fix wxTextWrapper::Wrap with widthMax=-1
Fix regression introduced in cb2474f where Wrap() stopped treating
negative widthMax as documented, i.e. not doing any wrapping at all and
only respecting newlines.
2017-04-09 14:14:49 +02:00
Vadim Zeitlin
cb2474f040 Use wxDC::GetPartialTextExtents() in wxStaticText::Wrap()
This is more efficient than calling GetTextExtent() with a growing string in a
loop as we used to do (with ~60 character string wrapped on 2 lines it brings
wrapping time down from 4ms to 600us).

It is also slightly more accurate under macOS, even though it's still off and
some text may be truncated when wrapping.
2016-11-24 02:17:41 +01: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
5c9d7e139d Always invalidate wxStaticText best size after changing its label.
wxST_NO_AUTORESIZE style only affects whether the control is actually resized
when its text changes, but its best size should always change, so that if the
window containing it is explicitly relaid out the size does change.

Moreover, in wxMSW and wxOSX the best size was never invalidated at all when
the label was ellipsized, so it was never updated for them, preventing, for
example, comparing the best size with the current one to check if the text is
effectively ellipsized (and so needs to be shown in a tooltip, for example).

Fix this by calling InvalidateBestSize() unconditionally, this should make
these ports behave in the same was as wxGTK already did.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-09 03:29:58 +00:00
Vadim Zeitlin
f0aea4098c Refactor: extra wxStaticText auto-resizing code from wxMSW to common.
This will allow its reuse in wxGenericStaticText and maybe other ports that
need it in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-24 21:54:31 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +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
3da9cffc79 Replace wxST_MARKUP style with wxControl::SetLabelMarkup().
This is an incompatible change which removes the wxStaticText-specific
wxST_MARKUP style and adds wxControl::SetLabelMarkup() replacing it.

It doesn't actually change anything yet but it simplifies wxStaticText code a
lot by getting rid of many markup-related functions in it which had to behave
differently depending on whether wxST_MARKUP was used or not and also paves
way for adding markup support for the other controls in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:47:26 +00:00
Vadim Zeitlin
0d0fdaacf8 Use wxMarkupParser in wxStaticText for dealing with markup.
No real changes, just remove markup parsing code from wxStaticText
implementation and reuse wxMarkupParser methods there instead.

This makes include/wx/private/stattext.h file unnecessary as it is used only
in a single place now so remove it and move its remaining contents to
src/gtk/mnemonics.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:46:55 +00:00
Paul Cornett
f9405a952c make wxMarkupEntities fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-05 18:38:33 +00:00
Paul Cornett
f313deaa38 move variable definitions to more appropriate places, remove now-empty src/common/datacmn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-05 18:27:58 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Francesco Montorsi
32ee98eb76 reorder GetLabel(), GetLabelText(), SetLabel() and SetLabelText() function declarations, implementations and relative documentations.
Add wxStaticTextBase::GetLabelWithoutMarkup() and use it in the wxMSW implementation of wxStaticText::SetLabel() to close bug #11446; the function RemoveMarkup() which was previously used in fact could not check for presence/absence of wxST_MARKUP style since it's a static function.

Add wxStaticTextBase::SetLabelText() functions for symmetry with wxControlBase::SetLabelText()

Add test unit for both wxControl::*Label* and wxStaticText::*Label* functions.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-21 21:39:15 +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
255c07b4df extracted wxTextWrapper in its own header and made it public
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-31 20:12:07 +00:00
Vadim Zeitlin
41ce5eff75 fix MSVC warning about possibly uninitialized variable in Ellipsize() (which indicated possibly incorrect usage of this function)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 12:06:54 +00:00
Francesco Montorsi
5c87527c5a move Ellipsize() to wxControl so it can be easily used by other controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-28 21:16:00 +00:00
Francesco Montorsi
4520d5836a refactor wxStaticText::Ellipsize so it's a static public utility function; document it and a couple of other useful functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-28 19:24:13 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Vadim Zeitlin
b1f17bf00f refactor wxGTK mnemonics conversion functions in a separate file to be able to reuse them from wxMenu too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-12 19:41:38 +00:00
Francesco Montorsi
19cf1ef3a7 added the static function GetLabelText() to wxStaticText which was mentioned in the docs but not implemented; also fixed the return type documented for wxControl::GetLabel*() functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-05 18:54:22 +00:00
Václav Slavík
5b87170050 use iterators in wxStaticText wrapping and escaping code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-02 17:21:46 +00:00
Vadim Zeitlin
523b9ce4fd fixes for PCH-less build after last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-01 14:18:49 +00:00
Vadim Zeitlin
39bc0347fd added support for ellipsization and markup in wxStaticText (modified patch 1629946)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-01 14:13:15 +00:00