Commit Graph

100 Commits

Author SHA1 Message Date
Vadim Zeitlin
51bfc68423 Avoid unnecessary checks in wxStaticText::SetFont() in wxGTK
There is no need to do anything if the font didn't actually change.
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
Paul Cornett
ecda9c2016 Avoid GtkAlignment with GTK+4 2017-12-19 10:12:04 -08:00
Vadim Zeitlin
dfd03f5fee Don't refresh wxStaticText if its label didn't really change
Optimize calling SetLabel() with the same label as the current one, this
seems to happen quite often in practice and results in flicker, so check
for it explicitly.
2017-07-16 02:36:07 +02:00
Vadim Zeitlin
25c9b032a8 Don't call CacheBestSize() from DoGetBestSize() implementations
This is unnecessary, wxWindow::GetBestSize() already does this, so calling it
from DoGetBestSize() called by it too is just useless.
2016-04-03 18:04:26 +02:00
Vadim Zeitlin
0724bc9a5a Fix best size for non-left aligned wxStaticText in wxGTK2
Since the hack for making the alignment work with GTK+ 2 done in
4ae21c7f1a, the best size was not computed
correctly for the right aligned or centered labels and the minimum possible
size was returned instead.

Fix this by temporarily disabling ellipsization during the best size
computation to ensure that the same best size is computed for left and right
aligned labels.

See #12539.
2015-10-18 22:15:40 +02:00
Vadim Zeitlin
4ae21c7f1a Make wxStaticText alignment work with wxGTK2.
Alignment was silently ignored in wxStaticText with GTK+ 2 since 2.12 or so,
make it work even at the price of using a non-default ellipsize mode as this
seems to be the only way to have it at all.

Closes #12539.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-11 21:16:11 +00:00
Paul Cornett
4b6c6a2fbd fix wxStaticText improperly wrapping text when initial size is fully specified, closes #16278
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-24 18:39:56 +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
Paul Cornett
7fff16b863 Simplify GetDefaultAttributesFromGTKWidget() by passing the widget to use,
rather than a pointer to a function to create the widget


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 02:23:34 +00:00
Paul Cornett
ab78328d2a remove DoSetSize override, unneeded after r72001
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 17:27:41 +00:00
Paul Cornett
c49ba2113c no real changes, just remove unnecessary indentation and scoping after r72001
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 17:17:53 +00:00
Paul Cornett
4e621d2471 update minimum GTK2 version requirement to 2.6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 16:39:44 +00:00
Paul Cornett
9dc44eff02 support for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-30 20:39:06 +00:00
Vadim Zeitlin
c7a49742ec Add support for stricken-through fonts.
Support stricken-through fonts in wxMSW and wxGTK (including special support
in wxStaticText and wxTextCtrl).

Closes #9907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 11:28:28 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +00:00
Vadim Zeitlin
f5bdfc69a5 Add wxUSE_MARKUP and wrap SetLabelMarkup() in it.
Make it possible to disable all the new markup-related code by setting
wxUSE_MARKUP to 0 in setup.h or using configure --disable-markup option.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67062 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:07 +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
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
Vadim Zeitlin
6794ca461c Fix setting wxStaticText alignment under wxGTK.
The alignment was ignored unless a wxST_ELLIPSIZE_XXX style was already used.
Apparently calling gtk_label_set_ellipsize(PANGO_ELLIPSIZE_NONE) resets the
alignment, so set the alignment after setting the ellipsization style, not
before.

Another possible solution would be to avoid calling gtk_label_set_ellipsize()
completely if no ellipsization styles are given but maybe the original code
didn't do this for some (unknown and undocumented) reason so keep it this way.

