This was broken, possibly by 25c9b032a8 (Don't call CacheBestSize() from
DoGetBestSize() implementations, 2016-04-03), as it didn't change the
min size of the status bar and so it was resized to it when it was
managed by wxFrame.
See https://github.com/wxWidgets/wxWidgets/pull/2133Closes#18996.
This undocumented "private" class was used for various windows UxTheme
functions which are available since WinXP. As wxWidgets 3.1 is XP+ it
does not make sense anymore to load the theme functions dynamically.
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
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
GTK+ applications don't use sunken status bars since many years, do don't do
it in wxWidgets neither by default any more. Add wxSB_SUNKEN style that can be
explicitly used if the old appearance is desired.
Closes#15009.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.
Closes#14371.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The status bar in wxMSW applications was too big under Windows 7 because it
used EDIT_HEIGHT_FROM_CHAR_HEIGHT() to calculate the height which was simply
unwarranted here. Instead, make the status bar tall enough to accommodate
simple text contents by default and fix SetMinHeight() to actually work for
the cases when a taller toolbar is needed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Postpone updating statu bar panes after they were actually created.
Setting the status bar fields contents before setting the number of them
failed resulting in debug error messages and the text not appearing in the
status bar.
Closes#13670.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The labels were not updated (i.e. ellipsized or, on the contrary, displayed in
full) correctly after a status bar field was changed; there was even a FIXME
comment about this in the code.
Fix this by calling DoUpdateStatusText() when the field width is changed and
also update the field width after resetting the existing tooltips.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Doing it immediately after calling ::SetWindowPos(), as we used to do, didn't
work correctly (presumably because the status bar fields widths were not
updated yet internally) and resulted in not updating the ellipsized fields
values when "Show window contents while dragging" Windows option was off.
Doing it when we get WM_SIZE works in this case too.
Closes#13257.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The total width of status bar panes must add up to the size of the status bar
as otherwise an extra unwanted border is drawn after the last pane and we did
have this border for status bar with a size grip.
So while we still use the width without the size grip for calculating the
fields widths, pass the width with the size grip to Windows to prevent this
from happening.
Also, don't pretend that the last field stretches up to the status bar edge
when it should end before the size grip and Windows even already helpfully
does it for us.
Closes#12655.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
SBARS_SIZEGRIP and CCS_TOP should be added to the normal style, not the
extended one. This restores the behaviour broken by r66227.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Setting the background colour for the status bar explicitly is unnecessary and
probably prevents it from rendering correctly with some themes. Simply remove
the call to SetBackgroundColour() from wxStatusBar::Create().
We should also define Get[Class]DefaultAttributes() in wxStatusBar in the
future.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxControl-provided CreateControl() and MSWCreateControl() methods to
create the status bar instead of duplicating their code in its Create().
Also translate wx styles to MSW ones in overridden MSWGetStyle() now.
In addition to making the code smaller and more clear, this fixes the
non-respect of the styles specified at status bar creation (e.g. border),
see #12655.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.
Closes#9685.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxSTB_SIZEGRIP is part of default status bar style but it doesn't make sense
for non-resizeable TLWs, so turn it off in this case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We shouldn't use the same "wxELLIPSIZE_" prefix for two different enums, so
use wxELLIPSIZE_FLAGS one for wxEllipsizeFlags (they should be used less often
than wxEllipsizeMode so it's better to keep the short prefix for the latter).
Also add wxELLIPSIZE_FLAGS_NONE flag.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Because Windows uses margins around the text drawn in the status bar, naively
setting a field width to the size of the text didn't work (see previous
commit for an example). As this seems a natural enough thing to do, account
for this margin inside wxStatusBar itself to avoid the user code the trouble
of having to call some special function to do it. Notice that this does mean
that fields not containing text may be slightly larger than needed, but we
consider that this (rarer) case is less important.
Also account correctly for the status bar grip size. And while we still hard
code its size, do it in a clearly named function instead of using completely
mysterious constants here and there.
Closes#10696.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Calls to SetStatusText() in between Push/PopStatusText() were simply lost
before, now the text explicitly changed by SetStatusText() is preserved by the
next call to PopStatusText().
This required adding a new virtual method, called DoUpdateStatusText(), which
is now implemented in all the derived classes instead of overriding
SetStatusText() (on the bright side, it doesn't need to do any checks already
done in the base class any more).
Also fix PushStatusText() to actually show the text being pushed at all under
wxMSW as a side effect.
And further reduce code duplication between wxStatusBarBase and the derived
classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775