Merge branch 'master' into web-request

Merge with the latest master in preparation for merging into master.

Rebake to resolve conflicts in generated files.
This commit is contained in:
Vadim Zeitlin
2020-12-12 17:44:45 +01:00
3934 changed files with 147571 additions and 96246 deletions

View File

@@ -126,7 +126,7 @@ Controls that are not static can have wxValidator associated with them.
mode
@li wxNotebook: A notebook class
@li wxOwnerDrawnComboBox: A combobox with owner-drawn list items
@li wxPropertyGrid: A complex control to display hierachical, editable information
@li wxPropertyGrid: A complex control to display hierarchical, editable information
@li wxRadioBox: A group of radio buttons
@li wxRadioButton: A round button to be used with others in a mutually
exclusive way
@@ -667,6 +667,7 @@ Related overview: @ref overview_file
@li wxFile: Low-level file input/output class.
@li wxFFile: Another low-level file input/output class.
@li wxTempFile: Class to safely replace an existing file
@li wxTempFFile: Another class to safely replace an existing file
@li wxTextFile: Class for working with text files as with arrays of lines
@li wxStandardPaths: Paths for standard directories
@li wxPathList: A class to help search multiple paths
@@ -702,6 +703,7 @@ Related overview: @ref overview_stream
@li wxFFileInputStream: Another file input stream class
@li wxFFileOutputStream: Another file output stream class
@li wxTempFileOutputStream: Stream to safely replace an existing file
@li wxTempFFileOutputStream: Another stream to safely replace an existing file
@li wxStringInputStream: String input stream class
@li wxStringOutputStream: String output stream class
@li wxLZMAInputStream: LZMA decompression stream class

View File