Closes #10716.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-11 10:43:28 +00:00
Francesco Montorsi
7517dcb56e no real changes: just a small optimization on wxStaticText::DoSetLabel() to avoid altering m_labelOrig there (it's already modified by SetLabel(), no need to change it twice)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63767 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-28 22:23:38 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Paul Cornett
9ff9d30c0a Hold a reference on m_widget for the life of the associated wxWindow object.
This allows removing some ugly hacks, and leaking of GtkWidgets by wxNotebook.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 16:19:23 +00:00
Robert Roebling
88684daa70 gtk wxStaticText and wxALIGN_CENTER_VERTICAL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-27 13:19:19 +00:00
Paul Cornett
7f85af8223 Enable best size caching, remove unnecessary GetLabel() and SetForegroundColour(),
remove hack for non-left alignment, it does not seem to be needed anymore.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-02 21:33:51 +00:00
Paul Cornett
a1a48c8a95 fix wxALIGN_RIGHT in RTL mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-02 18:47:35 +00:00
Vadim Zeitlin
e8375af8ff remove wxWindow::m_needParent and use GTKNeedsParent() which can be overridden in just wxMenuBar (and not set in each and every wxGTK control)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-23 15:16:06 +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
Vadim Zeitlin
61053de43b don't call gtk_label_set_line_wrap() from DoGetBestSize() as this results in an infinite resizing loop when the control is inside a GTK+ widget doing its own layout (such as wxToolBar)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 12:14:23 +00:00
Vadim Zeitlin
f4322df68b no changes, just removed TABs/trailing spaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 22:56:34 +00:00
Vadim Zeitlin
97a8589874 suppress warning about casting -1 to guint
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-16 14:47:37 +00:00
Vadim Zeitlin
ac6e0eb154 added support for underlined fonts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-02 01:27:44 +00:00
Robert Roebling
6959763942 Implemented window coord mirroring for RTL. This
is only implemented for *setting* the coordinates
    which is enough for wxSizers and 99% or other
    dialogs to work.
  Also reversed the meaning of wxStaticText alignment
    in RTL mode. It is possible that later versions
    of GTK actually do that themselves. (?)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-10 19:39:22 +00:00
Robin Dunn
8d1c5c3f57 Add 1 to the width returned by DoGetBestSize in order to work around a
GTK issue where it sometimes wrapps the text needlessly


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-08 18:15:56 +00:00
Vadim Zeitlin
2e1f50128a support mnemonics for wxStatic/RadioBox and made it easier to add support for more controls by virtualizing the mnemonics support logic (patch 1448178)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-12 14:21:19 +00:00
Vadim Zeitlin
d44a933726 honour the mnemonics; don't use gtk_label_set_markup() for foreground colour as this doesn't seem to be necessary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-05 22:41:39 +00:00
Mart Raudsepp
78e017d8f3 GTK2: gtk_radio_button_group -> _set_group; A missed gtk_label_set to set_text. Add a FIXME note for wxStaticText
probably not honoring SetBackgroundColour


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-04 00:09:16 +00:00
Julian Smart
bd1a4a99fc wxControl::SetLabel no longer strips out codes so do it here
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-31 16:01:19 +00:00
Mart Raudsepp
9fa72bd2a6 Use g_signal* instead of deprecated gtk_signal*. Use proper casts for the arguments.
Worth norting from the GTK+ docs: "For future usage, direct use of the GSignal API is recommended, this avoids
significant performance hits where GtkArg structures have to be converted into GValues."


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-22 23:28:58 +00:00
Mart Raudsepp
68567a967b Nuke GTK1 from src/gtk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-22 20:29:17 +00:00
Mart Raudsepp
3d257b8db1 Remove stray whitespaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-14 18:32:37 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Robert Roebling
088ddc4e37 This should make the GTK statictext control wrap
and behave like the MSW. I'm still doing further
    tests.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-16 13:34:36 +00:00
Robert Roebling
a5040b80be Implemented text wrapping for GTK (1.2 and 2.X).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-07 22:52:32 +00:00
Václav Slavík
1171e2e56e fixed typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-27 13:47:52 +00:00
Václav Slavík
66bd83b4ec fixed setting colour of wxStaticText in case the label contains XML special characters
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-27 13:42:17 +00:00
Robin Dunn
9f88452895 * Implemented BestSize cache
* Added calls to InvalidateBestSize where things affecting BestSize
  are modified.  There are probably several other places where this
  still needs to be done...

* Added wxWindowBase::GetBestFittingSize that will merge the BestSize
  into the MinSize, (if any) and return the result.

* SetBestFittingSize will now only set the MinSize to the value that
  was passed to it, without merging in the BestSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-24 20:09:45 +00:00
Robin Dunn
c0e6c05138 reverted m_adjustMinSize change prepatory for a new approach to fix
the problem


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-21 22:58:13 +00:00
Robin Dunn
fe161a2685 Controls will readjust their size and minsize when SetLabel or SetFont
are called.  Fixed up wxStaticText to blend the wxST_NO_AUTOSIZE with
this new functionality.  Made SetBestSize public under the
SetBestFittingSize name.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-19 01:35:10 +00:00