Vadim Zeitlin 0736bdfb28 Prevent constant size changes in native MSW wxProgressDialog
MSW implementation of wxProgressDialog adjusted the dialog size to the
size of the message shown in it on each update, resulting in visually
unpleasant constant jumping around (this is the same problem that we
used to have in wxGenericProgressDialog long time ago, see #10624).

Minimize this by using TDM_UPDATE_ELEMENT_TEXT instead of
TDM_SET_ELEMENT_TEXT for changing the element text. This still increases
the dialog size if the new element text is longer than the old value,
but at least doesn't shrink it back if it is shorter, which is already
quite an improvement.

Notice that this change requires using TDF_EXPAND_FOOTER_AREA style, as
otherwise the expanded information can't be updated without a re-layout.
But this doesn't seem to be a big loss and it's not really clear why did
we explicitly clear this flag before anyhow.

Update the dialogs sample to make it easy to test for this behaviour and
the documentation to mention MSW version peculiarities.
2017-11-16 01:35:48 +01:00
2017-07-04 13:15:14 -06:00
2015-06-03 17:17:38 +02:00
2017-11-07 13:03:37 +01:00
2017-07-04 13:15:14 -06:00
2017-07-04 13:15:14 -06:00

About

wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.

wxWidgets Logo

wxWidgets allows you to write native-looking GUI applications for all the major desktop platforms and also helps with abstracting the differences in the non-GUI aspects between them. It is free for the use in both open source and commercial applications, comes with the full, easy to read and modify, source and extensive documentation and a collection of more than a hundred examples. You can learn more about wxWidgets at https://www.wxwidgets.org/ and read its documentation online at http://docs.wxwidgets.org/

Platforms

AppVeyor Travis

wxWidgets currently supports the following primary platforms:

  • Windows XP, Vista, 7, 8 and 10 (32/64 bits).
  • Most Unix variants using the GTK+ toolkit (version 2.6 or newer or 3.x).
  • OS X (10.7 or newer) using Cocoa (32/64 bits).

Most popular C++ compilers are supported including but not limited to:

  • Microsoft Visual C++ 2003 or later (up to 2017).
  • g++ 3.4 or later, including MinGW/MinGW-64/TDM under Windows.
  • Clang under OS X and Linux.
  • Intel icc compiler.
  • Oracle (ex-Sun) aCC.

Licence

wxWidgets licence is a modified version of LGPL explicitly allowing not distributing the sources of an application using the library even in the case of static linking.

Further information

If you are looking for support, you can get it from

We would also gladly welcome your contributions.

Have fun!

The wxWidgets Team.

Description
Cross-Platform GUI Library - forked from https://github.com/wxWidgets/wxWidgets
Readme 350 MiB
Languages
C++ 73.7%
Objective-C 11.5%
C 4.6%
Makefile 4.5%
Objective-C++ 1.9%
Other 3.6%