@@ -39,9 +39,9 @@ Notice that for compatibility reasons, this symbol is defined for console
applications under Windows as well, but it should only be used in the GUI code
while <tt>__WINDOWS__</tt> should be used for the platform tests.}
@itemdef{__WXOSX__, OS X GUI using any Apple widget framework (AppKit or UIKit)}
@itemdef{__WXOSX_IPHONE__, OS X iPhone (UIKit)}
@itemdef{__WXOSX_COCOA__, OS X using Cocoa (AppKit)}
@itemdef{__WXOSX_MAC__, OS X (Cocoa)}
@itemdef{__WXOSX_IPHONE__, iPhone (UIKit)}
@itemdef{__WXOSX_COCOA__, macOS using Cocoa (AppKit)}
@itemdef{__WXOSX_MAC__, macOS (Cocoa)}
@itemdef{__WXPM__, OS/2 native Presentation Manager (not used any longer).}
@itemdef{__WXSTUBS__, Stubbed version ('template' wxWin implementation)}
@itemdef{__WXXT__, Xt; mutually exclusive with WX_MOTIF, not implemented in wxWidgets 2.x}
@@ -59,7 +59,7 @@ versions: Cocoa for the desktop and a very early iPhone port. To summarize:
<tt>__WXOSX_MAC__</tt>.
@li If you want to test for wxOSX on the iPhone, use
<tt>__WXOSX_IPHONE__</tt>.
@li If you want to test for any port under OS X, including, for
@li If you want to test for any port under macOS, including, for
example, wxGTK and also wxBase, use <tt>__DARWIN__</tt> (see below).
The convention is to use the <tt>__WX</tt> prefix for these
@@ -120,7 +120,7 @@ compiler used.
@beginDefList
@itemdef{__BORLANDC__, Borland C++. The value of the macro corresponds
to the compiler version: 500 is 5.0.}
to the compiler version: 500 is 5.0 (not used any more).}
@itemdef{__DIGITALMARS__, Digital Mars (not used any more).}
@itemdef{__GNUG__, Gnu C++ on any platform, see also wxCHECK_GCC_VERSION}
@itemdef{__GNUWIN32__, Gnu-Win32 compiler, see also wxCHECK_W32API_VERSION}
@@ -171,6 +171,8 @@ Currently the following symbols exist:
wxBitmapToggleButton class is available in addition to wxToggleButton.}
@itemdef{wxHAS_CONFIG_TEMPLATE_RW, Defined if the currently used compiler
supports template Read() and Write() methods in wxConfig.}
@itemdef{wxHAS_MEMBER_DEFAULT, Defined if the currently used compiler supports
C++11 @c =default.}
@itemdef{wxHAS_LARGE_FILES, Defined if wxFile supports files more than 4GB in
size (notice that you must include @c wx/filefn.h before testing for this
symbol).}
@@ -185,7 +187,11 @@ Currently the following symbols exist:
decide whether some function should be overloaded for both
<code>long</code> and <code>long long</code> types.}
@itemdef{wxHAS_MULTIPLE_FILEDLG_FILTERS, Defined if wxFileDialog supports multiple ('|'-separated) filters.}
@itemdef{wxHAS_NATIVE_ANIMATIONCTRL, Defined if native wxAnimationCtrl class is being used (this symbol only exists in wxWidgets 3.1.4 and later).}
@itemdef{wxHAS_NATIVE_DATAVIEWCTRL, Defined if native wxDataViewCtrl class is being used (this symbol only exists in wxWidgets 3.1.4 and later).}
@itemdef{wxHAS_NATIVE_WINDOW, Defined if wxNativeWindow class is available.}
@itemdef{wxHAS_NOEXCEPT, Defined if the currently used compiler supports C++11 @c noexcept. @c wxNOEXCEPT is defined as this keyword in this case, and as nothing otherwise.}
@itemdef{wxHAS_NULLPTR_T, Defined if the currently used compiler supports C++11 @c nullptr.}
@itemdef{wxHAS_IMAGES_IN_RESOURCES, Defined if <a href="http://en.wikipedia.org/wiki/Resource_(Windows)">
Windows resource files</a> or OS/2 resource files are available on the current platform.}
@itemdef{wxHAS_POWER_EVENTS, Defined if wxPowerEvent are ever generated on the current platform.}
@@ -208,16 +214,47 @@ Currently the following symbols exist:
@section page_cppconst_msvc_setup_h Library Selection for MSVC
@section page_cppconst_msvc_setup_h MSVC-specific Symbols
Microsoft Visual C++ users may use the special @c wx/setup.h file for this
compiler in @c include/msvc subdirectory. This file implicitly links in all the
wxWidgets libraries using MSVC-specific pragmas which usually is much more
convenient than manually specifying the libraries list in all of the project
configurations. However sometimes linking with all the libraries is not
desirable, for example because some of them were not built and this is where
the symbols in this section can be helpful: defining them allows to not link
with the corresponding library. The following symbols are honoured:
configurations.
By default, the pragmas used in this file to actually link with wxWidgets
libraries suppose that the libraries are located in @c vc_lib or @c vc_dll
directory which is used by default. However when using multiple MSVC versions,
or when using the @ref plat_msw_binaries "official binaries", the libraries are
in a directory containing the compiler version number, e.g. @c vc140_dll. To
make linking work in this case, you must predefine @c wxMSVC_VERSION as @c
vc140 <em>before</em> include @c wx/setup.h file, i.e. typically in the MSVS
project options. Alternatively, you can predefine @c wxMSVC_VERSION_AUTO symbol
(without any value), which means that the appropriate compiler version should
be used automatically, e.g. "vc100" for VC 10 (MSVS 2010), "vc140" for VC 14
(MSVS 2015) etc. Additionally, VC 14 is a special case as it has 3 minor
versions: VC 14.0, 14.1 and 14.2, corresponding to MSVS 2015, 2017 and 2019;
that are ABI-compatible with each other. Due to this, it can also be useful to
reuse the single build of wxWidgets with all versions of the compiler and this
is supported if @c wxMSVC_VERSION_ABI_COMPAT is defined: the compiler prefix
"vc14x" is used in this case.
If the makefiles have been used to build the libraries from source and the @c CFG
variable has been set to specify a different output path for that particular
configuration of build then the @c wxCFG preprocessor symbol should be set in
the project that uses wxWidgets to the same value as the @c CFG variable in
order for the correct @c wx/setup.h file to automatically be included for that
configuration.
@subsection page_cppconst_msvc_setup_h_no_libs Library Selection for MSVC
As explained above, MSVC users don't need to explicitly specify wxWidgets
libraries to link with, as this is done by @c wx/setup.h. However sometimes
linking with all the libraries, as is done by default, is not desirable, for
example because some of them were not built and this is where the symbols in
this section can be helpful: defining them allows to not link with the
corresponding library. The following symbols are honoured:
- wxNO_AUI_LIB
- wxNO_HTML_LIB
@@ -238,13 +275,6 @@ with the corresponding library. The following symbols are honoured:
Notice that the base library is always included and the core is always included
for the GUI applications (i.e. those which don't define @c wxUSE_GUI as 0).
If the makefiles have been used to build the libraries from source and the @c CFG
variable has been set to specify a different output path for that particular
configuration of build then the @c wxCFG preprocessor symbol should be set in
the project that uses wxWidgets to the same value as the @c CFG variable in
order for the correct @c wx/setup.h file to automatically be included for that
configuration.
@section page_cppconst_compatibility Compatibility Macros
@@ -345,6 +375,11 @@ more details.
set to 1 for compatibility reasons as @c -DwxNO_UNSAFE_WXSTRING_CONV
can be used only compiling the application code, without rebuilding the
library. Support for this option appeared in wxWidgets 3.1.1.}
@itemdef{wxNO_IMPLICIT_WXSTRING_ENCODING,
this symbol is not defined by wxWidgets itself, but can be defined by
the applications using the library to disable implicit
conversions from and to <tt>const char*</tt> in wxString class.
Support for this option appeared in wxWidgets 3.1.4.}
@itemdef{WXMAKINGDLL_XXX,
used internally and defined when building the
library @c XXX as a DLL; when a monolithic wxWidgets build is used only a

View File

@@ -29,7 +29,7 @@ identifiers are all in the range between @c wxID_LOWEST and
@c wxID_HIGHEST and, accordingly, the user code should avoid defining its
own constants in this range (e.g. by using wxNewId()).
Refer to @ref page_stockitems "the list of stock items" for the subset of standard IDs
Refer to @ref page_stockitems "the list of stock items" for the subset of standard IDs
which are stock IDs as well.
*/

View File

@@ -35,11 +35,11 @@ library:
@itemdef{wxUSE_STD_IOSTREAM, Standard C++ classes are used instead of or in
addition to wx stream classes.}
@itemdef{wxUSE_UNICODE, Compiled with Unicode support (default in wxWidgets
3.0, non-Unicode build will be deprecated in the future).}
3.0, non-Unicode build is deprecated and will be removed in the future).}
@itemdef{wxUSE_UNICODE_WCHAR, wxString uses wchar_t buffer for internal storage
(default under MSW).}
@itemdef{wxUSE_UNICODE_UTF8, wxString uses UTF-8 for internal storage (default
under Unix and Mac systems).}
(default).}
@itemdef{wxUSE_UNICODE_UTF8, wxString uses UTF-8 for internal storage (mostly
useful for wxGTK where UTF-8 is used by the underlying toolkit).}
@itemdef{wxUSE_UTF8_LOCALE_ONLY, Library supports running only under UTF-8 (and
C) locale. This eliminates the code necessary for conversions from the
other locales and reduces the library size; useful for embedded systems.}
@@ -146,7 +146,6 @@ library:
@itemdef{wxUSE_IMAGE, Use wxImage and related classes.}
@itemdef{wxUSE_IMAGLIST, Use wxImageList class.}
@itemdef{wxUSE_INTL, Use wxLocale and related classes.}
@itemdef{wxUSE_IOSTREAMH, Use header "iostream.h" instead of "iostream".}
@itemdef{wxUSE_IPC, Use interprocess communication classes.}
@itemdef{wxUSE_IPV6, Use experimental wxIPV6address and related classes.}
@itemdef{wxUSE_JOYSTICK, Use wxJoystick class.}
@@ -170,12 +169,14 @@ library:
@itemdef{wxUSE_MDI_ARCHITECTURE, Use MDI-based document-view classes.}
@itemdef{wxUSE_MEDIACTRL, Use wxMediaCtrl.}
@itemdef{wxUSE_MEMORY_TRACING, Use wxWidgets memory leak detection, not recommended if using another memory debugging tool.}
@itemdef{wxUSE_MENUS, Use wxMenu and related classes.}
@itemdef{wxUSE_MENUS, Use wxMenu and wxMenuItem.}
@itemdef{wxUSE_MENUBAR, Use wxMenubar.}
@itemdef{wxUSE_METAFILE, Use wxMetaFile and related classes.}
@itemdef{wxUSE_MIMETYPE, Use wxFileType class.}
@itemdef{wxUSE_MINIFRAME, Use wxMiniFrame class.}
@itemdef{wxUSE_MOUSEWHEEL, Support mouse wheel events.}
@itemdef{wxUSE_MSGDLG, Use wxMessageDialog class and wxMessageBox function.}
@itemdef{wxUSE_NATIVE_DATAVIEWCTRL, Use native wxDataViewCtrl class (this option is new since wxWidgets 3.1.4).}
@itemdef{wxUSE_NATIVE_STATUSBAR, Use native wxStatusBar class.}
@itemdef{wxUSE_NOTEBOOK, Use wxNotebook and related classes.}
@itemdef{wxUSE_NUMBERDLG, Use wxNumberEntryDialog class.}
@@ -319,12 +320,13 @@ library:
@itemdef{wxUSE_ACCESSIBILITY, Enable accessibility support}
@itemdef{wxUSE_ACTIVEX, Use wxActiveXContainer and related classes.}
@itemdef{wxUSE_COMBOCTRL_POPUP_ANIMATION, See wx/msw/combo.h file.}
@itemdef{wxUSE_COMCTL32_SAFELY, See src/msw/treectrl.cpp file.}
@itemdef{wxUSE_COMMON_DIALOGS, Enable use of windows common dialogs from header commdlg.h; example PRINTDLG.}
@itemdef{wxUSE_CRASHREPORT, Use wxCrashReport class.}
@itemdef{wxUSE_DATEPICKCTRL_GENERIC, Use generic wxDatePickerCtrl implementation in addition to the native one.}
@itemdef{wxUSE_DC_CACHEING, cache temporary wxDC objects.}
@itemdef{wxUSE_DDE_FOR_IPC, See wx/ipc.h file.}
@itemdef{wxUSE_DPI_AWARE_MANIFEST, Set the DPI awareness of the application
(0=none, 1=system, 2=per-monitor. Used by CMake and when wxUSE_RC_MANIFEST is enabled.}
@itemdef{wxUSE_ENH_METAFILE, Use wxEnhMetaFile.}
@itemdef{wxUSE_HOTKEY, Use wxWindow::RegisterHotKey() and wxWindow::UnregisterHotKey}
@itemdef{wxUSE_INKEDIT, Use InkEdit library. Related to Tablet PCs.}
@@ -349,6 +351,9 @@ compilers. See also wxUSE_NO_MANIFEST.}
@itemdef{wxUSE_WIN_METAFILES_ALWAYS, Use wxMetaFile even when wxUSE_ENH_METAFILE=1.}
@itemdef{wxUSE_WINRT, Enable WinRT support.}
@itemdef{wxUSE_WXDIB, Use wxDIB class.}
@itemdef{wxUSE_WINSOCK2, Include @c <winsock2.h> instead of @c <winsock.h>.
Turned on automatically if wxUSE_IPV6 is on (this option is new since
wxWidgets 3.1.3).}
@endDefList

