Commit Graph

96 Commits

Author SHA1 Message Date
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Vadim Zeitlin
b53e9e2006 Rename wxStaticText::Do[SG]etLabel() to WX[SG]etVisibleLabel()
The names of these methods were confusing because they implied that they
were the actual implementations of the public [SG]etLabel(), while this
wasn't at all the case.

Give them then ames describing what they really do and also update the
comments to hopefully be more clear.

No real changes.
2019-06-19 18:15:57 +02: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
Vadim Zeitlin
17105cfd07 Simplify changing window styles in wxMSW code
Add wxMSWWinStyleUpdater and wxMSWWinExStyleUpdater helper classes which
allow writing code changing GWL_STYLE and GWL_EXSTYLE bits,
respectively, in a shorter and more clear way.

There should be no real changes in behaviour.
2017-12-10 17:47:16 +01: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
sbrowne
4e2684c155 Avoid flicker when size of wxStaticText doesn't change in wxMSW
Don't do anything if wxStaticText::DoSetSize() is called with the same
size as the control already uses, this only results in flicker.

Closes #17075.
2017-07-16 02:28:16 +02:00
Tobias Taschner
8282c1be0f Remove Windows CE support
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.

The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.

Closes https://github.com/wxWidgets/wxWidgets/pull/81
2015-09-23 00:52:30 +02:00
Vadim Zeitlin
dee8df8610 Accept wxALIGN_CENTRE_HORIZONTAL in wxMSW wxStaticText too.
Previously it only handled wxALIGN_CENTRE, also the documentation switched to
wxALIGN_CENTRE_HORIZONTAL in 72e88d8ea3 and
preceding commits.

See #16943.
2015-04-12 17:23:56 +02:00
Vadim Zeitlin
52dbc7e6f8 Remove obsolete checks for wxOS_WINDOWS_NT from wxMSW wxStaticText.
We don't support Windows 9x any more, so there is no need to check for NT
damily at run-time.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-11 21:16:03 +00: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
9b31387508 Merge the changes from 3.0 branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-12 18:06:37 +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
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
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
e279a9e799 Increase wxStaticText height in wxMSW to align its text with wxTextCtrl.
The base lines of the text in wxTextCtrl and wxStaticText which were
themselves vertically aligned didn't align, the text in the latter was one
pixel too low. This seems to be happening because we don't give enough
vertical space to the native static control by default and so, while the text
wasn't truncated, it was positioned differently than usual.

Work around this problem by allocating two extra pixels to wxStaticText
height. While the exact explanation of the problem remains mysterious, this
hack does result in correct appearance which seems to be sufficiently
important to apply it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-26 16:29:22 +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
fab9753681 Don't create labels with wxST_NO_AUTORESIZE flag with empty size by default.
Since r57627 wxStaticText objects with wxST_NO_AUTORESIZE flag created with
wxDefaultSize were created with zero width. This accounted for the
disappearance of the labels for the toolbar controls (as could be seen in the
toolbar sample where the combobox label was not shown any more).

Fix this by explicitly setting the correct initial size after the correct
label is set.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-18 22:31:54 +00:00
Vadim Zeitlin
743b426605 Added DoGetClientBestSize() and use it for a couple of controls in wxMSW.
DoGetClientBestSize() returns the best size of the client area, without
accounting for the border which is done by GetBestSize() itself and
DoGetBorderSize() called from it.

Use DoGetClientBestSize() in wxStaticText (where it was done
insideDoGetBestSize() before) and in wxListBox, to fix its height calculation.

Also use correct height of listbox items as returned by the control itself
instead of trying to guess it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-22 20:36:13 +00:00
Francesco Montorsi
8f23c28713 call SetLabel() in Create() in order to run markup/ellipsization-support code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 00:39:12 +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
Julian Smart
dc797d8e1b More border rationalisation. GetDefaultBorder is now mostly defined in base class files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 12:10:34 +00:00
Vadim Zeitlin
d6f2a8911e many compilation fixes for WinCE using VC8 (it now build, although still doesn't work)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-27 16:34:24 +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
32cd189dfc use GetLabelText() instead of wxStripMenuCodes() to avoid stripping the part of the string after TAB
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 18:47:39 +00:00
Włodzimierz Skiba
ccdc11bbaf Include wx/stattext.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-30 17:39:22 +00:00
Dimitri Schoolwerth
d997c6118c applied patch #1348053 "[msw] Strip mnemonics when calc best size for static text"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-16 12:06:54 +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
Vadim Zeitlin
42b1fb630d generate mouse events for all static controls, not just wxStaticLine (patch 1276413 by Jamie Gadd)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-30 13:54:29 +00:00
Vadim Zeitlin
7a0e7e55d8 take border into account in best size calculations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-29 23:25:08 +00:00
Robin Dunn
31582e4e11 Patch #1203934: enable best size caching for MSW widgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-18 02:23:01 +00:00
Vadim Zeitlin
c3732409ac simplifications and corrections to background drawing:
1. removed ApplyParentThemeBackground() not used any longer
2. removed ProvidesBackground() which is synonymous with
   !HasTransparentBackground()
3. removed a whole bunch of unused MSWXXX() methods
4. moved MSWControlColor() from wxWindow up to wxControl

results:

1. the gradient is still shown properly for static/radio boxes in notebooks
2. correct background colour is used for the static boxes
3. code is shorter and better commented


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 15:23:08 +00:00
Robin Dunn
30a2241127 If the parents are nothing but a panel and a frame then
MSWGetBgBrushForChild will still return NULL.  Fallback to a solid
background colour in this case.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-14 17:09:00 +00:00
Robin Dunn
1e255b00ce Allow wxStaticText to have a custom fg without a custom bg
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-12 20:25:19 +00:00
Julian Smart
008881c3f0 Font correction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-20 16:41:49 +00:00
Vadim Zeitlin
ac10c957a5 !USE_PCH compilation fix after last check in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-15 17:32:49 +00:00
Vadim Zeitlin
8812e09868 reuse code from wxDC::GetMultiLineTextExtent() instead of duplicating it here
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-15 12:22:07 +00:00
Włodzimierz Skiba
57f4f9255e Source cleaning: whitespaces, tabs, ::, -1/wxID_ANY/wxDefaultCoord, TRUE/true, FALSE/false.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-04 01:53:42 +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
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Robin Dunn
7a5a571859 Initial/Best size fixes for wxRadioBox, wxSlider and wxStaticText on wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-03 23:08:55 +00:00
Vadim Zeitlin
af498247c5 make XTI compile with VC6 (patch 896614)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-15 22:51:57 +00:00
Julian Smart
37b53d2a7b Patches from "Viktor Voroshylo" <viktor@voroshylo.com>
isses with context menu on real PocketPC device
static text not showing full message under WinCE


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-12-02 08:56:47 +00:00
Vadim Zeitlin
cb0afb2662 replaced wxNO_FULL_REPAINT_ON_RESIZE with wxFULL_REPAINT_ON_RESIZE in XTI declarations
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-24 00:41:06 +00:00
Stefan Csomor
3ff066a4ec macro naming changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-04 01:19:40 +00:00