Fixed docs footer to bottom, and fixed up TOC on all main pages, and some overviews.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Bryan Petty 2012-11-03 18:29:28 +00:00
parent 6d6de9f10f
commit e7054054f0
38 changed files with 518 additions and 759 deletions

View File

@ -10,7 +10,6 @@
</div> </div>
<!--END GENERATE_TREEVIEW--> <!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW--> <!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/>
<address class="footer"> <address class="footer">
<small> <small>
$generatedby <a href="http://www.doxygen.org/index.html" target="_new">Doxygen</a> $doxygenversion $generatedby <a href="http://www.doxygen.org/index.html" target="_new">Doxygen</a> $doxygenversion
@ -20,5 +19,6 @@
<script src="wxwidgets.js" type="text/javascript"></script> <script src="wxwidgets.js" type="text/javascript"></script>
</div><!-- #page_container -->
</body> </body>
</html> </html>

View File

@ -15,6 +15,7 @@ $mathjax
$extrastylesheet $extrastylesheet
</head> </head>
<body> <body>
<div id="page_container">
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!--BEGIN TITLEAREA--> <!--BEGIN TITLEAREA-->

View File

@ -1,5 +1,25 @@
/* wxWidgets Custom Styles */ /* wxWidgets Custom Styles */
html, body {
margin: 0;
padding: 0;
height: 100%;
}
#page_container {
position: relative;
margin: 0;
padding: 0;
height: auto !important;
height: 100%;
min-height: 100%;
}
div.contents {
margin-right: 12px;
padding-bottom: 70px;
}
#projectlogo { #projectlogo {
text-align: left; text-align: left;
padding: 0.5em; padding: 0.5em;
@ -38,11 +58,26 @@ h4 {
margin-top: 0.5em; margin-top: 0.5em;
} }
div.toc h3 {
font-size: 14px;
}
div.toc li {
font-size: 12px;
line-height: 1.3;
padding-left: 14px;
}
img.logo { img.logo {
float: right; float: right;
margin: 20px; margin: 20px;
} }
div.logo {
float: right;
margin: 20px;
}
div.appearance { div.appearance {
margin: 1em 0em; margin: 1em 0em;
} }
@ -105,9 +140,18 @@ code {
color: #444444; color: #444444;
} }
hr.footer {
margin-top: 2em;
}
address.footer { address.footer {
margin: 0.75em; position: absolute;
bottom: 0;
margin: 0;
padding: 10px 0;
width: 100%;
border-top: 1px solid #0043CC;
background-image: url('nav_h.png');
background-repeat: repeat-x;
background-color: #F4F8FF;
}
address.footer small {
padding: 0 10px;
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

View File

@ -10,59 +10,11 @@
@page page_class_cat Summarized Class List by Category @page page_class_cat Summarized Class List by Category
@tableofcontents
This page contains a summarized listing of classes, please see the This page contains a summarized listing of classes, please see the
@ref group_class page for a full listing. @ref group_class page for a full listing.
@beginInvisibleTable
<tr><td>
@li @ref page_class_cat_basicwnd
@li @ref page_class_cat_winlayout
@li @ref page_class_cat_managedwnd
@li @ref page_class_cat_menus
@li @ref page_class_cat_ctrl
@li @ref page_class_cat_validator
@li @ref page_class_cat_pickers
@li @ref page_class_cat_aui
@li @ref page_class_cat_cmndlg
@li @ref page_class_cat_html
@li @ref page_class_cat_miscwnd
</td><td>
@li @ref page_class_cat_dc
@li @ref page_class_cat_gdi
@li @ref page_class_cat_gc
@li @ref page_class_cat_image
@li @ref page_class_cat_events
@li @ref page_class_cat_appmanagement
@li @ref page_class_cat_printing
@li @ref page_class_cat_dvf
@li @ref page_class_cat_dnd
@li @ref page_class_cat_vfs
@li @ref page_class_cat_threading
</td><td>
@li @ref page_class_cat_rtti
@li @ref page_class_cat_debugging
@li @ref page_class_cat_logging
@li @ref page_class_cat_data
@li @ref page_class_cat_conv
@li @ref page_class_cat_containers
@li @ref page_class_cat_smartpointers
@li @ref page_class_cat_file
@li @ref page_class_cat_streams
@li @ref page_class_cat_xml
@li @ref page_class_cat_xrc
</td><td>
@li @ref page_class_cat_net
@li @ref page_class_cat_archive
@li @ref page_class_cat_ipc
@li @ref page_class_cat_help
@li @ref page_class_cat_media
@li @ref page_class_cat_gl
@li @ref page_class_cat_misc
</td></tr>
@endTable
<hr>
@section page_class_cat_basicwnd Basic Windows @section page_class_cat_basicwnd Basic Windows

View File

@ -9,24 +9,16 @@
/** /**
@page page_cppconst Preprocessor symbols defined by wxWidgets @page page_cppconst Preprocessor Symbols
These are preprocessor symbols used in the wxWidgets source, grouped @tableofcontents
by category (and sorted by alphabetical order inside each category).
All of these macros except for the @c wxUSE_XXX variety is defined if the
corresponding condition is @true and undefined if it isn't, so they should be
always tested using @ifdef_ and not @if_.
@li @ref page_cppconst_guisystem These are preprocessor symbols used in the wxWidgets source, grouped by
@li @ref page_cppconst_os category (and sorted by alphabetical order inside each category). All of these
@li @ref page_cppconst_cpu macros except for the @c wxUSE_XXX variety is defined if the corresponding
@li @ref page_cppconst_hardware condition is @true and undefined if it isn't, so they should be always tested
@li @ref page_cppconst_compiler using @ifdef_ and not @if_.
@li @ref page_cppconst_featuretests
@li @ref page_cppconst_msvc_setup_h
@li @ref page_cppconst_miscellaneous
<hr>
@section page_cppconst_guisystem GUI system @section page_cppconst_guisystem GUI system
@ -81,7 +73,8 @@ The convention is to use the @c __WX prefix for these
symbols, although this has not always been followed. symbols, although this has not always been followed.
@section page_cppconst_os Operating systems
@section page_cppconst_os Operating Systems
@beginDefList @beginDefList
@itemdef{__APPLE__, any Mac OS version} @itemdef{__APPLE__, any Mac OS version}
@ -117,7 +110,7 @@ symbols, although this has not always been followed.
@section page_cppconst_cpu Hardware architectures (CPU) @section page_cppconst_cpu Hardware Architectures (CPU)
Note that not all of these symbols are always defined, it depends on the Note that not all of these symbols are always defined, it depends on the
compiler used. compiler used.
@ -131,7 +124,7 @@ compiler used.
@section page_cppconst_hardware Hardware type @section page_cppconst_hardware Hardware Type
@beginDefList @beginDefList
@itemdef{__SMARTPHONE__, Generic mobile devices with phone buttons and a small display} @itemdef{__SMARTPHONE__, Generic mobile devices with phone buttons and a small display}
@ -173,7 +166,7 @@ compiler used.
@section page_cppconst_featuretests Feature tests @section page_cppconst_featuretests Feature Tests
Some library features may not be always available even if they were selected Some library features may not be always available even if they were selected
by the user. To make it possible to check if this is the case, the library by the user. To make it possible to check if this is the case, the library
@ -224,7 +217,7 @@ Currently the following symbols exist:
@section page_cppconst_msvc_setup_h Libraries selection for MSVC setup.h @section page_cppconst_msvc_setup_h Library Selection for MSVC
Microsoft Visual C++ users may use the special @c wx/setup.h file for this 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 compiler in @c include/msvc subdirectory. This file implicitly links in all the
@ -234,6 +227,7 @@ configurations. However sometimes linking with all the libraries is not
desirable, for example because some of them were not built and this is where 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 the symbols in this section can be helpful: defining them allows to not link
with the corresponding library. The following symbols are honoured: with the corresponding library. The following symbols are honoured:
- wxNO_ADV_LIB - wxNO_ADV_LIB
- wxNO_AUI_LIB - wxNO_AUI_LIB
- wxNO_HTML_LIB - wxNO_HTML_LIB

View File

@ -9,7 +9,7 @@
/** /**
@page page_stdevtid Standard event identifiers @page page_stdevtid Standard Event Identifiers
wxWidgets defines a special identifier value @c wxID_ANY which is used in wxWidgets defines a special identifier value @c wxID_ANY which is used in
the following two situations: the following two situations:

View File

@ -9,12 +9,14 @@
/** /**
@page page_stockitems Stock items @page page_stockitems Stock Items
The following is the list of the window IDs for which stock buttons and menu
items are created.
The following is the list of the window IDs for which stock buttons and menu items
are created.
See the wxButton constructor and the wxMenuItem constructor for classes which See the wxButton constructor and the wxMenuItem constructor for classes which
automatically add stock bitmaps when using stock IDs. automatically add stock bitmaps when using stock IDs.
Also note that you can retrieve stock bitmaps using wxArtProvider. Also note that you can retrieve stock bitmaps using wxArtProvider.
@beginDefList @beginDefList
@ -93,7 +95,7 @@ Also note that you can retrieve stock bitmaps using wxArtProvider.
@stock{wxID_ZOOM_OUT,zoom-out,Zoom &Out} @stock{wxID_ZOOM_OUT,zoom-out,Zoom &Out}
@endDefList @endDefList
Note that some of the IDs listed above also have a stock accelerator Note that some of the IDs listed above also have a stock accelerator and an
and an associated help string. associated help string.
*/ */

View File

@ -9,31 +9,20 @@
/** /**
@page page_wxusedef wxUSE preprocessor symbols defined by wxWidgets @page page_wxusedef wxUSE Preprocessor Symbols
@tableofcontents
This section documents the wxUSE preprocessor symbols used in the wxWidgets This section documents the wxUSE preprocessor symbols used in the wxWidgets
source, grouped by category (and sorted by alphabetical order inside each source, grouped by category (and sorted by alphabetical order inside each
category). These symbols are always defined and whether the given feature is category). These symbols are always defined and whether the given feature is
active or not depends on their value: if defined as @c 1, feature is active, active or not depends on their value: if defined as @c 1, feature is active,
otherwise it is disabled. Because of this these symbols should be always tested otherwise it is disabled. Because of this these symbols should always be tested
using @if_ and not @ifdef_. using @if_ and not @ifdef_.
@li @ref page_wxusedef_important
@li @ref page_wxusedef_multi
@li @ref page_wxusedef_unix
@li @ref page_wxusedef_x11
@li @ref page_wxusedef_gtk
@li @ref page_wxusedef_mac
@li @ref page_wxusedef_motif
@li @ref page_wxusedef_cocoa
@li @ref page_wxusedef_os2
@li @ref page_wxusedef_msw
@li @ref page_wxusedef_univ
<hr> @section page_wxusedef_important Most Important Symbols
@section page_wxusedef_important Most important wxUSE symbols
This table summarizes some of the global build features affecting the entire This table summarizes some of the global build features affecting the entire
library: library:
@ -60,7 +49,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_multi Generic wxUSE preprocessor symbols @section page_wxusedef_multi Generic Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_ABOUTDLG, Use wxAboutDialogInfo class.} @itemdef{wxUSE_ABOUTDLG, Use wxAboutDialogInfo class.}
@ -269,7 +258,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_unix wxUSE preprocessor symbols used only under Unix platforms @section page_wxusedef_unix Unix Platform Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_EPOLL_DISPATCHER, Use wxEpollDispatcher class. See also wxUSE_SELECT_DISPATCHER.} @itemdef{wxUSE_EPOLL_DISPATCHER, Use wxEpollDispatcher class. See also wxUSE_SELECT_DISPATCHER.}
@ -281,7 +270,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_x11 wxUSE preprocessor symbols used only in wxX11 Platform @section page_wxusedef_x11 wxX11 Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_NANOX, Use NanoX.} @itemdef{wxUSE_NANOX, Use NanoX.}
@ -289,7 +278,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_gtk wxUSE preprocessor symbols used only in wxGTK port @section page_wxusedef_gtk wxGTK Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_DETECT_SM, Use code to detect X11 session manager.} @itemdef{wxUSE_DETECT_SM, Use code to detect X11 session manager.}
@ -300,7 +289,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_mac wxUSE preprocessor symbols used only in wxMac port @section page_wxusedef_mac wxMac Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_MAC_CRITICAL_REGION_MUTEX, See src/osx/carbon/thread.cpp file.} @itemdef{wxUSE_MAC_CRITICAL_REGION_MUTEX, See src/osx/carbon/thread.cpp file.}
@ -310,7 +299,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_motif wxUSE preprocessor symbols used only in wxMotif port @section page_wxusedef_motif wxMotif Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_GADGETS, Use xmCascadeButtonGadgetClass, xmLabelGadgetClass, xmPushButtonGadgetClass and xmToggleButtonGadgetClass classes.} @itemdef{wxUSE_GADGETS, Use xmCascadeButtonGadgetClass, xmLabelGadgetClass, xmPushButtonGadgetClass and xmToggleButtonGadgetClass classes.}
@ -318,14 +307,14 @@ library:
@endDefList @endDefList
@section page_wxusedef_cocoa wxUSE preprocessor symbols used only in Cocoa port @section page_wxusedef_cocoa Cocoa Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_OBJC_UNIQUIFYING, Enable Objective-C class name uniquifying.} @itemdef{wxUSE_OBJC_UNIQUIFYING, Enable Objective-C class name uniquifying.}
@endDefList @endDefList
@section page_wxusedef_os2 wxUSE preprocessor symbols used only in OS2 port @section page_wxusedef_os2 OS2 Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_CONSOLEDEBUG, See src/os2/app.cpp file.} @itemdef{wxUSE_CONSOLEDEBUG, See src/os2/app.cpp file.}
@ -337,7 +326,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_msw wxUSE preprocessor symbols used only in wxMSW port @section page_wxusedef_msw wxMSW Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_ACCESSIBILITY, Enable accessibility support} @itemdef{wxUSE_ACCESSIBILITY, Enable accessibility support}
@ -373,7 +362,7 @@ library:
@endDefList @endDefList
@section page_wxusedef_univ wxUSE preprocessor symbols used only in wxUniversal @section page_wxusedef_univ wxUniversal Symbols
@beginDefList @beginDefList
@itemdef{wxUSE_ALL_THEMES, Use all themes in wxUniversal; See wx/univ/theme.h file.} @itemdef{wxUSE_ALL_THEMES, Use all themes in wxUniversal; See wx/univ/theme.h file.}

View File

@ -10,7 +10,7 @@
@page page_copyright Copyrights and Licenses @page page_copyright Copyrights and Licenses
Copyright (c) 1992-2008 Julian Smart, Robert Roebling, Vadim Zeitlin and other Copyright (c) 1992-2012 Julian Smart, Robert Roebling, Vadim Zeitlin and other
members of the wxWidgets team members of the wxWidgets team
Portions (c) 1996 Artificial Intelligence Applications Institute Portions (c) 1996 Artificial Intelligence Applications Institute
@ -34,4 +34,3 @@ recognition of the new name by OSI.
@verbinclude "lgpl.txt" @verbinclude "lgpl.txt"
*/ */

View File

@ -10,24 +10,10 @@
@page page_multiplatform General Cross-Platform Development Tips @page page_multiplatform General Cross-Platform Development Tips
@tableofcontents
This chapter describes some tips related to cross-platform development. This chapter describes some tips related to cross-platform development.
@li @ref page_multiplatform_includefiles
@li @ref page_multiplatform_libraries
@li @ref page_multiplatform_configuration
@li @ref page_multiplatform_makefiles
@li @ref page_multiplatform_winresources
@li @ref page_multiplatform_allocatingobjects
@li @ref page_multiplatform_architecturedependency
@li @ref page_multiplatform_conditionalcompilation
@li @ref page_multiplatform_cpp
@li @ref page_multiplatform_filehandling
@li @ref page_multiplatform_reducingerr
@li @ref page_multiplatform_gui
@li @ref page_multiplatform_debug
<hr>
@section page_multiplatform_includefiles Include Files @section page_multiplatform_includefiles Include Files

View File

@ -6,20 +6,13 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
/** /**
@page page_introduction Introduction @page page_introduction Introduction
@li @ref page_introduction_whatis @tableofcontents
@li @ref page_introduction_why
@li @ref page_introduction_requirements
@li @ref page_introduction_where
@li @ref page_introduction_acknowledgements
<hr>
@section page_introduction_whatis What is wxWidgets? @section page_introduction_whatis What is wxWidgets?
@ -119,7 +112,7 @@ here are some of the benefits:
@li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX). @li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX).
@section page_introduction_requirements wxWidgets requirements @section page_introduction_requirements wxWidgets Requirements
To make use of wxWidgets, you currently need one of the following setups. To make use of wxWidgets, you currently need one of the following setups.

View File

@ -10,6 +10,8 @@
@page page_libs Library List @page page_libs Library List
@tableofcontents
wxWidgets can be built either as a single large library (this is called a wxWidgets can be built either as a single large library (this is called a
<em>monolithic build</em>) or as several smaller libraries <em>monolithic build</em>) or as several smaller libraries
(<em>multilib build</em>). Multilib build is the default. (<em>multilib build</em>). Multilib build is the default.
@ -66,6 +68,34 @@ libraries), and all green libraries depend on the @ref page_libs_wxcore library
(i.e. they are GUI libraries). (i.e. they are GUI libraries).
@section page_libs_wxadv wxAdvanced
Advanced or rarely used GUI classes:
@li wxCalendarCtrl
@li wxGrid classes
@li wxJoystick
@li wxLayoutAlgorithm
@li wxSplashScreen
@li wxTaskBarIcon
@li wxSound
@li wxWizard
@li wxSashLayoutWindow
@li wxSashWindow
@li ...others
Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@section page_libs_wxaui wxAui
This contains the Advanced User Interface docking library.
Requires @ref page_libs_wxadv, @ref page_libs_wxhtml, @ref page_libs_wxxml,
@ref page_libs_wxcore, @ref page_libs_wxbase.
@section page_libs_wxbase wxBase @section page_libs_wxbase wxBase
Every wxWidgets application must link against this library. It contains Every wxWidgets application must link against this library. It contains
@ -84,12 +114,30 @@ applications don't.
Requires @ref page_libs_wxbase. Requires @ref page_libs_wxbase.
@section page_libs_wxaui wxAui @section page_libs_wxgl wxGL
This contains the Advanced User Interface docking library. This library contains wxGLCanvas class for integrating OpenGL library with
wxWidgets. Unlike all others, this library is @b not part of the monolithic
library, it is always built as separate library.
Requires @ref page_libs_wxadv, @ref page_libs_wxhtml, @ref page_libs_wxxml, Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@ref page_libs_wxcore, @ref page_libs_wxbase.
@section page_libs_wxhtml wxHTML
Simple HTML renderer and other @ref overview_html are contained in this
library, as well as wxHtmlHelpController, wxBestHelpController and
wxHtmlListBox.
Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@section page_libs_wxmedia wxMedia
Miscellaneous classes related to multimedia. Currently this library only
contains wxMediaCtrl but more classes will be added in the future.
Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@section page_libs_wxnet wxNet @section page_libs_wxnet wxNet
@ -112,6 +160,15 @@ This contains the wxPropertyGrid control.
Requires @ref page_libs_wxadv, @ref page_libs_wxcore, @ref page_libs_wxbase. Requires @ref page_libs_wxadv, @ref page_libs_wxcore, @ref page_libs_wxbase.
@section page_libs_wxqa wxQA
This is the library containing extra classes for quality assurance. Currently
it only contains wxDebugReport and related classes, but more will be added to
it in the future.
Requires @ref page_libs_wxxml, @ref page_libs_wxcore, @ref page_libs_wxbase.
@section page_libs_wxribbon wxRibbon @section page_libs_wxribbon wxRibbon
This contains the Ribbon User Interface components library. This contains the Ribbon User Interface components library.
@ -127,76 +184,6 @@ Requires @ref page_libs_wxadv, @ref page_libs_wxhtml, @ref page_libs_wxxml,
@ref page_libs_wxcore, @ref page_libs_wxbase. @ref page_libs_wxcore, @ref page_libs_wxbase.
@section page_libs_wxxml wxXML
This library contains simple classes for parsing XML documents.
Requires @ref page_libs_wxbase.
@section page_libs_wxadv wxAdvanced
Advanced or rarely used GUI classes:
@li wxCalendarCtrl
@li wxGrid classes
@li wxJoystick
@li wxLayoutAlgorithm
@li wxSplashScreen
@li wxTaskBarIcon
@li wxSound
@li wxWizard
@li wxSashLayoutWindow
@li wxSashWindow
@li ...others
Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@section page_libs_wxmedia wxMedia
Miscellaneous classes related to multimedia. Currently this library only
contains wxMediaCtrl but more classes will be added in the future.
Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@section page_libs_wxgl wxGL
This library contains wxGLCanvas class for integrating OpenGL library with
wxWidgets. Unlike all others, this library is @b not part of the monolithic
library, it is always built as separate library.
Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@section page_libs_wxhtml wxHTML
Simple HTML renderer and other @ref overview_html are contained in this
library, as well as wxHtmlHelpController, wxBestHelpController and
wxHtmlListBox.
Requires @ref page_libs_wxcore and @ref page_libs_wxbase.
@section page_libs_wxqa wxQA
This is the library containing extra classes for quality assurance. Currently
it only contains wxDebugReport and related classes, but more will be added to
it in the future.
Requires @ref page_libs_wxxml, @ref page_libs_wxcore, @ref page_libs_wxbase.
@section page_libs_wxxrc wxXRC
This library contains wxXmlResource class that provides access to XML resource
files in XRC format.
Requires @ref page_libs_wxadv, @ref page_libs_wxhtml, @ref page_libs_wxxml,
@ref page_libs_wxcore, @ref page_libs_wxbase.
@section page_libs_wxstc wxSTC @section page_libs_wxstc wxSTC
STC (Styled Text Control) is a wrapper around Scintilla, a syntax-highlighting STC (Styled Text Control) is a wrapper around Scintilla, a syntax-highlighting
@ -210,5 +197,20 @@ The wxWebView library contains the wxWebView control and its associated classes.
Requires @ref page_libs_wxcore, @ref page_libs_wxbase. Requires @ref page_libs_wxcore, @ref page_libs_wxbase.
*/
@section page_libs_wxxml wxXML
This library contains simple classes for parsing XML documents.
Requires @ref page_libs_wxbase.
@section page_libs_wxxrc wxXRC
This library contains wxXmlResource class that provides access to XML resource
files in XRC format.
Requires @ref page_libs_wxadv, @ref page_libs_wxhtml, @ref page_libs_wxxml,
@ref page_libs_wxcore, @ref page_libs_wxbase.
*/

View File

@ -6,17 +6,18 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
/** /**
@mainpage Documentation @mainpage Documentation
@author Julian Smart, Robert Roebling, Vadim Zeitlin, Robin Dunn, @author Julian Smart, Robert Roebling, Vadim Zeitlin, Robin Dunn,
Stefan Csomor, Francesco Montorsi, Bryan Petty, et al Stefan Csomor, Francesco Montorsi, Bryan Petty, et al
@date July, 2012
@date September, 2012
@image html main_wxlogo.png @image html main_wxlogo.png
@section manual_user User Manual: @section manual_user User Manual
@li @subpage page_introduction @li @subpage page_introduction
@li @subpage page_copyright @li @subpage page_copyright
@ -28,7 +29,7 @@
@li @subpage page_multiplatform @li @subpage page_multiplatform
@li @subpage page_port @li @subpage page_port
@section manual_reference Reference Manual: @section manual_reference Reference Manual
@li @subpage page_constants @li @subpage page_constants
@li @subpage page_translations @li @subpage page_translations

View File

@ -11,118 +11,103 @@
@page page_port Platform Details @page page_port Platform Details
@tableofcontents
wxWidgets defines a common API across platforms, but uses the native graphical wxWidgets defines a common API across platforms, but uses the native graphical
user interface (GUI) on each platform, so your program will take on the native user interface (GUI) on each platform, so your program will take on the native
look and feel that users are familiar with. Unfortunately native toolkits and look and feel that users are familiar with. Unfortunately native toolkits and
hardware do not always support the functionality that the wxWidgets API hardware do not always support the functionality that the wxWidgets API
requires. This chapter collects notes about differences among supported platforms requires. This chapter collects notes about differences among supported
and ports. platforms and ports.
@li @ref page_port_wxgtk
@li @ref page_port_wxosx
@li @ref page_port_wxos2
@li @ref page_port_wxx11
@li @ref page_port_wxmotif
@li @ref page_port_wxmsw
@li @ref page_port_nativedocs
<hr>
@section page_port_wxgtk wxGTK @section page_port_wxgtk wxGTK
@htmlonly @htmlonly<div class="logo">@endhtmlonly
<img src="logo_gtk.png" alt="GTK logo" title="GTK logo" class="logo"> @image html logo_gtk.png
@endhtmlonly @htmlonly</div>@endhtmlonly
wxGTK is a port of wxWidgets using the GTK+ library. wxGTK is a port of wxWidgets using the GTK+ library. It makes use of GTK+'s
It makes use of GTK+'s native widgets wherever possible and uses native widgets wherever possible and uses wxWidgets' generic controls when
wxWidgets' generic controls when needed. GTK+ itself has been needed. GTK+ itself has been ported to a number of systems, but so far only the
ported to a number of systems, but so far only the original X11 original X11 version is supported. Support for other GTK+ backends is planned,
version is supported. Support for other GTK+ backends is planned,
such as the new DirectFB backend. such as the new DirectFB backend.
All work is being done on GTK+ version 2.0 and above. Support for All work is being done on GTK+ version 2.0 and above. Support for GTK+ 1.2 will
GTK+ 1.2 will be deprecated in a later release. 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:
http://www.gtk.org http://www.gtk.org
The newer version of GTK+ you use, the more native widgets and The newer version of GTK+ you use, the more native widgets and features will be
features will be utilized. We have gone to great lengths to utilized. We have gone to great lengths to allow compiling wxWidgets
allow compiling wxWidgets applications with the latest version of applications with the latest version of GTK+, with the resulting binary working
GTK+, with the resulting binary working on systems even with a on systems even with a much earlier version of GTK+. You will have to ensure
much earlier version of GTK+. You will have to ensure that the that the application is launched with lazy symbol binding for that.
application is launched with lazy symbol binding for that.
In order to configure wxWidgets to compile wxGTK you will In order to configure wxWidgets to compile wxGTK you will need use the
need use the @c --with-gtk argument to the @c configure script. @c --with-gtk argument to the @c configure script. This is the default for many
This is the default for many systems. systems.
GTK+ 1.2 can still be used, albeit discouraged. For that you can GTK+ 1.2 can still be used, albeit discouraged. For that you can pass
pass @c --with-gtk=1 to the @c configure script. @c --with-gtk=1 to the @c configure script.
Support for GTK+ 3 is available starting with wxWidgets 2.9.4, use @c configure Support for GTK+ 3 is available starting with wxWidgets 2.9.4, use @c configure
option @c --with-gtk=3 to enable it. It is still under development and may have option @c --with-gtk=3 to enable it. It is still under development and may have
significant bugs or missing features, and should be considered experimental. significant bugs or missing features, and should be considered experimental.
For further information, please see the files in @c docs/gtk For further information, please see the files in @c docs/gtk in the
in the distribution. distribution.
@section page_port_wxosx wxOSX @section page_port_wxosx wxOSX
@htmlonly @htmlonly<div class="logo">@endhtmlonly
<img src="logo_osxleopard.png" alt="Mac OS X (Leopard) logo" @image html logo_osxleopard.png
title="Mac OS X (Leopard) logo" class="logo"> @htmlonly</div>@endhtmlonly
@endhtmlonly
@subsection page_port_wxosx_carbon wxOSX/Carbon @subsection page_port_wxosx_carbon wxOSX/Carbon
wxOSX/Carbon is a port of wxWidgets for the Macintosh OS platform. wxOSX/Carbon is a port of wxWidgets for the Macintosh OS platform. Currently
Currently MacOS X 10.5 or higher are supported. wxOSX/Carbon can MacOS X 10.5 or higher are supported. wxOSX/Carbon can be compiled both using
be compiled both using Apple's command line developer tools Apple's command line developer tools as well as Apple's Xcode IDE. wxOSX/Carbon
as well as Apple's Xcode IDE. wxOSX/Carbon supports both the Intel supports both the Intel and PowerPC architectures and can be used to produce
and PowerPC architectures and can be used to produce "universal binaries" in order create application which can run both
"universal binaries" in order create application which can run architecture. Unfortunately, wxOSX/Carbon does not support any 64-bit
both architecture. Unfortunately, wxOSX/Carbon does not support any architecture since Apple decided not to port its Carbon API entirely to 64-bit.
64-bit architecture since Apple decided not to port its Carbon
API entirely to 64-bit.
@note Carbon has been deprecated by Apple as of OS X 10.5 and will likely @note Carbon has been deprecated by Apple as of OS X 10.5 and will likely be
be removed entirely in a future OS version. It's recommended you look into removed entirely in a future OS version. It's recommended you look into
switching your app over to wxOSX/Cocoa as soon as possible. switching your app over to wxOSX/Cocoa as soon as possible.
For further information, please see the files in @c docs/osx For further information, please see the files in @c docs/osx in the
in the distribution. distribution.
@subsection page_port_wxosx_cocoa wxOSX/Cocoa @subsection page_port_wxosx_cocoa wxOSX/Cocoa
wxOSX/Cocoa is another port of wxWidgets for the Macintosh OS wxOSX/Cocoa is another port of wxWidgets for the Macintosh OS platform.
platform. Currently MacOS X 10.5 or higher are supported. Currently MacOS X 10.5 or higher are supported. In contrast to wxOSX/Carbon,
In contrast to wxOSX/Carbon, it uses the Cocoa API it uses the Cocoa API in place of Carbon. Much work has gone into this port
in place of Carbon. Much work has gone into this port and many and many controls are functional, but the port has not reached the maturity of
controls are functional, but the port has not reached the maturity the wxOSX/Carbon port yet. It is possible to use wxOSX/Cocoa on 64-bit
of the wxOSX/Carbon port yet. It is possible to use wxOSX/Cocoa architectures.
on 64-bit architectures.
In order to configure wxWidgets to compile wxOSX/Cocoa you will In order to configure wxWidgets to compile wxOSX/Cocoa you will need to type:
need to type:
@verbatim configure --with-osx_cocoa @endverbatim @verbatim configure --with-osx_cocoa @endverbatim
For further information, please see the files in @c docs/osx For further information, please see the files in @c docs/osx in the
in the distribution. distribution.
@note There was a previous effort towards a Cocoa port called @note There was a previous effort towards a Cocoa port called wxCocoa, which
wxCocoa, which was implemented totally with Cocoa API unlike the OSX/Cocoa port was implemented totally with Cocoa API unlike the OSX/Cocoa port which uses OS
which uses OS X C APIs to share code, and while it is no longer being actively X C APIs to share code, and while it is no longer being actively developed,
developed, docs for it are available in @c docs/cocoa in the distribution. docs for it are available in @c docs/cocoa in the distribution.
@ -138,114 +123,113 @@ in the distribution.
@section page_port_wxx11 wxX11 @section page_port_wxx11 wxX11
@htmlonly @htmlonly<div class="logo">@endhtmlonly
<img src="logo_x11.png" alt="X.org logo" title="X.org logo" class="logo"> @image html logo_x11.png
@endhtmlonly @htmlonly</div>@endhtmlonly
wxX11 is a port of wxWidgets using X11 (The X Window System) wxX11 is a port of wxWidgets using X11 (The X Window System) as the underlying
as the underlying graphics backend. wxX11 draws its widgets graphics backend. wxX11 draws its widgets using the wxUniversal widget set
using the wxUniversal widget set which is now part of wxWidgets. which is now part of wxWidgets. wxX11 is well-suited for a number of special
wxX11 is well-suited for a number of special applications such applications such as those running on systems with few resources (PDAs) or for
as those running on systems with few resources (PDAs) or for
applications which need to use a special themed look. applications which need to use a special themed look.
In order to configure wxWidgets to compile wxX11 you will In order to configure wxWidgets to compile wxX11 you will need to type:
need to type:
@verbatim configure --with-x11 --with-universal @endverbatim @verbatim configure --with-x11 --with-universal @endverbatim
For further information, please see the files in @c docs/x11 For further information, please see the files in @c docs/x11 in the
in the distribution. There is also a page on the use of distribution. There is also a page on the use of wxWidgets for embedded
wxWidgets for embedded applications on the wxWidgets web site. applications on the wxWidgets web site.
@section page_port_wxmotif wxMotif @section page_port_wxmotif wxMotif
@htmlonly @htmlonly<div class="logo">@endhtmlonly
<img src="logo_motif.png" alt="Motif logo" title="Motif logo" class="logo"> @image html logo_motif.png
@endhtmlonly @htmlonly</div>@endhtmlonly
wxMotif is a port of wxWidgets for X11 systems using Motif libraries. wxMotif is a port of wxWidgets for X11 systems using Motif libraries. Motif
Motif libraries provide a clean and fast user interface at the expense libraries provide a clean and fast user interface at the expense of the beauty
of the beauty and candy of newer interfaces like GTK. and candy of newer interfaces like GTK.
For further information, please see the files in @c docs/motif
in the distribution.
For further information, please see the files in @c docs/motif in the
distribution.
@section page_port_wxmsw wxMSW @section page_port_wxmsw wxMSW
@htmlonly @htmlonly<div class="logo">@endhtmlonly
<img src="logo_win.png" alt="Windows logo" title="Windows logo" class="logo"> @image html logo_win.png
@endhtmlonly @htmlonly</div>@endhtmlonly
wxMSW is a port of wxWidgets for the Windows platforms including Windows 95, wxMSW is a port of wxWidgets for the Windows platforms including Windows 95,
98, ME, 2000, NT, XP and Vista in ANSI and Unicode modes (for Windows 9x and 98, ME, 2000, NT, XP and Vista in ANSI and Unicode modes (for Windows 9x and ME
ME through the MSLU extension library). wxMSW ensures native look and feel for through the MSLU extension library). wxMSW ensures native look and feel for XP
XP when using wxWidgets version 2.3.3 or higher.wxMSW can be compiled with a when using wxWidgets version 2.3.3 or higher. wxMSW can be compiled with a
great variety of compilers including Microsoft Studio VC++, Borland 5.5, great variety of compilers including Microsoft Studio VC++, Borland 5.5,
MinGW32, Cygwin and Watcom as well as cross-compilation with a Linux-hosted MinGW32, Cygwin and Watcom as well as cross-compilation with a Linux-hosted
MinGW32 tool chain. MinGW32 tool chain.
For further information, please see the files in docs/msw For further information, please see the files in docs/msw in the distribution.
in the distribution.
@subsection page_port_wxmsw_themedborders Themed borders on Windows @subsection page_port_wxmsw_themedborders Themed Borders
Starting with wxWidgets 2.8.5, you can specify the @c wxBORDER_THEME style to have wxWidgets Starting with wxWidgets 2.8.5, you can specify the @c wxBORDER_THEME style to
use a themed border. Using the default XP theme, this is a thin 1-pixel blue border, have wxWidgets use a themed border. Using the default XP theme, this is a thin
with an extra 1-pixel border in the window client background colour (usually white) to 1-pixel blue border, with an extra 1-pixel border in the window client
separate the client area's scrollbars from the border. 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 If you don't specify a border style for a wxTextCtrl in rich edit mode,
the control themed borders automatically, where previously they would take the Windows 95-style wxWidgets now gives the control themed borders automatically, where previously
sunken border. Other native controls such as wxTextCtrl in non-rich edit mode, and wxComboBox they would take the Windows 95-style sunken border. Other native controls such
already paint themed borders where appropriate. To use themed borders on other windows, such as wxTextCtrl in non-rich edit mode, and wxComboBox already paint themed
as wxPanel, pass the @c wxBORDER_THEME style, or (apart from wxPanel) pass no border style. 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 In general, specifying @c wxBORDER_THEME will cause a border of some kind to be
and control class. To leave the border decision entirely to wxWidgets, pass @c wxBORDER_DEFAULT. used, chosen by the platform and control class. To leave the border decision
This is not to be confused with specifying @c wxBORDER_NONE, which says that there should entirely to wxWidgets, pass @c wxBORDER_DEFAULT. This is not to be confused
definitely be @e no border. with specifying @c wxBORDER_NONE, which says that there should definitely be
@e no border.
@subsubsection page_port_wxmsw_themedborders_details More detail on border implementation @subsubsection page_port_wxmsw_themedborders_details Internal Border Implementation
The way that wxMSW decides whether to apply a themed border is as follows. The way that wxMSW decides whether to apply a themed border is as follows. The
The theming code calls wxWindow::GetBorder() to obtain a border. If no border style has been theming code calls wxWindow::GetBorder() to obtain a border. If no border style
passed to the window constructor, GetBorder() calls GetDefaultBorder() for this window. has been passed to the window constructor, GetBorder() calls GetDefaultBorder()
If wxBORDER_THEME was passed to the window constructor, GetBorder() calls GetDefaultBorderForControl(). 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() The implementation of wxWindow::GetDefaultBorder() on wxMSW calls
which is a virtual function that tells wxWidgets whether a control can have a theme wxWindow::CanApplyThemeBorder() which is a virtual function that tells
applied explicitly (some native controls already paint a theme in which case we should not wxWidgets whether a control can have a theme applied explicitly (some native
apply it ourselves). Note that wxPanel is an exception to this rule because in many cases controls already paint a theme in which case we should not apply it ourselves).
we wish to create a window with no border (for example, notebook pages). So wxPanel Note that wxPanel is an exception to this rule because in many cases we wish to
overrides GetDefaultBorder() in order to call the generic wxWindowBase::GetDefaultBorder(), create a window with no border (for example, notebook pages). So wxPanel
returning wxBORDER_NONE. overrides GetDefaultBorder() in order to call the generic
wxWindowBase::GetDefaultBorder(), returning wxBORDER_NONE.
@subsection page_port_wxmsw_wince wxWinCE @subsection page_port_wxmsw_wince wxWinCE
wxWinCE is the name given to wxMSW when compiled on Windows CE devices; wxWinCE is the name given to wxMSW when compiled on Windows CE devices; most of
most of wxMSW is common to Win32 and Windows CE but there are wxMSW is common to Win32 and Windows CE but there are some simplifications,
some simplifications, enhancements, and differences in enhancements, and differences in behaviour.
behaviour.
For building instructions, see docs/msw/wince in the For building instructions, see docs/msw/wince in the distribution, also the
distribution, also the section about Visual Studio 2005 project section about Visual Studio 2005 project files below. The rest of this section
files below. The rest of this section documents issues you documents issues you need to be aware of when programming for Windows CE
need to be aware of when programming for Windows CE devices. devices.
@subsubsection page_port_wxmsw_wince_ General issues for wxWinCE programming @subsubsection page_port_wxmsw_wince_ General Issues for wxWinCE
Mobile applications generally have fewer features and Mobile applications generally have fewer features and simpler user interfaces.
simpler user interfaces. Simply omit whole sizers, static Simply omit whole sizers, static lines and controls in your dialogs, and use
lines and controls in your dialogs, and use comboboxes instead comboboxes instead of listboxes where appropriate. You also need to reduce the
of listboxes where appropriate. You also need to reduce amount of spacing used by sizers, for which you can use a macro such as this:
the amount of spacing used by sizers, for which you can
use a macro such as this:
@code @code
#if defined(__WXWINCE__) #if defined(__WXWINCE__)
@ -258,34 +242,33 @@ use a macro such as this:
topsizer->Add( CreateTextSizer( message ), 0, wxALL, wxLARGESMALL(10,0) ); topsizer->Add( CreateTextSizer( message ), 0, wxALL, wxLARGESMALL(10,0) );
@endcode @endcode
There is only ever one instance of a Windows CE application running, There is only ever one instance of a Windows CE application running, and
and wxWidgets will take care of showing the current instance and wxWidgets will take care of showing the current instance and shutting down the
shutting down the second instance if necessary. second instance if necessary.
You can test the return value of wxSystemSettings::GetScreenType() You can test the return value of wxSystemSettings::GetScreenType() for a
for a qualitative assessment of what kind of display is available, qualitative assessment of what kind of display is available, or use
or use wxGetDisplaySize() if you need more information. wxGetDisplaySize() if you need more information.
You can also use wxGetOsVersion to test for a version of Windows CE at You can also use wxGetOsVersion to test for a version of Windows CE at run-time
run-time (see the next section). However, because different builds (see the next section). However, because different builds are currently
are currently required to target different kinds of device, these required to target different kinds of device, these values are hard-wired
values are hard-wired according to the build, and you cannot according to the build, and you cannot dynamically adapt the same executable
dynamically adapt the same executable for different major Windows CE for different major Windows CE platforms. This would require a different
platforms. This would require a different approach to the way approach to the way wxWidgets adapts its behaviour (such as for menubars) to
wxWidgets adapts its behaviour (such as for menubars) to suit the suit the style of device.
style of device.
See the "Life!" example (demos/life) for an example of See the "Life!" example (demos/life) for an example of an application that has
an application that has been tailored for PocketPC and Smartphone use. been tailored for PocketPC and Smartphone use.
@note don't forget to have this line in your .rc file, as for @note Don't forget to have this line in your .rc file,
desktop Windows applications: as for desktop Windows applications:
@verbatim #include "wx/msw/wx.rc" @endverbatim @verbatim #include "wx/msw/wx.rc" @endverbatim
@subsubsection page_port_wxmsw_wince_sdk Testing for WinCE SDKs @subsubsection page_port_wxmsw_wince_sdk Testing for WinCE SDKs
Use these preprocessor symbols to test for the different types of device or SDK: Use these preprocessor symbols to test for the different types of devices:
@li @b __SMARTPHONE__ Generic mobile devices with phone buttons and a small display @li @b __SMARTPHONE__ Generic mobile devices with phone buttons and a small display
@li @b __PDA__ Generic mobile devices with no phone @li @b __PDA__ Generic mobile devices with no phone
@ -296,68 +279,72 @@ Use these preprocessor symbols to test for the different types of device or SDK:
@li @b __WINCE_STANDARDSDK__ Microsoft-powered Windows CE devices, for generic Windows CE applications @li @b __WINCE_STANDARDSDK__ Microsoft-powered Windows CE devices, for generic Windows CE applications
@li @b __WINCE_NET__ Microsoft-powered Windows CE .NET devices (_WIN32_WCE is 400 or greater) @li @b __WINCE_NET__ Microsoft-powered Windows CE .NET devices (_WIN32_WCE is 400 or greater)
wxGetOsVersion will return these values: wxGetOsVersion() will return these values:
@li @b wxWINDOWS_POCKETPC The application is running under PocketPC. @li @b wxWINDOWS_POCKETPC The application is running under PocketPC.
@li @b wxWINDOWS_SMARTPHONE The application is running under Smartphone. @li @b wxWINDOWS_SMARTPHONE The application is running under Smartphone.
@li @b wxWINDOWS_CE The application is running under Windows CE (built with the Standard SDK). @li @b wxWINDOWS_CE The application is running under Windows CE (built with the Standard SDK).
@subsubsection page_port_wxmsw_wince_sizing Window sizing in wxWinCE @subsubsection page_port_wxmsw_wince_sizing Window sizing in wxWinCE
Top level windows (dialogs, frames) are created always full-screen. Fit() of sizers will not rescale top Top level windows (dialogs, frames) are created always full-screen. Fit() of
level windows but instead will scale window content. sizers will not rescale top level windows but instead will scale window
content.
If the screen orientation changes, the windows will automatically be resized If the screen orientation changes, the windows will automatically be resized so
so no further action needs to be taken (unless you want to change the layout no further action needs to be taken (unless you want to change the layout
according to the orientation, which you could detect in idle time, for example). according to the orientation, which you could detect in idle time, for
When input panel (SIP) is shown, top level windows (frames and dialogs) resize example). When input panel (SIP) is shown, top level windows (frames and
accordingly (see wxTopLevelWindow::HandleSettingChange()). dialogs) resize accordingly (see wxTopLevelWindow::HandleSettingChange()).
@subsubsection page_port_wxmsw_wince_toplevel Closing top-level windows in wxWinCE @subsubsection page_port_wxmsw_wince_toplevel Closing Top-level Windows in wxWinCE
You won't get a wxCloseEvent when the user clicks on the X in the titlebar You won't get a wxCloseEvent when the user clicks on the X in the titlebar on
on Smartphone and PocketPC; the window is simply hidden instead. However the system may send the Smartphone and PocketPC; the window is simply hidden instead. However the
event to force the application to close down. system may send the event to force the application to close down.
@subsubsection page_port_wxmsw_wince_hibernation Hibernation in wxWinCE @subsubsection page_port_wxmsw_wince_hibernation Hibernation in wxWinCE
Smartphone and PocketPC will send a @c wxEVT_HIBERNATE to the application object in low Smartphone and PocketPC will send a @c wxEVT_HIBERNATE to the application
memory conditions. Your application should release memory and close dialogs, object in low memory conditions. Your application should release memory and
and wake up again when the next @c wxEVT_ACTIVATE or @c wxEVT_ACTIVATE_APP message is received. close dialogs, and wake up again when the next @c wxEVT_ACTIVATE or
(@c wxEVT_ACTIVATE_APP is generated whenever a @c wxEVT_ACTIVATE event is received @c wxEVT_ACTIVATE_APP message is received. (@c wxEVT_ACTIVATE_APP is generated
in Smartphone and PocketPC, since these platforms do not support @c WM_ACTIVATEAPP.) whenever a @c wxEVT_ACTIVATE event is received in Smartphone and PocketPC,
since these platforms do not support @c WM_ACTIVATEAPP.)
@subsubsection page_port_wxmsw_wince_hwbutt Hardware buttons in wxWinCE @subsubsection page_port_wxmsw_wince_hwbutt Hardware Buttons in wxWinCE
Special hardware buttons are sent to a window via the @c wxEVT_HOTKEY event Special hardware buttons are sent to a window via the @c wxEVT_HOTKEY event
under Smartphone and PocketPC. You should first register each required button with under Smartphone and PocketPC. You should first register each required button
wxWindow::RegisterHotKey(), and unregister the button when you're done with it. For example: with wxWindow::RegisterHotKey(), and unregister the button when you're done
with it. For example:
@code @code
win->RegisterHotKey(0, wxMOD_WIN, WXK_SPECIAL1); win->RegisterHotKey(0, wxMOD_WIN, WXK_SPECIAL1);
win->UnregisterHotKey(0); win->UnregisterHotKey(0);
@endcode @endcode
You may have to register the buttons in a @c wxEVT_ACTIVATE event handler You may have to register the buttons in a @c wxEVT_ACTIVATE event handler since
since other applications will grab the buttons. other applications will grab the buttons.
There is currently no method of finding out the names of the special There is currently no method of finding out the names of the special buttons or
buttons or how many there are. how many there are.
@subsubsection page_port_wxmsw_wince_dialogs Dialogs in wxWinCE @subsubsection page_port_wxmsw_wince_dialogs Dialogs in wxWinCE
PocketPC dialogs have an OK button on the caption, and so you should generally PocketPC dialogs have an OK button on the caption, and so you should generally
not repeat an OK button on the dialog. You can add a Cancel button if necessary, but some dialogs not repeat an OK button on the dialog. You can add a Cancel button if
simply don't offer you the choice (the guidelines recommend you offer an Undo facility necessary, but some dialogs simply don't offer you the choice (the guidelines
to make up for it). When the user clicks on the OK button, your dialog will receive recommend you offer an Undo facility to make up for it). When the user clicks
a @c wxID_OK event by default. If you wish to change this, call wxDialog::SetAffirmativeId() on the OK button, your dialog will receive a @c wxID_OK event by default. If
with the required identifier to be used. Or, override wxDialog::DoOK() (return @false to you wish to change this, call wxDialog::SetAffirmativeId() with the required
have wxWidgets simply call Close to dismiss the dialog). identifier to be used. Or, override wxDialog::DoOK() (return @false to have
wxWidgets simply call Close to dismiss the dialog).
Smartphone dialogs do @e not have an OK button on the caption, and are closed Smartphone dialogs do @e not have an OK button on the caption, and are closed
using one of the two menu buttons. You need to assign these using wxTopLevelWindow::SetLeftMenu using one of the two menu buttons. You need to assign these using
and wxTopLevelWindow::SetRightMenu(), for example: wxTopLevelWindow::SetLeftMenu and wxTopLevelWindow::SetRightMenu(), for
example:
@code @code
#ifdef __SMARTPHONE__ #ifdef __SMARTPHONE__
@ -370,11 +357,12 @@ and wxTopLevelWindow::SetRightMenu(), for example:
#endif #endif
@endcode @endcode
For implementing property sheets (flat tabs), use a wxNotebook with @c wxNB_FLAT|wxNB_BOTTOM For implementing property sheets (flat tabs), use a wxNotebook with
and have the notebook left, top and right sides overlap the dialog by about 3 pixels @c wxNB_FLAT|wxNB_BOTTOM and have the notebook left, top and right sides
to eliminate spurious borders. You can do this by using a negative spacing in your overlap the dialog by about 3 pixels to eliminate spurious borders. You can do
sizer Add() call. The cross-platform property sheet dialog wxPropertySheetDialog is this by using a negative spacing in your sizer Add() call. The cross-platform
provided, to show settings in the correct style on PocketPC and on other platforms. property sheet dialog wxPropertySheetDialog is provided, to show settings in
the correct style on PocketPC and on other platforms.
Notifications (bubble HTML text with optional buttons and links) will also be Notifications (bubble HTML text with optional buttons and links) will also be
implemented in the future for PocketPC. implemented in the future for PocketPC.
@ -383,100 +371,100 @@ Modeless dialogs probably don't make sense for PocketPC and Smartphone, since
frames and dialogs are normally full-screen, and a modeless dialog is normally frames and dialogs are normally full-screen, and a modeless dialog is normally
intended to co-exist with the main application frame. intended to co-exist with the main application frame.
@subsubsection page_port_wxmsw_wince_ppc Menubars and toolbars in PocketPC @subsubsection page_port_wxmsw_wince_ppc Menubars and Toolbars in PocketPC
On PocketPC, a frame must always have a menubar, even if it's empty. On PocketPC, a frame must always have a menubar, even if it's empty. An empty
An empty menubar/toolbar is automatically provided for dialogs, to hide menubar/toolbar is automatically provided for dialogs, to hide any existing
any existing menubar for the duration of the dialog. menubar for the duration of the dialog.
Menubars and toolbars are implemented using a combined control, Menubars and toolbars are implemented using a combined control, but you can use
but you can use essentially the usual wxWidgets API; wxWidgets will combine the menubar essentially the usual wxWidgets API; wxWidgets will combine the menubar and
and toolbar. However, there are some restrictions: toolbar. However, there are some restrictions:
@li You must create the frame's primary toolbar with wxFrame::CreateToolBar(), @li You must create the frame's primary toolbar with wxFrame::CreateToolBar(),
because this uses the special wxToolMenuBar class (derived from wxToolBar) because this uses the special wxToolMenuBar class (derived from wxToolBar) to
to implement the combined toolbar and menubar. Otherwise, you can create and manage toolbars implement the combined toolbar and menubar. Otherwise, you can create and
using the wxToolBar class as usual, for example to implement an optional manage toolbars using the wxToolBar class as usual, for example to implement an
formatting toolbar above the menubar as Pocket Word does. But don't assign optional formatting toolbar above the menubar as Pocket Word does. But don't
a wxToolBar to a frame using SetToolBar - you should always use CreateToolBar assign a wxToolBar to a frame using SetToolBar - you should always use
for the main frame toolbar. CreateToolBar for the main frame toolbar.
@li Deleting and adding tools to wxToolMenuBar after Realize is called is not supported. @li Deleting and adding tools to wxToolMenuBar after Realize is called is not
@li For speed, colours are not remapped to the system colours as they are @supported.
in wxMSW. Provide the tool bitmaps either with the correct system button background, @li For speed, colours are not remapped to the system colours as they are in
or with transparency (for example, using XPMs). wxMSW. Provide the tool bitmaps either with the correct system button
@li Adding controls to wxToolMenuBar is not supported. However, wxToolBar supports background, or with transparency (for example, using XPMs).
controls. @li Adding controls to wxToolMenuBar is not supported. However, wxToolBar
supports controls.
Unlike in all other ports, a wxDialog has a wxToolBar automatically created Unlike in all other ports, a wxDialog has a wxToolBar automatically created for
for you. You may either leave it blank, or access it with wxDialog::GetToolBar() you. You may either leave it blank, or access it with wxDialog::GetToolBar()
and add buttons, then calling wxToolBar::Realize(). You cannot set or recreate and add buttons, then calling wxToolBar::Realize(). You cannot set or recreate
the toolbar. the toolbar.
@subsubsection page_port_wxmsw_wince_smart Menubars and toolbars in Smartphone @subsubsection page_port_wxmsw_wince_smart Menubars and Toolbars in Smartphone
On Smartphone, there are only two menu buttons, so a menubar is simulated On Smartphone, there are only two menu buttons, so a menubar is simulated using
using a nested menu on the right menu button. Any toolbars are simply ignored on a nested menu on the right menu button. Any toolbars are simply ignored on
Smartphone. Smartphone.
@subsubsection page_port_wxmsw_wince_closing Closing windows in wxWinCE @subsubsection page_port_wxmsw_wince_closing Closing Windows in wxWinCE
The guidelines state that applications should not have a Quit menu item, The guidelines state that applications should not have a Quit menu item, since
since the user should not have to know whether an application is in memory the user should not have to know whether an application is in memory or not.
or not. The close button on a window does not call the window's The close button on a window does not call the window's close handler; it
close handler; it simply hides the window. However, the guidelines say that simply hides the window. However, the guidelines say that the Ctrl+Q
the Ctrl+Q accelerator can be used to quit the application, so wxWidgets accelerator can be used to quit the application, so wxWidgets defines this
defines this accelerator by default and if your application handles accelerator by default and if your application handles wxID_EXIT, it will do
wxID_EXIT, it will do the right thing. the right thing.
@subsubsection page_port_wxmsw_wince_ctx Context menus in wxWinCE @subsubsection page_port_wxmsw_wince_ctx Context Menus in wxWinCE
To enable context menus in PocketPC, you currently need to call wxWindow::EnableContextMenu(), To enable context menus in PocketPC, you currently need to call
a wxWinCE-only function. Otherwise the context menu event (wxContextMenuEvent) will wxWindow::EnableContextMenu(), a wxWinCE-only function. Otherwise the context
never be sent. This API is subject to change. menu event (wxContextMenuEvent) will never be sent. This API is subject to
change.
Context menus are not supported in Smartphone. Context menus are not supported in Smartphone.
@subsubsection page_port_wxmsw_wince_ctrl Control differences on wxWinCE @subsubsection page_port_wxmsw_wince_ctrl Control Differences on wxWinCE
These controls and styles are specific to wxWinCE: These controls and styles are specific to wxWinCE:
@li wxTextCtrl The @c wxTE_CAPITALIZE style causes a CAPEDIT control to @li wxTextCtrl The @c wxTE_CAPITALIZE style causes a CAPEDIT control to be
be created, which capitalizes the first letter. created, which capitalizes the first letter.
These controls are missing from wxWinCE: These controls are missing from wxWinCE:
@li MDI classes MDI is not supported under Windows CE. @li MDI classes MDI is not supported under Windows CE.
@li wxMiniFrame Not supported under Windows CE. @li wxMiniFrame Not supported under Windows CE.
Tooltips are not currently supported for controls, since on PocketPC controls with Tooltips are not currently supported for controls, since on PocketPC controls
tooltips are distinct controls, and it will be hard to add dynamic with tooltips are distinct controls, and it will be hard to add dynamic tooltip
tooltip support. support.
Control borders on PocketPC and Smartphone should normally be specified with Control borders on PocketPC and Smartphone should normally be specified with
@c wxBORDER_SIMPLE instead of @c wxBORDER_SUNKEN. Controls will usually adapt @c wxBORDER_SIMPLE instead of @c wxBORDER_SUNKEN. Controls will usually adapt
appropriately by virtue of their GetDefaultBorder() function, but if you appropriately by virtue of their GetDefaultBorder() function, but if you wish
wish to specify a style explicitly you can use @c wxDEFAULT_CONTROL_BORDER to specify a style explicitly you can use @c wxDEFAULT_CONTROL_BORDER which
which will give a simple border on PocketPC and Smartphone, and the sunken border on will give a simple border on PocketPC and Smartphone, and the sunken border on
other platforms. other platforms.
@subsubsection page_port_wxmsw_wince_help Online help in wxWinCE @subsubsection page_port_wxmsw_wince_help Online Help in wxWinCE
You can use the help controller wxWinceHelpController which controls You can use the help controller wxWinceHelpController which controls simple
simple @c .htm files, usually installed in the Windows directory. @c .htm files, usually installed in the Windows directory. See the Windows CE
See the Windows CE reference for how to format the HTML files. reference for how to format the HTML files.
@subsubsection page_port_wxmsw_wince_install Installing your PocketPC and Smartphone applications @subsubsection page_port_wxmsw_wince_install Installing your PocketPC and Smartphone Applications
To install your application, you need to build a CAB file using To install your application, you need to build a CAB file using the parameters
the parameters defined in a special .inf file. The CabWiz program defined in a special .inf file. The CabWiz program in your SDK will compile the
in your SDK will compile the CAB file from the .inf file and CAB file from the .inf file and files that it specifies.
files that it specifies.
For delivery, you can simply ask the user to copy the CAB file to the For delivery, you can simply ask the user to copy the CAB file to the device
device and execute the CAB file using File Explorer. Or, you can and execute the CAB file using File Explorer. Or, you can write a program for
write a program for the desktop PC that will find the ActiveSync the desktop PC that will find the ActiveSync Application Manager and install
Application Manager and install the CAB file on the device, the CAB file on the device, which is obviously much easier for the user.
which is obviously much easier for the user.
Here are some links that may help. Here are some links that may help.
@ -495,29 +483,27 @@ Here are some links that may help.
@li Troubleshooting WinCE application installations: @li Troubleshooting WinCE application installations:
http://support.microsoft.com/default.aspx?scid=KB;en-us;q181007 http://support.microsoft.com/default.aspx?scid=KB;en-us;q181007
You may also check out <tt>demos/life/setup/wince</tt> which contains You may also check out <tt>demos/life/setup/wince</tt> which contains scripts
scripts to create a PocketPC installation for ARM-based to create a PocketPC installation for ARM-based devices. In particular,
devices. In particular, @c build.bat builds the distribution and @c build.bat builds the distribution and copies it to a directory called
copies it to a directory called @c Deliver. @c Deliver.
@subsubsection page_port_wxmsw_wince_filedlg wxFileDialog in PocketPC @subsubsection page_port_wxmsw_wince_filedlg wxFileDialog in PocketPC
Allowing the user to access files on memory cards, or on arbitrary Allowing the user to access files on memory cards, or on arbitrary parts of the
parts of the filesystem, is a pain; the standard file dialog only filesystem, is a pain; the standard file dialog only shows folders under My
shows folders under My Documents or folders on memory cards Documents or folders on memory cards (not the system or card root directory,
(not the system or card root directory, for example). This is for example). This is a known problem for PocketPC developers.
a known problem for PocketPC developers.
If you need a file dialog that allows access to all folders, If you need a file dialog that allows access to all folders, you can use
you can use wxGenericFileDialog instead. You will need to include wxGenericFileDialog instead. You will need to include @c wx/generic/filedlgg.h.
@c wx/generic/filedlgg.h.
@subsubsection page_port_wxmsw_wince_evc Embedded Visual C++ Issues @subsubsection page_port_wxmsw_wince_evc Embedded Visual C++ Issues
<b>Run-time type information</b> <b>Run-time type information</b>
If you wish to use runtime type information (RTTI) with eVC++ 4, you need to download If you wish to use runtime type information (RTTI) with eVC++ 4, you need to
an extra library, @c ccrtrtti.lib, and link with it. At the time of download an extra library, @c ccrtrtti.lib, and link with it. At the time of
writing you can get it from here: writing you can get it from here:
@verbatim @verbatim
@ -532,17 +518,18 @@ wxwince26d.lib(control.obj) : error LNK2001: unresolved external symbol "const t
<b>Windows Mobile 5.0 emulator</b> <b>Windows Mobile 5.0 emulator</b>
Note that there is no separate emulator configuration for Windows Mobile 5.0: the Note that there is no separate emulator configuration for Windows Mobile 5.0:
emulator runs the ARM code directly. the emulator runs the ARM code directly.
<b>Visual Studio 2005 project files</b> <b>Visual Studio 2005 project files</b>
Unfortunately, Visual Studio 2005, required to build Windows Mobile 5.0 applications, Unfortunately, Visual Studio 2005, required to build Windows Mobile 5.0
doesn't do a perfect job of converting the project files from eVC++ format. applications, doesn't do a perfect job of converting the project files from
eVC++ format.
When you have converted the wxWidgets workspace, edit the configuration properties When you have converted the wxWidgets workspace, edit the configuration
for each configuration and in the Librarian, add a relative path ..\\..\\lib to properties for each configuration and in the Librarian, add a relative path
each library path. For example: ..\\..\\lib to each library path. For example:
<tt>..\\$(PlatformName)\\$(ConfigurationName)\\wx_mono.lib</tt>. <tt>..\\$(PlatformName)\\$(ConfigurationName)\\wx_mono.lib</tt>.
Then, for a sample you want to compile, edit the configuration properties Then, for a sample you want to compile, edit the configuration properties
@ -557,7 +544,7 @@ Also change the Linker/Input/Additional Dependencies property to something like
Alternately, you could edit all the names to be identical to the original eVC++ Alternately, you could edit all the names to be identical to the original eVC++
names, but this will probably be more fiddly. names, but this will probably be more fiddly.
@subsubsection page_port_wxmsw_wince_issues Remaining issues @subsubsection page_port_wxmsw_wince_issues Remaining Issues
These are some of the remaining problems to be sorted out, and features These are some of the remaining problems to be sorted out, and features
to be supported. to be supported.
@ -615,7 +602,8 @@ should be catered for, either by hard-wiring the capability into all dialogs and
or by providing a standard component and sizer. or by providing a standard component and sizer.
@section page_port_nativedocs Documentation for the native toolkits
@section page_port_nativedocs Native Toolkit Documentation
It's sometimes useful to interface directly with the underlying toolkit It's sometimes useful to interface directly with the underlying toolkit
used by wxWidgets to e.g. use toolkit-specific features. used by wxWidgets to e.g. use toolkit-specific features.

View File

@ -10,7 +10,7 @@
@page page_samples Samples Overview @page page_samples Samples Overview
@brief Overview of the examples provided with wxWidgets. @tableofcontents
Probably the best way to learn wxWidgets is by reading the source of some 80+ Probably the best way to learn wxWidgets is by reading the source of some 80+
samples provided with it. Many aspects of wxWidgets programming can be learnt samples provided with it. Many aspects of wxWidgets programming can be learnt
@ -20,12 +20,11 @@ make it easier to find the relevant one if a simple grep through all sources
didn't help. They also provide some notes about using the samples and what didn't help. They also provide some notes about using the samples and what
features of wxWidgets are they supposed to test. features of wxWidgets are they supposed to test.
There are currently more than 80 different samples as part of wxWidgets: There are currently more than 80 different samples as part of wxWidgets: the
the list in this page is not complete! list in this page is not complete! You should start your tour of wxWidgets with
You should start your tour of wxWidgets with the @ref page_samples_minimal the @ref page_samples_minimal which is the wxWidgets version of "Hello,
which is the wxWidgets version of "Hello, world!". world!". It shows the basic structure of wxWidgets program and is the most
It shows the basic structure of wxWidgets program and is the most commented commented sample of all - looking at its source code is recommended.
sample of all - looking at its source code is recommended.
The next most useful sample is @ref page_samples_widgets which shows many of The next most useful sample is @ref page_samples_widgets which shows many of
wxWidgets controls, such as buttons, text entry zones, list boxes, check boxes, wxWidgets controls, such as buttons, text entry zones, list boxes, check boxes,
@ -43,108 +42,6 @@ may find the following samples showing the corresponding controls:
@li wxDataViewCtrl: @ref page_samples_dataview @li wxDataViewCtrl: @ref page_samples_dataview
@li wxWebView: @ref page_samples_webview @li wxWebView: @ref page_samples_webview
Finally, here is the full list of samples:
<!--
The following sample list is generated by executing command
ls -1 | egrep '[a-z]+' | egrep '^[a-z]+/$' | sed 's/^/@li @sample\{/' | sed 's///$/\}/'
in wxWidgets/samples
TODO: Organize them in a more human-readable way.
-->
@beginInvisibleTable
<tr><td>
@li @sample{access}
@li @sample{animate}
@li @sample{artprov}
@li @sample{aui}
@li @sample{calendar}
@li @sample{caret}
@li @sample{clipboard}
@li @sample{collpane}
@li @sample{combo}
@li @sample{config}
@li @sample{console}
@li @sample{controls}
@li @sample{dataview}
@li @sample{debugrpt}
@li @sample{dialogs}
@li @sample{dialup}
@li @sample{display}
@li @sample{dnd}
@li @sample{docview}
@li @sample{dragimag}
@li @sample{drawing}
@li @sample{erase}
@li @sample{event}
@li @sample{except}
@li @sample{exec}
@li @sample{flash}
@li @sample{font}
</td><td>
@li @sample{grid}
@li @sample{help}
@li @sample{htlbox}
@li @sample{html}
@li @sample{image}
@li @sample{internat}
@li @sample{ipc}
@li @sample{joytest}
@li @sample{keyboard}
@li @sample{layout}
@li @sample{listctrl}
@li @sample{mdi}
@li @sample{mediaplayer}
@li @sample{memcheck}
@li @sample{menu}
@li @sample{mfc}
@li @sample{minimal}
@li @sample{nativdlg}
@li @sample{notebook}
@li @sample{oleauto}
@li @sample{opengl}
@li @sample{ownerdrw}
@li @sample{popup}
@li @sample{power}
@li @sample{printing}
@li @sample{propgrid}
@li @sample{regtest}
</td><td>
@li @sample{render}
@li @sample{richtext}
@li @sample{sashtest}
@li @sample{scroll}
@li @sample{shaped}
@li @sample{sockets}
@li @sample{sound}
@li @sample{splash}
@li @sample{splitter}
@li @sample{statbar}
@li @sample{stc}
@li @sample{svg}
@li @sample{taborder}
@li @sample{taskbar}
@li @sample{text}
@li @sample{thread}
@li @sample{toolbar}
@li @sample{treectrl}
@li @sample{typetest}
@li @sample{uiaction}
@li @sample{validate}
@li @sample{vscroll}
@li @sample{webview}
@li @sample{widgets}
@li @sample{wizard}
@li @sample{wrapsizer}
@li @sample{xrc}
</td></tr>
@endTable
<hr>
Notice that all wxWidgets samples mentioned above can be found in @c samples Notice that all wxWidgets samples mentioned above can be found in @c samples
subdirectory of the library distribution. When a @c foobar sample is mentioned subdirectory of the library distribution. When a @c foobar sample is mentioned
below, its sources can be found in @c samples/foobar directory of your below, its sources can be found in @c samples/foobar directory of your
@ -158,10 +55,11 @@ Final advice is to do a search in the entire samples directory if you can't
find the sample showing the control you are interested in by name. Most classes find the sample showing the control you are interested in by name. Most classes
contained in wxWidgets occur in at least one of the samples. contained in wxWidgets occur in at least one of the samples.
@todo Write descriptions for the samples who description started with @todo Write descriptions for the samples who description started with
"This sample demonstrates", they are semi-auto generated. "This sample demonstrates", they are semi-auto generated.
@section page_samples_access Accessibility Sample @section page_samples_access Accessibility Sample
This sample shows how you can use the wxAccessible classes in a This sample shows how you can use the wxAccessible classes in a

View File

@ -10,20 +10,12 @@
@page page_topics Topic Overviews @page page_topics Topic Overviews
This chapter contains a selection of topic overviews. @tableofcontents
The following is a basic categorization of them:
@li @ref page_topics_starting The guides here cover all high level details of a full range of development
@li @ref page_topics_programming topics related to building applications with wxWidgets.
@li @ref page_topics_nongui
@li @ref page_topics_drawing
@li @ref page_topics_gui
@li @ref page_topics_indivctrl
@li @ref page_topics_other
<hr>
@section page_topics_starting Starting with wxWidgets @section page_topics_starting Starting with wxWidgets
@ -111,4 +103,3 @@ The following is a basic categorization of them:
@li @subpage overview_customwidgets @li @subpage overview_customwidgets
*/ */

View File

@ -11,28 +11,26 @@
@page page_translations Translations @page page_translations Translations
@tableofcontents
wxWidgets uses a certain number of user-readable strings such as wxWidgets uses a certain number of user-readable strings such as
<tt>"help"</tt> or <tt>"Load file"</tt> which should be translated to the <tt>"help"</tt> or <tt>"Load file"</tt> which should be translated to the users
users language if it is different from English. wxWidgets has built in support language if it is different from English. wxWidgets has built in support for
for internationalization (@e i18n from now on) which allows for this to happen internationalization (@e i18n from now on) which allows for this to happen
automatically if the translations to the current language are available. automatically if the translations to the current language are available.
You may find here the list of all existing translations with the addresses of You may find here the list of all existing translations with the addresses of
the official translators whom you should contact if you would like to submit the official translators whom you should contact if you would like to submit
any corrections to the translations for your language. any corrections to the translations for your language.
Also, please see @ref page_translations_howtohelp if you would like to translate Also, please see @ref page_translations_howtohelp if you would like to
wxWidgets to your language if it is not mentioned here (or to help with one which translate wxWidgets to your language if it is not mentioned here (or to help
already is - it is quite helpful to have several translators for one language at with one which already is - it is quite helpful to have several translators for
least for proof reading). one language at least for proof reading).
@li @ref page_translations_avail
@li @ref page_translations_howtohelp
<hr>
@section page_translations_avail Available translations
@section page_translations_avail Available Translations
Below is the table containing the list of languages supported by wxWidgets. Below is the table containing the list of languages supported by wxWidgets.
The columns of this table have the obvious meaning: in each row you will see The columns of this table have the obvious meaning: in each row you will see
@ -349,7 +347,8 @@ to foil spam robots, remove one <tt>\@</tt> from them.
<br> <br>
@section page_translations_howtohelp How to help
@section page_translations_howtohelp How to Help
wxWidgets uses the standard <a href="http://www.gnu.org/software/gettext/">GNU wxWidgets uses the standard <a href="http://www.gnu.org/software/gettext/">GNU
gettext</a> tools for i18n so if you are already familiar with them you gettext</a> tools for i18n so if you are already familiar with them you

View File

@ -10,6 +10,8 @@
@page page_utils Utilities Overview @page page_utils Utilities Overview
@tableofcontents
In addition to the wxWidgets libraries (see @ref page_libs), some utilities 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 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 maintainance and will probably be of
@ -21,14 +23,6 @@ There are lots of other user-contributed and user-maintained packages;
see the wxWidgets download page: http://www.wxwidgets.org/downloads see the wxWidgets download page: http://www.wxwidgets.org/downloads
or directly http://wxcode.sourceforge.net or http://www.wxcommunity.com/ . or directly http://wxcode.sourceforge.net or http://www.wxcommunity.com/ .
@li @ref page_utils_emulator
@li @ref page_utils_helpview
@li @ref page_utils_hhp2cached
@li @ref page_utils_ifacecheck
@li @ref page_utils_wxrc
<hr>
@section page_utils_emulator Emulator @section page_utils_emulator Emulator
@ -60,7 +54,7 @@ of the help viewer. See wxHtmlHelpController for more details.
You can find HHP2Cached in @c utils/hhp2cached. You can find HHP2Cached in @c utils/hhp2cached.
@section page_utils_ifacecheck Interface checker @section page_utils_ifacecheck Interface Checker
This utility compares the wxWidgets real interface contained in the @c include This utility compares the wxWidgets real interface contained in the @c include
hierarchy with the wxWidgets interface used for documentation purposes and hierarchy with the wxWidgets interface used for documentation purposes and
@ -77,6 +71,14 @@ use for anything else than wxWidgets docs reviewing.
You can find it in @c utils/ifacecheck. You can find it in @c utils/ifacecheck.
@section page_utils_screenshotgen Screenshot Generator
This utility automates the process of taking screenshots of various GUI
components for use in the HTML documentation of wxWidgets.
You can find it in @c utils/screenshotgen.
@section page_utils_wxrc wxWidgets XML Resource Compiler @section page_utils_wxrc wxWidgets XML Resource Compiler
This utility allows the user to compile @e binary versions of their XRC files, This utility allows the user to compile @e binary versions of their XRC files,

View File

@ -10,13 +10,8 @@
@page overview_app wxApp Overview @page overview_app wxApp Overview
Classes: wxApp @tableofcontents
@li @ref overview_app_intro
@li @ref overview_app_shutdown
<hr>
@section overview_app_intro Introduction @section overview_app_intro Introduction
@ -75,6 +70,7 @@ function which returns a reference to the application object. Otherwise you can
only use the global @c wxTheApp pointer which is of type @c wxApp*. only use the global @c wxTheApp pointer which is of type @c wxApp*.
@section overview_app_shutdown Application Shutdown @section overview_app_shutdown Application Shutdown
The application normally shuts down when the last of its top level windows is The application normally shuts down when the last of its top level windows is

View File

@ -10,6 +10,8 @@
@page overview_archive Archive Formats @page overview_archive Archive Formats
@tableofcontents
The archive classes handle archive formats such as zip, tar, rar and cab. The archive classes handle archive formats such as zip, tar, rar and cab.
Currently wxZip, wxTar and wxZlib classes are included. Currently wxZip, wxTar and wxZlib classes are included.
@ -30,17 +32,6 @@ The classes are designed to handle archives on both seekable streams such as
disk files, or non-seekable streams such as pipes and sockets (see disk files, or non-seekable streams such as pipes and sockets (see
@ref overview_archive_noseek). @ref overview_archive_noseek).
See also wxFileSystem.
@li @ref overview_archive_create
@li @ref overview_archive_extract
@li @ref overview_archive_modify
@li @ref overview_archive_byname
@li @ref overview_archive_generic
@li @ref overview_archive_noseek
<hr>
@section overview_archive_create Creating an Archive @section overview_archive_create Creating an Archive

View File

@ -10,17 +10,7 @@
@page overview_aui wxAUI Overview @page overview_aui wxAUI Overview
Classes: @tableofcontents
@li wxAuiManager
@li wxAuiPaneInfo
@li wxAuiNotebook
@li wxAuiDockArt
@li wxAuiTabArt
@li wxAuiDefaultTabArt
@li wxAuiToolBar
@li wxAuiToolBarArt
@li wxAuiTabContainer
@li wxAuiTabContainerButton
wxAUI stands for Advanced User Interface. It aims to give the user a cutting wxAUI stands for Advanced User Interface. It aims to give the user a cutting
edge interface with floatable windows, and a user-customizable layout. The edge interface with floatable windows, and a user-customizable layout. The
@ -28,15 +18,8 @@ original wxAUI sources have kindly been made available under the wxWindows
licence by Kirix Corp. and they have since then been integrated into wxWidgets licence by Kirix Corp. and they have since then been integrated into wxWidgets
and further improved. and further improved.
wxAUI attempts to encapsulate the following aspects of the user interface: @see @ref group_class_aui
@li @ref overview_aui_frame
@li @ref overview_aui_toolbar
@li @ref overview_aui_modeless
@li @ref overview_aui_lnf
<hr>
@section overview_aui_frame Frame Management @section overview_aui_frame Frame Management
@ -46,6 +29,7 @@ are needed to interact with the document, and allow these configurations to be
saved into different perspectives and loaded at a later time. saved into different perspectives and loaded at a later time.
@section overview_aui_toolbar Toolbars @section overview_aui_toolbar Toolbars
Toolbars are a specialized subset of the frame management system and should Toolbars are a specialized subset of the frame management system and should
@ -54,6 +38,7 @@ additional functionality, such as "spring-loaded" rebar support, "chevron"
buttons and end-user customizability. buttons and end-user customizability.
@section overview_aui_modeless Modeless Controls @section overview_aui_modeless Modeless Controls
Modeless controls expose a tool palette or set of options that float above the Modeless controls expose a tool palette or set of options that float above the
@ -62,6 +47,7 @@ toolbar, these controls disappear when an option is selected, but may also be
"torn off" the toolbar into a floating frame of their own. "torn off" the toolbar into a floating frame of their own.
@section overview_aui_lnf Look and Feel @section overview_aui_lnf Look and Feel
Look and feel encompasses the way controls are drawn, both when shown Look and feel encompasses the way controls are drawn, both when shown
@ -75,4 +61,3 @@ possible, such as sizer implementation for frame management. Use classes
included in @ref page_libs_wxcore and @ref page_libs_wxbase only. included in @ref page_libs_wxcore and @ref page_libs_wxbase only.
*/ */

View File

@ -10,6 +10,8 @@
@page overview_backwardcompat Backwards Compatibility @page overview_backwardcompat Backwards Compatibility
@tableofcontents
Many of the GUIs and platforms supported by wxWidgets are continuously Many of the GUIs and platforms supported by wxWidgets are continuously
evolving, and some of the new platforms wxWidgets now supports were quite evolving, and some of the new platforms wxWidgets now supports were quite
unimaginable even a few years ago. In this environment wxWidgets must also unimaginable even a few years ago. In this environment wxWidgets must also
@ -20,13 +22,6 @@ interface across many platforms, but also to provide an interface that is
reasonably stable over time, to help protect its users from some of the reasonably stable over time, to help protect its users from some of the
uncertainty of the future. uncertainty of the future.
@li @ref overview_backwardcompat_versionnumbering
@li @ref overview_backwardcompat_sourcecompat
@li @ref overview_backwardcompat_libbincompat
@li @ref overview_backwardcompat_appbincompat
<hr>
@section overview_backwardcompat_versionnumbering The Version Numbering Scheme @section overview_backwardcompat_versionnumbering The Version Numbering Scheme
@ -170,4 +165,3 @@ numbers. It won't, for example, help you write code compatible with 2.6.x using
wxWidgets 2.8.x. wxWidgets 2.8.x.
*/ */

View File

@ -10,11 +10,7 @@
@page overview_bitmap Bitmaps and Icons @page overview_bitmap Bitmaps and Icons
Classes: @tableofcontents
@li wxBitmap
@li wxBitmapHandler
@li wxIcon
@li wxCursor
The wxBitmap class encapsulates the concept of a platform-dependent bitmap, The wxBitmap class encapsulates the concept of a platform-dependent bitmap,
either monochrome or colour. Platform-specific methods for creating a wxBitmap either monochrome or colour. Platform-specific methods for creating a wxBitmap
@ -90,12 +86,9 @@ PNG files embedded in resources (meaning either Windows resource section of the
executable file or OS X "Resource" subdirectory of the application bundle) or executable file or OS X "Resource" subdirectory of the application bundle) or
arrays containing PNG data included into the program code itself. arrays containing PNG data included into the program code itself.
@li @ref overview_bitmap_supportedformats @see @ref group_class_gdi
@li @ref overview_bitmap_handlers
<hr>
@section overview_bitmap_supportedformats Supported Bitmap File Formats @section overview_bitmap_supportedformats Supported Bitmap File Formats

View File

@ -10,25 +10,7 @@
@page overview_bookctrl wxBookCtrl Overview @page overview_bookctrl wxBookCtrl Overview
Classes: @tableofcontents
@li wxChoicebook
@li wxListbook
@li wxNotebook
@li wxSimplebook
@li wxTreebook
@li wxToolbook
Sections:
@li @ref overview_bookctrl_intro
@li @ref overview_bookctrl_bestbookctrl
<hr>
@section overview_bookctrl_intro Introduction
A book control is a convenient way of displaying multiple pages of information, A book control is a convenient way of displaying multiple pages of information,
displayed one page at a time. wxWidgets has five variants of this control: displayed one page at a time. wxWidgets has five variants of this control:
@ -46,6 +28,10 @@ Notice that wxSimplebook is special in that it only allows the program to
change the selection, thus it's usually used in slightly different change the selection, thus it's usually used in slightly different
circumstances than the other variants. circumstances than the other variants.
@see @ref group_class_bookctrl
@section overview_bookctrl_bestbookctrl Best Book @section overview_bookctrl_bestbookctrl Best Book
::wxBookCtrl is mapped to the class best suited for a given platform. Currently ::wxBookCtrl is mapped to the class best suited for a given platform. Currently

View File

@ -10,6 +10,8 @@
@page overview_bufferclasses Buffer Classes @page overview_bufferclasses Buffer Classes
@tableofcontents
wxWidgets uses two classes of classes for dealing with buffers in memory. wxWidgets uses two classes of classes for dealing with buffers in memory.
The first is one for dealing with character buffers, namely wxCharBuffer for The first is one for dealing with character buffers, namely wxCharBuffer for
@ -19,10 +21,6 @@ wide character c strings.
Secondly, wxWidgets uses, although only rarely currently, wxMemoryBuffer for Secondly, wxWidgets uses, although only rarely currently, wxMemoryBuffer for
dealing with raw buffers in memory. dealing with raw buffers in memory.
@li @ref overview_bufferclasses_xcb
<hr>
@section overview_bufferclasses_xcb wxXCharBuffer @section overview_bufferclasses_xcb wxXCharBuffer
@ -46,4 +44,3 @@ the buffer and don't want wxCharBuffer to delete it on destruction, use the
member function release to do so. member function release to do so.
*/ */

View File

@ -10,18 +10,7 @@
@page overview_cmndlg Common Dialogs @page overview_cmndlg Common Dialogs
Classes: @tableofcontents
@li wxColourDialog
@li wxFontDialog
@li wxPrintDialog
@li wxFileDialog
@li wxDirDialog
@li wxTextEntryDialog
@li wxPasswordEntryDialog
@li wxMessageDialog
@li wxSingleChoiceDialog
@li wxMultiChoiceDialog
Common dialog classes and functions encapsulate commonly-needed dialog box Common dialog classes and functions encapsulate commonly-needed dialog box
requirements. They are all 'modal', grabbing the flow of control until the user requirements. They are all 'modal', grabbing the flow of control until the user
@ -36,20 +25,9 @@ and a macro defines wxColourDialog to be the same as wxGenericColourDialog on
non-MS Windows platforms. However, under MS Windows, the generic dialog can non-MS Windows platforms. However, under MS Windows, the generic dialog can
also be used, for testing or other purposes. also be used, for testing or other purposes.
@li @ref overview_cmndlg_colour @see @ref group_class_cmndlg
@li @ref overview_cmndlg_font
@li @ref overview_cmndlg_print
@li @ref overview_cmndlg_file
@li @ref overview_cmndlg_dir
@li @ref overview_cmndlg_textentry
@li @ref overview_cmndlg_password
@li @ref overview_cmndlg_msg
@li @ref overview_cmndlg_singlechoice
@li @ref overview_cmndlg_multichoice
<hr>
@section overview_cmndlg_colour wxColourDialog Overview @section overview_cmndlg_colour wxColourDialog Overview
@ -109,6 +87,7 @@ if (dialog.ShowModal() == wxID_OK)
@endcode @endcode
@section overview_cmndlg_font wxFontDialog Overview @section overview_cmndlg_font wxFontDialog Overview
Classes: wxFontDialog, wxFontData Classes: wxFontDialog, wxFontData
@ -155,6 +134,7 @@ if (dialog.ShowModal() == wxID_OK)
@endcode @endcode
@section overview_cmndlg_print wxPrintDialog Overview @section overview_cmndlg_print wxPrintDialog Overview
Classes: wxPrintDialog, wxPrintData Classes: wxPrintDialog, wxPrintData
@ -166,6 +146,7 @@ The samples/printing example shows how to use it: see @ref overview_printing
for an excerpt from this example. for an excerpt from this example.
@section overview_cmndlg_file wxFileDialog Overview @section overview_cmndlg_file wxFileDialog Overview
Classes: wxFileDialog Classes: wxFileDialog
@ -197,6 +178,7 @@ description for each, such as:
@endverbatim @endverbatim
@section overview_cmndlg_dir wxDirDialog Overview @section overview_cmndlg_dir wxDirDialog Overview
Classes: wxDirDialog Classes: wxDirDialog
@ -205,6 +187,7 @@ This dialog shows a directory selector dialog, allowing the user to select a
single directory. single directory.
@section overview_cmndlg_textentry wxTextEntryDialog Overview @section overview_cmndlg_textentry wxTextEntryDialog Overview
Classes: wxTextEntryDialog Classes: wxTextEntryDialog
@ -213,6 +196,7 @@ This is a dialog with a text entry field. The value that the user entered is
obtained using wxTextEntryDialog::GetValue(). obtained using wxTextEntryDialog::GetValue().
@section overview_cmndlg_password wxPasswordEntryDialog Overview @section overview_cmndlg_password wxPasswordEntryDialog Overview
Classes: wxPasswordEntryDialog Classes: wxPasswordEntryDialog
@ -221,6 +205,7 @@ This is a dialog with a password entry field. The value that the user entered
is obtained using wxTextEntryDialog::GetValue(). is obtained using wxTextEntryDialog::GetValue().
@section overview_cmndlg_msg wxMessageDialog Overview @section overview_cmndlg_msg wxMessageDialog Overview
Classes: wxMessageDialog Classes: wxMessageDialog
@ -233,6 +218,7 @@ The return value of wxMessageDialog::ShowModal() indicates which button the
user pressed. user pressed.
@section overview_cmndlg_singlechoice wxSingleChoiceDialog Overview @section overview_cmndlg_singlechoice wxSingleChoiceDialog Overview
Classes: wxSingleChoiceDialog Classes: wxSingleChoiceDialog
@ -242,6 +228,7 @@ can select one of them. The selection can be obtained from the dialog as an
index, a string or client data. index, a string or client data.
@section overview_cmndlg_multichoice wxMultiChoiceDialog Overview @section overview_cmndlg_multichoice wxMultiChoiceDialog Overview
Classes: wxMultiChoiceDialog Classes: wxMultiChoiceDialog
@ -250,4 +237,3 @@ This dialog shows a list of choices, plus OK and (optionally) Cancel. The user
can select one or more of them. can select one or more of them.
*/ */

View File

@ -10,7 +10,11 @@
@page overview_container Container Classes @page overview_container Container Classes
Classes: wxList<T>, wxArray<T>, wxVector<T>, wxStack<T>, wxHashMap, wxHashSet @tableofcontents
@see @ref group_class_containers
@section overview_container_intro Overview @section overview_container_intro Overview
@ -47,6 +51,7 @@ wxList<T> when you must, i.e. when you use a wxWidgets function taking or
returning a container of such type. returning a container of such type.
@section overview_container_legacy Legacy Classes @section overview_container_legacy Legacy Classes
The list classes in wxWidgets are doubly-linked lists which may either own the The list classes in wxWidgets are doubly-linked lists which may either own the
@ -91,6 +96,7 @@ wxArrayString is somewhat special: it is an optimized version of wxArray which
uses its knowledge about wxString reference counting schema. uses its knowledge about wxString reference counting schema.
@section overview_container_std STL Build @section overview_container_std STL Build
To build wxWidgets with the standard containers you need to set To build wxWidgets with the standard containers you need to set
@ -125,6 +131,4 @@ default one. Here are the most important differences:
class. Please either use std::vector<bool> directly or use an integer array class. Please either use std::vector<bool> directly or use an integer array
instead. instead.
*/ */

View File

@ -16,8 +16,6 @@ REM These not automatically copied by Doxygen because they're not
REM used in doxygen documentation, only in our html footer and by our REM used in doxygen documentation, only in our html footer and by our
REM custom aliases REM custom aliases
copy images\powered-by-wxwidgets.png out\html 2>&1 >NUL copy images\powered-by-wxwidgets.png out\html 2>&1 >NUL
copy images\logo_*.png out\html 2>&1 >NUL
copy images\tab_*.gif out\html 2>&1 >NUL
copy images\generic\*.png out\html\generic 2>&1 >NUL copy images\generic\*.png out\html\generic 2>&1 >NUL
copy images\wxgtk\*.png out\html\wxgtk 2>&1 >NUL copy images\wxgtk\*.png out\html\wxgtk 2>&1 >NUL
copy images\wxmsw\*.png out\html\wxmsw 2>&1 >NUL copy images\wxmsw\*.png out\html\wxmsw 2>&1 >NUL

View File

@ -47,8 +47,6 @@ mkdir -p out/html/generic out/html/wxmsw out/html/wxgtk out/html/wxmac
# used in doxygen documentation, only in our html footer and by our # used in doxygen documentation, only in our html footer and by our
# custom aliases # custom aliases
cp images/powered-by-wxwidgets.png out/html cp images/powered-by-wxwidgets.png out/html
cp images/logo_*.png out/html
cp images/tab_*.gif out/html
cp images/wxmsw/*png out/html/wxmsw cp images/wxmsw/*png out/html/wxmsw
cp images/wxmac/*png out/html/wxmac cp images/wxmac/*png out/html/wxmac
cp images/wxgtk/*png out/html/wxgtk cp images/wxgtk/*png out/html/wxgtk

View File

@ -44,13 +44,4 @@ $(function() {
setCookie('sectionDiv.style.display', display); setCookie('sectionDiv.style.display', display);
}); });
list_of_members_link = $('a[href$="-members.html"]:first');
if(list_of_members_link.length) {
summary_div = $('div.header div.summary:first');
if(summary_div.length) {
summary_div.append(' | ');
summary_div.append(list_of_members_link.clone().text('List of All Members'));
}
}
}); });

View File

@ -141,7 +141,8 @@ void AutoCaptureMechanism::Save(wxBitmap* screenshot, const wxString& fileName)
if (!wxDirExists(default_dir)) if (!wxDirExists(default_dir))
wxMkdir(default_dir); wxMkdir(default_dir);
wxFileName fullFileName(default_dir, fileName + ".png"); wxFileName fullFileName(default_dir, "appear-" + fileName +
"-" + wxPlatformInfo::Get().GetPortIdShortName() + ".png");
// do not overwrite already existing files with this name // do not overwrite already existing files with this name
while (fullFileName.FileExists()) while (fullFileName.FileExists())

View File

@ -146,9 +146,7 @@ enum AdjustFlags
By default, screenshots are generated under the subdirectory "screenshots" By default, screenshots are generated under the subdirectory "screenshots"
of current working directory. During updating or adding new screenshots, of current working directory. During updating or adding new screenshots,
first make sure screenshots are generated correctly, and then copy them to first make sure screenshots are generated correctly, and then copy them to
the following subdirectory of docs/doxygen/images: the "docs/doxygen/images" folder directly.
"wxmsw" for MS Windows, "wxgtk" for Linux and "wxmac" for Mac OS.
@section tag_gui_assumption The Assumption of GUI @section tag_gui_assumption The Assumption of GUI