View File

@@ -11,7 +11,7 @@
@section section_copyright wxWidgets Copyrights and Licenses
Copyright (c) 1992-2018 Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert
Copyright (c) 1992-2020 Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert
Roebling, and other members of the wxWidgets team, please see the
acknowledgements section below.
@@ -103,7 +103,7 @@ without express or implied warranty.
@verbinclude "lgpl.txt"
@page page_copyright_xserver The Open Group and DEC License
@verbinclude "xserver.txt"
*/

View File

@@ -28,10 +28,6 @@ following section before any other includes:
// For compilers that support precompilation, includes "wx.h".
#include <wx/wxprec.h>
#ifdef __BORLANDC__
# pragma hdrstop
#endif
#ifndef WX_PRECOMP
// Include your minimal set of headers here, or wx.h
# include <wx/wx.h>
@@ -44,8 +40,8 @@ The file @c "wx/wxprec.h" includes @c "wx/wx.h". Although this incantation may
seem quirky, it is in fact the end result of a lot of experimentation, and
several Windows compilers to use precompilation which is largely automatic for
compilers with necessary support. Currently it is used for Visual C++
(including embedded Visual C++), Borland C++ and newer versions of GCC. Some
compilers might need extra work from the application developer to set the build
(including embedded Visual C++) and newer versions of GCC. Some compilers
might need extra work from the application developer to set the build
environment up as necessary for the support.
@@ -110,11 +106,10 @@ and this must not be changed.
On Microsoft Windows, wxWidgets has a different set of makefiles for each
compiler, because each compiler's @c 'make' tool is slightly different. Popular
Windows compilers that we cater for, and the corresponding makefile extensions,
include: Microsoft Visual C++ (.vc), Borland C++ (.bcc) and MinGW/Cygwin
(.gcc). Makefiles are provided for the wxWidgets library itself, samples,
demos, and utilities.
include: Microsoft Visual C++ (.vc) and MinGW/Cygwin (.gcc). Makefiles are
provided for the wxWidgets library itself, samples, demos, and utilities.
On Linux and OS X, you use the @c 'configure' command to generate the
On Linux and macOS, you use the @c 'configure' command to generate the
necessary makefiles. You should also use this method when building with
MinGW/Cygwin on Windows.
@@ -127,7 +122,7 @@ On Windows using a compiler other than MinGW/Cygwin, you would build the
wxWidgets library from the @c "build/msw" directory which contains the relevant
makefiles.
On Windows using MinGW/Cygwin, and on Unix and OS X, you invoke
On Windows using MinGW/Cygwin, and on Unix and macOS, you invoke
'configure' (found in the top-level of the wxWidgets source hierarchy), from
within a suitable empty directory for containing makefiles, object files and
libraries.
@@ -136,7 +131,7 @@ For details on using makefiles, configure, and project files, please see
@c "docs/xxx/install.txt" in your distribution, where @c "xxx" is the platform
of interest, such as @c msw, @c gtk, @c x11, @c mac.
All wxWidgets makefiles are generated using Bakefile <http://www.bakefile.org/>.
All wxWidgets makefiles are generated using Bakefile <https://www.bakefile.org/>.
wxWidgets also provides (in the @c "build/bakefiles/wxpresets" folder) the
wxWidgets bakefile presets. These files allow you to create bakefiles for your
own wxWidgets-based applications very easily.
@@ -259,7 +254,7 @@ its own run-time type information system, implemented using macros.
@subsection page_multiplatform_cpp_precompiledheaders Precompiled Headers
Some compilers, such as Borland C++ and Microsoft C++, support precompiled
Some compilers, such as Microsoft C++, support precompiled
headers. This can save a great deal of compiling time. The recommended approach
is to precompile @c "wx.h", using this precompiled header for compiling both
wxWidgets itself and any wxWidgets applications. For Windows compilers, two

