another patch bring the docs more up to date (patch 1717776)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
62d8ddb2ee
commit
598e55d714
@ -500,14 +500,8 @@ descriptions of miscellaneous file handling functions.
|
|||||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||||
|
|
||||||
In addition to the core wxWidgets library, a number of further
|
In addition to the \helpref{wxWidgets libraries}{librarieslist}, some
|
||||||
libraries and utilities are supplied with each distribution.
|
additional utilities are supplied in the \tt{utils} hierarchy.
|
||||||
|
|
||||||
Some are under the 'contrib' hierarchy which mirrors the
|
|
||||||
structure of the main wxWidgets hierarchy. See also the 'utils'
|
|
||||||
hierarchy. The first place to look for documentation about
|
|
||||||
these tools and libraries is under the wxWidgets 'docs' hierarchy,
|
|
||||||
for example {\tt docs/htmlhelp/fl.chm}.
|
|
||||||
|
|
||||||
For other user-contributed packages, please see the Contributions page
|
For other user-contributed packages, please see the Contributions page
|
||||||
on the \urlref{wxWidgets Web site}{http://www.wxwidgets.org}.
|
on the \urlref{wxWidgets Web site}{http://www.wxwidgets.org}.
|
||||||
@ -535,19 +529,6 @@ Helpgen can be found in {\tt utils/HelpGen}.
|
|||||||
Xnest-based display emulator for X11-based PDA applications. On some
|
Xnest-based display emulator for X11-based PDA applications. On some
|
||||||
systems, the Xnest window does not synchronise with the
|
systems, the Xnest window does not synchronise with the
|
||||||
'skin' window. This program can be found in {\tt utils/emulator}.
|
'skin' window. This program can be found in {\tt utils/emulator}.
|
||||||
\item[{\bf XRC resource system}]
|
|
||||||
This is the sizer-aware resource system, and uses
|
|
||||||
XML-based resource specifications that can be generated by tools
|
|
||||||
such as \urlref{wxDesigner}{http://www.roebling.de}.
|
|
||||||
You can find this in {\tt src/xrc}, {\tt include/wx/xrc}, {\tt samples/xrc}.
|
|
||||||
For more information, see the \helpref{XML-based resource system overview}{xrcoverview}.
|
|
||||||
\item[{\bf Net library}]
|
|
||||||
Net is a collection of very simple mail and web related classes. Currently
|
|
||||||
there is only wxEmail, which makes it easy to send email messages via MAPI on Windows or sendmail on Unix.
|
|
||||||
You can find this in {\tt contrib/src/net} and {\tt contrib/include/wx/net}.
|
|
||||||
\item[{\bf Styled Text Control library}]
|
|
||||||
STC is a wrapper around Scintilla, a syntax-highlighting text editor.
|
|
||||||
You can find this in {\tt src/stc}, {\tt include/wx/stc}, and {\tt samples/stc}.
|
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\chapter{Programming strategies}\label{strategies}
|
\chapter{Programming strategies}\label{strategies}
|
||||||
@ -562,41 +543,37 @@ please submit them for inclusion here.
|
|||||||
|
|
||||||
\subsection{Use ASSERT}\label{useassert}
|
\subsection{Use ASSERT}\label{useassert}
|
||||||
|
|
||||||
Although I haven't done this myself within wxWidgets, it is good
|
It is good practice to use ASSERT statements liberally, that check for conditions
|
||||||
practice to use ASSERT statements liberally, that check for conditions that
|
that should or should not hold, and print out appropriate error messages.
|
||||||
should or should not hold, and print out appropriate error messages.
|
|
||||||
These can be compiled out of a non-debugging version of wxWidgets
|
These can be compiled out of a non-debugging version of wxWidgets
|
||||||
and your application. Using ASSERT is an example of `defensive programming':
|
and your application. Using ASSERT is an example of `defensive programming':
|
||||||
it can alert you to problems later on.
|
it can alert you to problems later on.
|
||||||
|
|
||||||
|
See \helpref{wxASSERT}{wxassert} for more info.
|
||||||
|
|
||||||
\subsection{Use wxString in preference to character arrays}\label{usewxstring}
|
\subsection{Use wxString in preference to character arrays}\label{usewxstring}
|
||||||
|
|
||||||
Using wxString can be much safer and more convenient than using wxChar *.
|
Using \helpref{wxString}{wxstring} can be much safer and more convenient than using wxChar *.
|
||||||
Again, I haven't practiced what I'm preaching, but I'm now trying to use
|
|
||||||
wxString wherever possible. You can reduce the possibility of memory
|
You can reduce the possibility of memory leaks substantially, and it is much more
|
||||||
leaks substantially, and it is much more convenient to use the overloaded
|
convenient to use the overloaded operators than functions such as \tt{strcmp}.
|
||||||
operators than functions such as strcmp. wxString won't add a significant
|
wxString won't add a significant overhead to your program; the overhead is compensated
|
||||||
overhead to your program; the overhead is compensated for by easier
|
for by easier manipulation (which means less code).
|
||||||
manipulation (which means less code).
|
|
||||||
|
|
||||||
The same goes for other data types: use classes wherever possible.
|
The same goes for other data types: use classes wherever possible.
|
||||||
|
|
||||||
\section{Strategies for portability}\label{portability}
|
\section{Strategies for portability}\label{portability}
|
||||||
|
|
||||||
\subsection{Use relative positioning or constraints}\label{userelativepositioning}
|
\subsection{Use sizers}\label{usesizers}
|
||||||
|
|
||||||
Don't use absolute panel item positioning if you can avoid it. Different GUIs have
|
Don't use absolute panel item positioning if you can avoid it. Different GUIs have
|
||||||
very differently sized panel items. Consider using the constraint system, although this
|
very differently sized panel items. Consider using the \helpref{sizers}{sizeroverview} instead.
|
||||||
can be complex to program.
|
|
||||||
|
|
||||||
Alternatively, you could use alternative .wrc (wxWidgets resource files) on different
|
|
||||||
platforms, with slightly different dimensions in each. Or space your panel items out
|
|
||||||
to avoid problems.
|
|
||||||
|
|
||||||
\subsection{Use wxWidgets resource files}\label{useresources}
|
\subsection{Use wxWidgets resource files}\label{useresources}
|
||||||
|
|
||||||
Use .xrc (wxWidgets resource files) where possible, because they can be easily changed
|
Use .xrc (wxWidgets resource files) where possible, because they can be easily changed
|
||||||
independently of source code.
|
independently of source code. See the \helpref{XRC overview}{xrcoverview} for more info.
|
||||||
|
|
||||||
\section{Strategies for debugging}\label{debugstrategies}
|
\section{Strategies for debugging}\label{debugstrategies}
|
||||||
|
|
||||||
@ -645,7 +622,7 @@ of debugging code, or you wish to print a bunch of variables).
|
|||||||
|
|
||||||
\subsection{Use the wxWidgets debugging facilities}\label{usedebuggingfacilities}
|
\subsection{Use the wxWidgets debugging facilities}\label{usedebuggingfacilities}
|
||||||
|
|
||||||
You can use wxDebugContext to check for
|
You can use \helpref{wxDebugContext}{wxdebugcontext} to check for
|
||||||
memory leaks and corrupt memory: in fact in debugging mode, wxWidgets will
|
memory leaks and corrupt memory: in fact in debugging mode, wxWidgets will
|
||||||
automatically check for memory leaks at the end of the program if wxWidgets is suitably
|
automatically check for memory leaks at the end of the program if wxWidgets is suitably
|
||||||
configured. Depending on the operating system and compiler, more or less
|
configured. Depending on the operating system and compiler, more or less
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||||
|
|
||||||
Starting from version 2.5.0 wxWidgets can be built either as a single large
|
wxWidgets can be built either as a single large
|
||||||
library (this is called the {\it monolithic build}) or as several smaller
|
library (this is called the {\it monolithic build}) or as several smaller
|
||||||
libraries ({\it multilib build}). Multilib build is the default.
|
libraries ({\it multilib build}). Multilib build is the default.
|
||||||
|
|
||||||
@ -13,10 +13,6 @@ diagram show dependencies between them:
|
|||||||
\image{}{libs.gif}
|
\image{}{libs.gif}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
{\large {\bf wxAui}}
|
|
||||||
|
|
||||||
This contains the Advanced User Interface docking library.
|
|
||||||
|
|
||||||
{\large {\bf wxBase}}
|
{\large {\bf wxBase}}
|
||||||
|
|
||||||
Every wxWidgets application must link against this library. It contains
|
Every wxWidgets application must link against this library. It contains
|
||||||
@ -26,6 +22,18 @@ differences between platforms. wxBase can be used to develop console mode
|
|||||||
applications, it does not require any GUI libraries or running X Window System
|
applications, it does not require any GUI libraries or running X Window System
|
||||||
on Unix.
|
on Unix.
|
||||||
|
|
||||||
|
{\large {\bf wxCore}}
|
||||||
|
|
||||||
|
Basic GUI classes such as GDI classes or controls are in this library. All
|
||||||
|
wxWidgets GUI applications must link against this library, only console mode
|
||||||
|
applications don't.
|
||||||
|
|
||||||
|
{\large {\bf wxAui}}
|
||||||
|
|
||||||
|
This contains the Advanced User Interface docking library.
|
||||||
|
|
||||||
|
Requires wxHTML, wxAdvanced, wxCore, wxBase, wxXML.
|
||||||
|
|
||||||
{\large {\bf wxNet}}
|
{\large {\bf wxNet}}
|
||||||
|
|
||||||
Classes for network access:
|
Classes for network access:
|
||||||
@ -40,34 +48,28 @@ Classes for network access:
|
|||||||
\helpref{wxTCPConnection}{wxddeconnection}) }
|
\helpref{wxTCPConnection}{wxddeconnection}) }
|
||||||
\item{ \helpref{wxURL}{wxurl} }
|
\item{ \helpref{wxURL}{wxurl} }
|
||||||
\item{ wxInternetFSHandler (a \helpref{wxFileSystem handler}{fs}) }
|
\item{ wxInternetFSHandler (a \helpref{wxFileSystem handler}{fs}) }
|
||||||
Requires wxBase.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
Requires wxBase.
|
||||||
|
|
||||||
{\large {\bf wxRichText}}
|
{\large {\bf wxRichText}}
|
||||||
|
|
||||||
This contains generic rich text control functionality.
|
This contains generic rich text control functionality.
|
||||||
|
|
||||||
|
Requires wxAdvanced, wxHTML, wxCore, wxXML, wxBase.
|
||||||
|
|
||||||
{\large {\bf wxXML}}
|
{\large {\bf wxXML}}
|
||||||
|
|
||||||
This library contains simple classes for parsing XML documents. Note that
|
This library contains simple classes for parsing XML documents.
|
||||||
their API {\em will} change in the future and backward
|
|
||||||
compatibility will not be preserved. Use of this library in your applications
|
|
||||||
is not recommended, it is only meant for use by XML resources system. Future
|
|
||||||
versions of wxWidgets will contain new XML handling classes with DOM-like API.
|
|
||||||
Requires wxBase.
|
Requires wxBase.
|
||||||
|
|
||||||
{\large {\bf wxCore}}
|
|
||||||
|
|
||||||
Basic GUI classes such as GDI classes or controls are in this library. All
|
|
||||||
wxWidgets GUI applications must link against this library, only console mode
|
|
||||||
applications don't.
|
|
||||||
|
|
||||||
{\large {\bf wxAdvanced}}
|
{\large {\bf wxAdvanced}}
|
||||||
|
|
||||||
Advanced or rarely used GUI classes:
|
Advanced or rarely used GUI classes:
|
||||||
|
|
||||||
\begin{itemize}\itemsep=0pt
|
\begin{itemize}\itemsep=0pt
|
||||||
\item{ wxBufferedDC }
|
\item{ \helpref{wxBufferedDC}{wxbuffereddc} }
|
||||||
\item{ \helpref{wxCalendarCtrl}{wxcalendarctrl} }
|
\item{ \helpref{wxCalendarCtrl}{wxcalendarctrl} }
|
||||||
\item{ \helpref{wxGrid classes}{gridoverview} }
|
\item{ \helpref{wxGrid classes}{gridoverview} }
|
||||||
\item{ \helpref{wxJoystick}{wxjoystick} }
|
\item{ \helpref{wxJoystick}{wxjoystick} }
|
||||||
@ -78,6 +80,7 @@ Advanced or rarely used GUI classes:
|
|||||||
\item{ \helpref{wxWizard}{wxwizard} }
|
\item{ \helpref{wxWizard}{wxwizard} }
|
||||||
\item{ \helpref{wxSashLayoutWindow}{wxsashlayoutwindow} }
|
\item{ \helpref{wxSashLayoutWindow}{wxsashlayoutwindow} }
|
||||||
\item{ \helpref{wxSashWindow}{wxsashwindow} }
|
\item{ \helpref{wxSashWindow}{wxsashwindow} }
|
||||||
|
\item{ ...others }
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Requires wxCore and wxBase.
|
Requires wxCore and wxBase.
|
||||||
@ -95,6 +98,7 @@ Requires wxCore and wxBase.
|
|||||||
This library contains \helpref{wxGLCanvas}{wxglcanvas} class for integrating
|
This library contains \helpref{wxGLCanvas}{wxglcanvas} class for integrating
|
||||||
OpenGL library with wxWidgets. Unlike all others, this library is {\em not}
|
OpenGL library with wxWidgets. Unlike all others, this library is {\em not}
|
||||||
part of the monolithic library, it is always built as separate library.
|
part of the monolithic library, it is always built as separate library.
|
||||||
|
|
||||||
Requires wxCore and wxBase.
|
Requires wxCore and wxBase.
|
||||||
|
|
||||||
{\large {\bf wxHTML}}
|
{\large {\bf wxHTML}}
|
||||||
@ -103,7 +107,9 @@ Simple HTML renderer and other \helpref{HTML rendering classes}{wxhtml} are
|
|||||||
contained in this library, as well as
|
contained in this library, as well as
|
||||||
\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller},
|
\helpref{wxHtmlHelpController}{wxhtmlhelpcontroller},
|
||||||
\helpref{wxBestHelpController}{wxhelpcontroller} and
|
\helpref{wxBestHelpController}{wxhelpcontroller} and
|
||||||
\helpref{wxHtmlListBox}{wxhtmllistbox}. Requires wxCore and wxBase.
|
\helpref{wxHtmlListBox}{wxhtmllistbox}.
|
||||||
|
|
||||||
|
Requires wxCore and wxBase.
|
||||||
|
|
||||||
{\large {\bf wxODBC}}
|
{\large {\bf wxODBC}}
|
||||||
|
|
||||||
@ -121,11 +127,18 @@ Requires wxCore, wxBase and wxXML.
|
|||||||
|
|
||||||
\helpref{wxDbGridTableBase}{wxdbgridtablebase} class which combines
|
\helpref{wxDbGridTableBase}{wxdbgridtablebase} class which combines
|
||||||
\helpref{wxGrid}{wxgrid} and \helpref{wxDbTable}{wxdbtable}.
|
\helpref{wxGrid}{wxgrid} and \helpref{wxDbTable}{wxdbtable}.
|
||||||
|
|
||||||
Requires wxODBC and wxAdvanced.
|
Requires wxODBC and wxAdvanced.
|
||||||
|
|
||||||
{\large {\bf wxXRC}}
|
{\large {\bf wxXRC}}
|
||||||
|
|
||||||
This library contains \helpref{wxXmlResource}{wxxmlresource} class that
|
This library contains \helpref{wxXmlResource}{wxxmlresource} class that
|
||||||
provides access to XML resource files in XRC format.
|
provides access to XML resource files in XRC format
|
||||||
|
|
||||||
Requires wxXML, wxCore, wxAdvanced and wxHTML.
|
Requires wxXML, wxCore, wxAdvanced and wxHTML.
|
||||||
|
|
||||||
|
{\large {\bf wxSTC}}
|
||||||
|
|
||||||
|
STC (Styled Text Control) is a wrapper around Scintilla, a syntax-highlighting text editor.
|
||||||
|
|
||||||
|
Requires wxCore, wxBase.
|
||||||
|
@ -16,3 +16,18 @@ requires. This chapter collects notes about differences among supported platform
|
|||||||
\input wxmgl.tex
|
\input wxmgl.tex
|
||||||
\input wxx11.tex
|
\input wxx11.tex
|
||||||
|
|
||||||
|
\subsection{Documentation for the native toolkits}\label{nativedocs}
|
||||||
|
|
||||||
|
It's sometimes useful to interface directly with the underlying toolkit
|
||||||
|
used by wxWidgets to e.g. use toolkit-specific features.
|
||||||
|
In such case (or when you want to e.g. write a port-specific patch) it can be
|
||||||
|
necessary to use the underlying toolkit API directly:
|
||||||
|
|
||||||
|
\begin{description}\itemsep=0pt
|
||||||
|
\item[{\bf wxMSW}]
|
||||||
|
wxMSW port uses win32 API: \urlref{MSDN docs}{http://msdn2.microsoft.com/en-us/library/ms649779.aspx}
|
||||||
|
|
||||||
|
\item[{\bf wxGTK}]
|
||||||
|
wxGTK port uses GTK+: \urlref{GTK+ 2.x docs}{http://developer.gnome.org/doc/API/2.0/gtk/index.html}
|
||||||
|
|
||||||
|
\end{description}
|
Loading…
Reference in New Issue
Block a user