View File

@@ -41,8 +41,9 @@ Compared to the other similar libraries, wxWidgets is:
3. Open source and free for use in both open source and commercial projects.
wxWidgets provides a simple, easy to learn, yet very rich API. It is also
mature and stable, and the applications written using wxWidgets 2.0
wxWidgets provides a simple, easy to learn, yet very rich API, while also
proposing a simple way to define application UI in the external XML files.
It is also mature and stable, and the applications written using wxWidgets 2.0
pre-releases almost 20 years ago can still be built today with wxWidgets 3
almost unchanged. wxWidgets has a large, active and friendly community of
people, including both the users and developers of the library. It is also
@@ -59,7 +60,7 @@ paragraphs, but here are some of the benefits:
@li Extensive documentation (almost 200,000 lines of it).
@li Straightforward API.
@li Simple but powerful layout system.
@li Run-time loadable or compile-time embeddable resources.
@li Run-time loadable or compile-time embeddable resources for UI definition.
@li Flexible event system.
@li All the usual and quite a few of more rare GUI controls.
@li And also all the standard dialogs.
@@ -79,7 +80,7 @@ wxWidgets first-tier "ports", ie implementations of wxWidgets API, are:
@li wxMSW: This is the native port for Microsoft Windows systems (from Windows
XP up to Windows 10), either 32 or 64 bits. The primarily supported compilers
are Microsoft Visual C++ (versions 2003 up to 2017 are supported, at least 2005
are Microsoft Visual C++ (versions 2003 up to 2019 are supported, at least 2005
is recommended) and GNU g++ (either from the traditional MinGW, TDM-GCC or
MinGW-w64 distributions).
@@ -90,12 +91,12 @@ NetBSD, Solaris, AIX, ...) and require GTK+ 2.6 or later or GTK+ 3.x. The
primary supported compiler is GNU g++.
@li wxOSX/Cocoa: This is the native port for Apple computers. wxOSX/Cocoa
supports 32 or 64 bit Intel Macs running OS X 10.7 or later. The port can be
supports 32 or 64 bit Intel Macs running macOS 10.10 or later. The port can be
built either with g++ or clang.
Other platforms (e.g. iOS - with a minimum requirement of iOS 9), compilers (Borland C++
under Windows, Sun CC, HP-UX aCC, IBM xlC or SGI mipsPro under Unix) and ports (
wxQT, wxGTK1, wxX11, wxDFB...) are also supported but to a lesser extent.
Other platforms (e.g. iOS - with a minimum requirement of iOS 13), compilers
(Sun CC, HP-UX aCC, IBM xlC or SGI mipsPro under Unix) and ports (wxQT, wxGTK1,
wxX11, wxDFB...) are also supported but to a lesser extent.
Please see the @subpage page_port "platform details page" for more information.
There are no CPU speed requirements but the faster (and more) CPU(s) you have,
@@ -110,13 +111,12 @@ configurations but at least 1GB and possibly more is required.
@section page_introduction_where Where to get wxWidgets and support for it
The download links can be found at https://www.wxwidgets.org. The primary
download location is https://github.com/wxWidgets/wxWidgets/releases/latest.
The download links can be found at https://www.wxwidgets.org/downloads/.
Additionally, the latest version can always be retrieved from our version
control system using Git (https://github.com/wxWidgets/wxWidgets).
wxWidgets documentation that you are reading is also available online at
https://docs.wxwidgets.org/trunk/ and please also visit our wiki at
The latest version of wxWidgets documentation that you are reading is available
online at https://docs.wxwidgets.org/trunk/ and please also see
https://wiki.wxwidgets.org/ for user-contributed contents.
And if you have any questions, you can join wxWidgets community using

View File

@@ -14,7 +14,7 @@
@author Julian Smart, Vadim Zeitlin, Robin Dunn, Stefan Csomor,
Bryan Petty, Francesco Montorsi, Robert Roebling et al
@date December 10, 2018
@date July 22, 2020
Welcome to wxWidgets, a stable and powerful open source framework for
developing native cross-platform GUI applications in C++!

View File

@@ -23,45 +23,36 @@ platforms and ports.
@section page_port_wxgtk wxGTK
wxGTK is a port of wxWidgets using the GTK+ library. It makes use of GTK+'s
wxGTK is a port of wxWidgets using the GTK library. It makes use of GTK's
native widgets wherever possible and uses wxWidgets' generic controls when
needed. GTK+ itself has been ported to a number of systems, but so far only the
original X11 version is supported. Support for other GTK+ backends is planned,
such as the new DirectFB backend.
needed.
All work is being done on GTK+ version 2.0 and above. Support for GTK+ 1.2 will
be deprecated in a later release.
You will need GTK 2.6 or higher which is available from:
You will need GTK+ 2.6 or higher which is available from:
https://www.gtk.org
http://www.gtk.org
The newer version of GTK+ you use, the more native widgets and features will be
The newer version of GTK you use, the more native widgets and features will be
utilized. We have gone to great lengths to allow compiling wxWidgets
applications with the latest version of GTK+, with the resulting binary working
on systems even with a much earlier version of GTK+. You will have to ensure
applications with the latest version of GTK, with the resulting binary working
on systems even with a much earlier version of GTK. You will have to ensure
that the application is launched with lazy symbol binding for that.
In order to configure wxWidgets to compile wxGTK you will need use the
In order to configure wxWidgets to compile wxGTK you will need to use the
@c \--with-gtk argument to the @c configure script. This is the default for many
systems.
GTK+ 1.2 can still be used, albeit discouraged. For that you can pass
@c \--with-gtk=1 to the @c configure script.
Support for GTK+ 3 is available starting with wxWidgets 2.9.4, use @c configure
option @c \--with-gtk=3 to enable it.
GTK 3 is the default starting with wxWidgets 3.1.4.
Use @c configure option @c \--with-gtk=2 to use GTK 2.
@subpage plat_gtk_install "Build and Install Instructions"
@subpage plat_gtk_overview "wxWidgets on the GNOME Desktop"
@section page_port_wxosx wxOSX/Cocoa
wxOSX/Cocoa is the port of wxWidgets for the OS X platform. It requires
OS X 10.7 or later and fully supports 64 bit builds.
wxOSX/Cocoa is the port of wxWidgets for the macOS platform. It requires
a minimum SDK 10.11, Xcode 7.2.1 or greater (runs under 10.10.5 and higher),
and fully supports amd64 as well ARM builds and deploying under 10.10.
@subpage plat_osx_install "Build and Install Instructions"
@@ -82,16 +73,12 @@ In order to configure wxWidgets to compile wxX11 you will need to type:
@subpage plat_x11_install "Build Instructions"
There is also a page on the use of wxWidgets for embedded
applications on the wxWidgets web site.
@section page_port_wxmotif wxMotif
wxMotif is a port of wxWidgets for X11 systems using Motif libraries. Motif
libraries provide a clean and fast user interface at the expense of the beauty
and candy of newer interfaces like GTK.
wxMotif is a port of wxWidgets for X11 systems using Motif libraries.
It is no longer actively maintained and by now rather obsolete.
@subpage plat_motif_install "Build Instructions"
@@ -102,9 +89,9 @@ and candy of newer interfaces like GTK.
wxMSW is a port of wxWidgets for the Windows platforms (Windows XP and later
are supported). wxMSW provides native look and feel for each Windows version.
This port can be compiled with several compilers including Microsoft Studio
VC++ 2003 or later, Borland 5.5, MinGW32, Cygwin as well as cross-compilation
with a Linux-hosted MinGW32 tool chain.
This port can be compiled with several compilers including Microsoft
VC++ 2003 or later, MinGW, Cygwin as well as cross-compilation with a
Linux-hosted MinGW tool chain.
@subpage plat_msw_install "Build and Install Instructions"
@@ -127,45 +114,6 @@ avoid this, ensure that the icon which is meant to be used as the main
application icon has a name preceding "wxICON" in alphabetical order.
@subsection page_port_wxmsw_themedborders Themed Borders
Starting with wxWidgets 2.8.5, you can specify the @c wxBORDER_THEME style to
have wxWidgets use a themed border. Using the default XP theme, this is a thin
1-pixel blue border, with an extra 1-pixel border in the window client
background colour (usually white) to separate the client area's scrollbars from
the border.
If you don't specify a border style for a wxTextCtrl in rich edit mode,
wxWidgets now gives the control themed borders automatically, where previously
they would take the sunken border style. Other native controls such
as wxTextCtrl in non-rich edit mode, and wxComboBox already paint themed
borders where appropriate. To use themed borders on other windows, such as
wxPanel, pass the @c wxBORDER_THEME style, or (apart from wxPanel) pass no
border style.
In general, specifying @c wxBORDER_THEME will cause a border of some kind to be
used, chosen by the platform and control class. To leave the border decision
entirely to wxWidgets, pass @c wxBORDER_DEFAULT. This is not to be confused
with specifying @c wxBORDER_NONE, which says that there should definitely be
@e no border.
@subsubsection page_port_wxmsw_themedborders_details Internal Border Implementation
The way that wxMSW decides whether to apply a themed border is as follows. The
theming code calls wxWindow::GetBorder() to obtain a border. If no border style
has been passed to the window constructor, GetBorder() calls GetDefaultBorder()
for this window. If wxBORDER_THEME was passed to the window constructor,
GetBorder() calls GetDefaultBorderForControl().
The implementation of wxWindow::GetDefaultBorder() on wxMSW calls
wxWindow::CanApplyThemeBorder() which is a virtual function that tells
wxWidgets whether a control can have a theme applied explicitly (some native
controls already paint a theme in which case we should not apply it ourselves).
Note that wxPanel is an exception to this rule because in many cases we wish to
create a window with no border (for example, notebook pages). So wxPanel
overrides GetDefaultBorder() in order to call the generic
wxWindowBase::GetDefaultBorder(), returning wxBORDER_NONE.
@section page_port_wxQt wxQt
wxQt is a port of wxWidgets using Qt libraries. It requires Qt 5 or later.
@@ -189,13 +137,13 @@ used by wxWidgets to e.g. use toolkit-specific features.
In such case (or when you want to e.g. write a port-specific patch) it can be
necessary to use the underlying toolkit API directly:
- wxMSW port uses win32 API: see MSDN docs at http://msdn2.microsoft.com/en-us/library/ms649779.aspx
- wxGTK port uses GTK+ and other lower-level libraries; see
- GTK+ docs at http://library.gnome.org/devel/gtk/unstable/
- GDK docs at http://library.gnome.org/devel/gdk/unstable/
- GLib docs at http://library.gnome.org/devel/glib/unstable/
- GObject docs at http://library.gnome.org/devel/gobject/unstable/
- Pango docs at http://library.gnome.org/devel/pango/unstable/
- wxOSX port uses the Cocoa API: see Cocoa docs at http://developer.apple.com/cocoa
- wxMSW port uses Win32 API: see MSDN docs at https://docs.microsoft.com/en-us/windows/win32/controls/window-controls
- wxGTK port uses GTK and other lower-level libraries; see
- GTK docs at https://developer.gnome.org/gtk/
- GDK docs at https://library.gnome.org/devel/gdk/
- GLib docs at https://library.gnome.org/devel/glib/
- GObject docs at https://library.gnome.org/devel/gobject/
- Pango docs at https://library.gnome.org/devel/pango/
- wxOSX port uses the Cocoa API: see Cocoa docs at https://developer.apple.com/cocoa
*/

View File

@@ -307,23 +307,6 @@ wxProcess::Exists().
@sampledir{exec}
@section page_samples_flash Flash Sample
The flash sample demonstrates embedding of Adobe Flash into a wxWidgets
program. Currently it only works under Windows as it uses the Flash ActiveX
control to achieve this but we hope to be able to extend it to also work under
other platforms in the future. The sample also currently requires Microsoft
Visual C++ compiler as it uses COM support extensions specific to this
compiler.
The sample comes with 2 Flash files (SWF), showing a simple Flash animation
which can be controlled using the "Play", "Stop" and "Back"/"Forward" buttons
in the sample as well as a Flash form which shows how Flash and wxWidgets
program can exchange data: calling "GetText" function without arguments returns
the text of the text control defined inside Flash and calling "SetText" with an
argument sets the control contents to the given string. Finally clicking on the
button generates an event which is caught by the C++ program.
@section page_samples_font Font Sample
The font sample demonstrates wxFont,
@@ -669,7 +652,7 @@ first argument of @c save, @c load or @c delete, followed by the "service" and
"user" arguments as used by wxSecretStore methods. After storing some password,
you can check that it can be retrieved later and also that it can be seen in
the OS-provided password manager (e.g. credential manager under MSW or keychain
utility under OS X).
utility under macOS).
@sampledir{secretstore}
@@ -914,7 +897,7 @@ control.
The wxWebView sample demonstarates the various capabilities of the wxWebView
control. It is set up as a simple single window web browser, but with support
for many of the more complex wxWebView features, including browsing through
for many of the more complex wxWebView features, including browsing through
archives.
@sampledir{webview}

View File

@@ -99,5 +99,6 @@ topics related to building applications with wxWidgets.
@li @subpage overview_windowdeletion
@li @subpage overview_envvars
@li @subpage overview_customwidgets
@li @subpage overview_high_dpi
*/

View File

@@ -466,11 +466,6 @@ Here are the steps you should follow:
-# Send the finished translation to <a href="mailto:vadim@wxwidgets.org">Vadim Zeitlin</a>
and it will be added to the next wxWidgets release or snapshot.
In addition, please consider subscribing to the very low volume
<a href="https://www.wxwidgets.org/support/mailing-lists/">
wxWidgets translators mailing list</a> on which the news especially important
for the translators are announced.
Thank you in advance for your help!
*/

View File

@@ -13,7 +13,7 @@
In addition to the wxWidgets libraries (see @ref page_libs), some utilities
are available to the users in the @c utils hierarchy (even if some of them are
explicitly conceived for wxWidgets maintainance and will probably be of
explicitly conceived for wxWidgets maintenance and will probably be of
little use to others).
Please note that these utilities only represent the utilities developed and