Some doc corrections; Watcom C++ corrections; VC++ 4 corrections

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2000-02-06 19:11:10 +00:00
parent 46132182f0
commit 457e6c54a2
32 changed files with 350 additions and 313 deletions

View File

@@ -355,7 +355,7 @@ clean_zlib: .SYMBOLIC
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw
MFTYPE=wat MFTYPE=wat
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake cd $(WXDIR)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE) tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw copy makefile.$(MFTYPE) $(WXDIR)\src\msw

View File

@@ -157,6 +157,8 @@ downloaded from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P
<h3 align=center><a name="samples"><hr>Samples<hr></a></h3> <h3 align=center><a name="samples"><hr>Samples<hr></a></h3>
Each of the following demonstrates one or more aspect of wxWindows.<P>
<ul> <ul>
<li><a href="../../samples/calendar">calendar</a>: a sample to test the wxCalendarCtrl class. <li><a href="../../samples/calendar">calendar</a>: a sample to test the wxCalendarCtrl class.
<li><a href="../../samples/caret">caret</a>: a sample to test the wxCaret class. <li><a href="../../samples/caret">caret</a>: a sample to test the wxCaret class.
@@ -231,6 +233,8 @@ Excel to be present).
<li><a href="../../samples/resource">resource</a>: shows how to use wxWindows resources (.wxr files). <li><a href="../../samples/resource">resource</a>: shows how to use wxWindows resources (.wxr files).
<li><a href="../../samples/richedit">richedit</a>: a work-in-progress rich text editor with plain text and HTML export <li><a href="../../samples/richedit">richedit</a>: a work-in-progress rich text editor with plain text and HTML export
facilities. facilities.
<li><a href="../../samples/rotate">rotate</a>: demonstrates interpolated and non-interpolated
rotation of a wxImage.
<li><a href="../../samples/sashtest">sashtest</a>: demonstrates use of the wxSashWindow class to allow <li><a href="../../samples/sashtest">sashtest</a>: demonstrates use of the wxSashWindow class to allow
the user to resize subwindows. the user to resize subwindows.
<li><a href="../../samples/scroll">scroll</a>: demonstrates wxScrolledWindow. <li><a href="../../samples/scroll">scroll</a>: demonstrates wxScrolledWindow.
@@ -258,10 +262,12 @@ wxTime, wxDate and wxVariant.
<h3 align=center><a name="demos"><hr>Demos<hr></a></h3> <h3 align=center><a name="demos"><hr>Demos<hr></a></h3>
The following are fully-fledged applications.<P>
<ul> <ul>
<li><a href="../../demos/bombs">bombs</a>: minesweeper-like game. <li><a href="../../demos/bombs">bombs</a>: minesweeper-like game.
<li><a href="../../demos/forty">forty</a>: a great little card game by Chris Breeze. A <li><a href="../../demos/dbbrowse">dbbrowse</a>: ODBC database browser application.
fully-fledged application! <li><a href="../../demos/forty">forty</a>: a great little card game by Chris Breeze.
<li><a href="../../demos/fractal">fractal</a>: fractal mountains by Andrew Davison. <li><a href="../../demos/fractal">fractal</a>: fractal mountains by Andrew Davison.
<li><a href="../../demos/life">life</a>: the game of Life by J. H. Conway, implemented in wxWindows by Guillermo Rodriguez Garcia. <li><a href="../../demos/life">life</a>: the game of Life by J. H. Conway, implemented in wxWindows by Guillermo Rodriguez Garcia.
<li><a href="../../demos/poem">poem</a>: a little poetry display program. <li><a href="../../demos/poem">poem</a>: a little poetry display program.

View File

@@ -20,3 +20,4 @@ The calendar control allows the user to pick a date interactively.
\wxheading{See also:} \wxheading{See also:}
\helpref{Calendar sample}{samplecalendar} \helpref{Calendar sample}{samplecalendar}

View File

@@ -142,3 +142,4 @@ Called when the mouse leaves the drop target.
Sets the data \helpref{wxDataObject}{wxdataobject} associated with the Sets the data \helpref{wxDataObject}{wxdataobject} associated with the
drop target and deletes any previously associated data object. drop target and deletes any previously associated data object.

View File

@@ -3,22 +3,18 @@
% encconv.h at 30/Dec/99 18:45:16 % encconv.h at 30/Dec/99 18:45:16
% %
\section{\class{wxEncodingConverter}}\label{wxencodingconverter} \section{\class{wxEncodingConverter}}\label{wxencodingconverter}
This class is capable of converting strings between any two This class is capable of converting strings between any two
8bit encodings/charsets. It can also convert from/to Unicode (but only 8-bit encodings/charsets. It can also convert from/to Unicode (but only
if you compiled wxWindows with wxUSE_UNICODE set to 1). if you compiled wxWindows with wxUSE_UNICODE set to 1).
\wxheading{Derived from} \wxheading{Derived from}
\helpref{wxObject}{wxobject} \helpref{wxObject}{wxobject}
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxEncodingConverter::wxEncodingConverter}\label{wxencodingconverterwxencodingconverter} \membersection{wxEncodingConverter::wxEncodingConverter}\label{wxencodingconverterwxencodingconverter}
\func{}{wxEncodingConverter}{\void} \func{}{wxEncodingConverter}{\void}
@@ -32,15 +28,15 @@ Constructor.
Initialize convertion. Both output or input encoding may Initialize convertion. Both output or input encoding may
be wxFONTENCODING\_UNICODE, but only if wxUSE\_ENCODING is set to 1. be wxFONTENCODING\_UNICODE, but only if wxUSE\_ENCODING is set to 1.
All subsequent calls to \helpref{Convert()}{wxencodingconverterconvert} All subsequent calls to \helpref{Convert()}{wxencodingconverterconvert}
will interpret it's argument will interpret its argument
as a string in {\it input\_enc} encoding and will output string in as a string in {\it input\_enc} encoding and will output string in
{\it output\_enc} encoding. {\it output\_enc} encoding.
You must call this method before calling Convert. You may call You must call this method before calling Convert. You may call
it more than once in order to switch to another conversion. it more than once in order to switch to another conversion.
{\it Method} affects behaviour of Convert() in case input character {\it Method} affects behaviour of Convert() in case input character
cannot be converted because it does not exist in output encoding: cannot be converted because it does not exist in output encoding:
\begin{twocollist} \begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxCONVERT\_STRICT}}{follow behaviour of GNU Recode - \twocolitem{{\bf wxCONVERT\_STRICT}}{follow behaviour of GNU Recode -
just copy unconvertable characters to output and don't change them just copy unconvertable characters to output and don't change them
(its integer value will stay the same)} (its integer value will stay the same)}
@@ -59,7 +55,6 @@ FALSE if given conversion is impossible, TRUE otherwise
to Unicode with non-Unicode build of wxWindows or if input to Unicode with non-Unicode build of wxWindows or if input
or output encoding is not supported.) or output encoding is not supported.)
\membersection{wxEncodingConverter::Convert}\label{wxencodingconverterconvert} \membersection{wxEncodingConverter::Convert}\label{wxencodingconverterconvert}
\func{wxString}{Convert}{\param{const wxString\& }{input}} \func{wxString}{Convert}{\param{const wxString\& }{input}}
@@ -73,8 +68,6 @@ or output encoding is not supported.)
Convert input string according to settings passed to \helpref{Init}{wxencodingconverterinit}. Convert input string according to settings passed to \helpref{Init}{wxencodingconverterinit}.
Note that you must call Init before using Convert! Note that you must call Init before using Convert!
\membersection{wxEncodingConverter::GetPlatformEquivalents}\label{wxencodingconvertergetplatformequivalents} \membersection{wxEncodingConverter::GetPlatformEquivalents}\label{wxencodingconvertergetplatformequivalents}
\func{static wxFontEncodingArray}{GetPlatformEquivalents}{\param{wxFontEncoding }{enc}, \param{int }{platform = wxPLATFORM\_CURRENT}} \func{static wxFontEncodingArray}{GetPlatformEquivalents}{\param{wxFontEncoding }{enc}, \param{int }{platform = wxPLATFORM\_CURRENT}}
@@ -82,7 +75,7 @@ Note that you must call Init before using Convert!
Return equivalents for given font that are used Return equivalents for given font that are used
under given platform. Supported platforms: under given platform. Supported platforms:
\begin{itemize} \begin{itemize}\itemsep=0pt
\item wxPLATFORM\_UNIX \item wxPLATFORM\_UNIX
\item wxPLATFORM\_WINDOWS \item wxPLATFORM\_WINDOWS
\item wxPLATFORM\_OS2 \item wxPLATFORM\_OS2
@@ -93,6 +86,7 @@ under given platform. Supported platforms:
wxPLATFORM\_CURRENT means the plaform this binary was compiled for. wxPLATFORM\_CURRENT means the plaform this binary was compiled for.
Examples: Examples:
\begin{verbatim} \begin{verbatim}
current platform enc returned value current platform enc returned value
---------------------------------------------- ----------------------------------------------
@@ -115,22 +109,18 @@ encodings. (It usually returns only one encoding.)
\wxheading{Notes} \wxheading{Notes}
\begin{itemize} \begin{itemize}\itemsep=0pt
\item Note that argument {\it enc} itself may be present in returned array! \item Note that argument {\it enc} itself may be present in the returned array,
(So that you can - as a side effect - detect whether the so that you can - as a side effect - detect whether the
encoding is native for this platform or not.) encoding is native for this platform or not.
\item helpref{Convert}{wxencodingconverterconvert} is not limited to \item helpref{Convert}{wxencodingconverterconvert} is not limited to
converting between equivalent encodings, it can convert between arbitrary converting between equivalent encodings, it can convert between arbitrary
two encodings! two encodings.
\item If {\it enc} is present in returned array, then it is {\bf always} first \item If {\it enc} is present in returned array, then it is {\bf always} first
item of it. item of it.
\item Please note that the returned array may not contain any items at all.
\item Please not that returned array may not contain any item at all!
\end{itemize} \end{itemize}
\membersection{wxEncodingConverter::GetAllEquivalents}\label{wxencodingconvertergetallequivalents} \membersection{wxEncodingConverter::GetAllEquivalents}\label{wxencodingconvertergetallequivalents}
\func{static wxFontEncodingArray}{GetAllEquivalents}{\param{wxFontEncoding }{enc}} \func{static wxFontEncodingArray}{GetAllEquivalents}{\param{wxFontEncoding }{enc}}
@@ -142,3 +132,4 @@ equivalent encodings, regardless the platform, and including itself.
This platform's encodings are before others in the array. And again, if {\it enc} is in the array, This platform's encodings are before others in the array. And again, if {\it enc} is in the array,
it is the very first item in it. it is the very first item in it.

View File

@@ -3,14 +3,12 @@
% helpfrm.h at 24/Oct/99 18:03:10 % helpfrm.h at 24/Oct/99 18:03:10
% %
\section{\class{wxHtmlHelpFrame}}\label{wxhtmlhelpframe} \section{\class{wxHtmlHelpFrame}}\label{wxhtmlhelpframe}
This class is used by \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller} This class is used by \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}
to display help. to display help.
It is internal class and should not be used directly - except for the case It is an internal class and should not be used directly - except for the case
you're writing your own HTML help controller. when you're writing your own HTML help controller.
\wxheading{Derived from} \wxheading{Derived from}
@@ -18,8 +16,6 @@ you're writing your own HTML help controller.
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxHtmlHelpFrame::wxHtmlHelpFrame}\label{wxhtmlhelpframewxhtmlhelpframe} \membersection{wxHtmlHelpFrame::wxHtmlHelpFrame}\label{wxhtmlhelpframewxhtmlhelpframe}
\func{}{wxHtmlHelpFrame}{\param{wxHtmlHelpData* }{data = NULL}} \func{}{wxHtmlHelpFrame}{\param{wxHtmlHelpData* }{data = NULL}}
@@ -30,7 +26,7 @@ Constructor.
{\it style} is combination of these flags: {\it style} is combination of these flags:
\begin{twocollist} \begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxHF\_TOOLBAR}}{Help frame has toolbar.} \twocolitem{\windowstyle{wxHF\_TOOLBAR}}{Help frame has toolbar.}
\twocolitem{\windowstyle{wxHF\_CONTENTS}}{Help frame has contents panel.} \twocolitem{\windowstyle{wxHF\_CONTENTS}}{Help frame has contents panel.}
\twocolitem{\windowstyle{wxHF\_INDEX}}{Help frame has index panel.} \twocolitem{\windowstyle{wxHF\_INDEX}}{Help frame has index panel.}
@@ -40,7 +36,6 @@ Constructor.
\twocolitem{\windowstyle{wxHF\_PRINT}}{Toolbar contains "print" button.} \twocolitem{\windowstyle{wxHF\_PRINT}}{Toolbar contains "print" button.}
\end{twocollist} \end{twocollist}
\membersection{wxHtmlHelpFrame::Create}\label{wxhtmlhelpframecreate} \membersection{wxHtmlHelpFrame::Create}\label{wxhtmlhelpframecreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxString\& }{title = wxEmptyString}, \param{int }{style = wxHF\_DEFAULTSTYLE}} \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id}, \param{const wxString\& }{title = wxEmptyString}, \param{int }{style = wxHF\_DEFAULTSTYLE}}
@@ -49,49 +44,47 @@ Creates the frame.
{\it style} is combination of these flags: {\it style} is combination of these flags:
\begin{twocollist} \begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxHF\_TOOLBAR}}{Help frame has toolbar.} \twocolitem{\windowstyle{wxHF\_TOOLBAR}}{Help frame has toolbar.}
\twocolitem{\windowstyle{wxHF\_CONTENTS}}{Help frame has contents panel.} \twocolitem{\windowstyle{wxHF\_CONTENTS}}{Help frame has contents panel.}
\twocolitem{\windowstyle{wxHF\_INDEX}}{Help frame has index panel.} \twocolitem{\windowstyle{wxHF\_INDEX}}{Help frame has index panel.}
\twocolitem{\windowstyle{wxHF\_SEARCH}}{Help frame has search panel.} \twocolitem{\windowstyle{wxHF\_SEARCH}}{Help frame has search panel.}
\end{twocollist} \end{twocollist}
\membersection{wxHtmlHelpFrame::CreateContents}\label{wxhtmlhelpframecreatecontents} \membersection{wxHtmlHelpFrame::CreateContents}\label{wxhtmlhelpframecreatecontents}
\func{void}{CreateContents}{\param{bool }{show\_progress = FALSE}} \func{void}{CreateContents}{\param{bool }{show\_progress = FALSE}}
Creates contents panel. (May take some time.) Creates contents panel. (May take some time.)
\membersection{wxHtmlHelpFrame::CreateIndex}\label{wxhtmlhelpframecreateindex} \membersection{wxHtmlHelpFrame::CreateIndex}\label{wxhtmlhelpframecreateindex}
\func{void}{CreateIndex}{\param{bool }{show\_progress = FALSE}} \func{void}{CreateIndex}{\param{bool }{show\_progress = FALSE}}
Creates index panel. (May take some time.) Creates index panel. (May take some time.)
\membersection{wxHtmlHelpFrame::CreateSearch}\label{wxhtmlhelpframecreatesearch} \membersection{wxHtmlHelpFrame::CreateSearch}\label{wxhtmlhelpframecreatesearch}
\func{void}{CreateSearch}{\void} \func{void}{CreateSearch}{\void}
Creates search panel. Creates search panel.
\membersection{wxHtmlHelpFrame::Display}\label{wxhtmlhelpframedisplay} \membersection{wxHtmlHelpFrame::Display}\label{wxhtmlhelpframedisplay}
\func{bool}{Display}{\param{const wxString\& }{x}} \func{bool}{Display}{\param{const wxString\& }{x}}
\func{bool}{Display}{\param{const int }{id}} \func{bool}{Display}{\param{const int }{id}}
Displays page x. If not found it will offect the user a choice of Displays page x. If not found it will give the user the choice of
searching books. searching books.
Looking for the page runs in these steps: Looking for the page runs in these steps:
1. try to locate file named x (if x is for example "doc/howto.htm")
2. try to open starting page of book x \begin{enumerate}\itemsep=0pt
3. try to find x in contents (if x is for example "How To ...") \item try to locate file named x (if x is for example "doc/howto.htm")
4. try to find x in index (if x is for example "How To ...") \item try to open starting page of book x
\item try to find x in contents (if x is for example "How To ...")
\item try to find x in index (if x is for example "How To ...")
\end{enumerate}
The second form takes numeric ID as the parameter. The second form takes numeric ID as the parameter.
(uses extension to MS format, <param name="ID" value=id>) (uses extension to MS format, <param name="ID" value=id>)
@@ -111,7 +104,6 @@ Displays contents panel.
Displays index panel. Displays index panel.
\membersection{wxHtmlHelpFrame::GetData}\label{wxhtmlhelpframegetdata} \membersection{wxHtmlHelpFrame::GetData}\label{wxhtmlhelpframegetdata}
\func{wxHtmlHelpData*}{GetData}{\void} \func{wxHtmlHelpData*}{GetData}{\void}
@@ -124,7 +116,6 @@ Return wxHtmlHelpData object.
Search for given keyword. Search for given keyword.
\membersection{wxHtmlHelpFrame::ReadCustomization}\label{wxhtmlhelpframereadcustomization} \membersection{wxHtmlHelpFrame::ReadCustomization}\label{wxhtmlhelpframereadcustomization}
\func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{const wxString\& }{path = wxEmptyString}} \func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{const wxString\& }{path = wxEmptyString}}
@@ -135,7 +126,7 @@ Reads user's settings for this frame (see \helpref{wxHtmlHelpController::ReadCus
\func{void}{RefreshLists}{\param{bool }{show\_progress = FALSE}} \func{void}{RefreshLists}{\param{bool }{show\_progress = FALSE}}
Refresh all panels. This is neccessary if new book was added. Refresh all panels. This is necessary if new book was added.
\membersection{wxHtmlHelpFrame::SetTitleFormat}\label{wxhtmlhelpframesettitleformat} \membersection{wxHtmlHelpFrame::SetTitleFormat}\label{wxhtmlhelpframesettitleformat}
@@ -148,24 +139,23 @@ Sets frame's title format. {\it format} must contain exactly one "\%s"
\func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}} \func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}}
Add books to search choice panel Add books to search choice panel.
\membersection{wxHtmlHelpFrame::WriteCustomization}\label{wxhtmlhelpframewritecustomization} \membersection{wxHtmlHelpFrame::WriteCustomization}\label{wxhtmlhelpframewritecustomization}
\func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{const wxString\& }{path = wxEmptyString}} \func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{const wxString\& }{path = wxEmptyString}}
Saves user's settings for this frame (see \helpref{wxHtmlHelpController::WriteCustomization}{wxhtmlhelpcontrollerwritecustomization}) Saves user's settings for this frame (see \helpref{wxHtmlHelpController::WriteCustomization}{wxhtmlhelpcontrollerwritecustomization}).
\membersection{wxHtmlHelpFrame::AddToolbarButtons}\label{wxhtmlhelpframeaddtoolbarbuttons} \membersection{wxHtmlHelpFrame::AddToolbarButtons}\label{wxhtmlhelpframeaddtoolbarbuttons}
\func{virtual void}{AddToolbarButtons}{\param{wxToolBar *}{toolBar}, \param{int }{style}} \func{virtual void}{AddToolbarButtons}{\param{wxToolBar *}{toolBar}, \param{int }{style}}
You may override this virtual method to add more buttons into help frame's You may override this virtual method to add more buttons into help frame's
toolbar. {\it toolBar} is pointer to the toolbar and {\it style} is style toolbar. {\it toolBar} is a pointer to the toolbar and {\it style} is the style
flag as passed to Create method. flag as passed to Create method.
wxToolBar::Realize is called immediately after returning from this function. wxToolBar::Realize is called immediately after returning from this function.
See {\it samples/html/helpview} for an example. See {\it samples/html/helpview} for an example.

View File

@@ -32,8 +32,7 @@ which specifies what charset (e.g. "iso8859_1") was used in contents
and index files. Please note that this line is incompatible with and index files. Please note that this line is incompatible with
MS HTML Help Workshop and it would either silently remove it or complain MS HTML Help Workshop and it would either silently remove it or complain
with some error. See also with some error. See also
\helpref{Writing non-English applications.}{nonenglishoverview} \helpref{Writing non-English applications}{nonenglishoverview}.
\wxheading{Contents file (.hhc)} \wxheading{Contents file (.hhc)}

View File

@@ -100,7 +100,6 @@ to {\bf INADDR\_ANY}.
Returns TRUE on success, FALSE if something went wrong. Returns TRUE on success, FALSE if something went wrong.
% %
% LocalHost % LocalHost
% %
@@ -109,7 +108,7 @@ Returns TRUE on success, FALSE if something went wrong.
\func{bool}{LocalHost}{\void} \func{bool}{LocalHost}{\void}
Set address to localhost (127.0.0.1). Whenever possible, use the Set address to localhost (127.0.0.1). Whenever possible, use the
\helpref{wxIPV4address::AnyAddress}{wxipv4addressanyaddress}, \helpref{wxIPV4address::AnyAddress}{wxipv4addressanyaddress},
function instead of this one, as this will correctly handle multi-homed function instead of this one, as this will correctly handle multi-homed
hosts and avoid other small problems. hosts and avoid other small problems.
@@ -117,3 +116,4 @@ hosts and avoid other small problems.
\wxheading{Return value} \wxheading{Return value}
Returns TRUE on success, FALSE if something went wrong. Returns TRUE on success, FALSE if something went wrong.

View File

@@ -96,198 +96,197 @@ licendoc.txt) for conditions of software and documentation use.
\section*{wxWindows Library License, Version 3} \section*{wxWindows Library License, Version 3}
Copyright (C) 1998 Julian Smart, Robert Roebling, Vadim Zeitlin et al. Copyright (C) 1998 Julian Smart, Robert Roebling, Vadim Zeitlin et al.
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
\begin{center} \begin{center}
WXWINDOWS LIBRARY LICENSE\\ WXWINDOWS LIBRARY LICENSE\\
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
\end{center} \end{center}
This library is free software; you can redistribute it and/or modify it This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at the Free Software Foundation; either version 2 of the License, or (at
your option) any later version. your option) any later version.
This library is distributed in the hope that it will be useful, but This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
General Public License for more details. General Public License for more details.
You should have received a copy of the GNU Library General Public License You should have received a copy of the GNU Library General Public License
along with this software, usually in a file named COPYING.LIB. If not, along with this software, usually in a file named COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA~02111-1307 USA. Boston, MA~02111-1307 USA.
EXCEPTION NOTICE EXCEPTION NOTICE
1. As a special exception, the copyright holders of this library give 1. As a special exception, the copyright holders of this library give
permission for additional uses of the text contained in this release of permission for additional uses of the text contained in this release of
the library as licensed under the wxWindows Library License, applying the library as licensed under the wxWindows Library License, applying
either version 3 of the License, or (at your option) any later version of either version 3 of the License, or (at your option) any later version of
the License as published by the copyright holders of version 3 of the the License as published by the copyright holders of version 3 of the
License document. License document.
2. The exception is that you may create binary object code versions of any 2. The exception is that you may create binary object code versions of any
works using this library or based on this library, and use, copy, modify, works using this library or based on this library, and use, copy, modify,
link and distribute such binary object code files unrestricted under terms link and distribute such binary object code files unrestricted under terms
of your choice. of your choice.
3. If you copy code from files distributed under the terms of the GNU 3. If you copy code from files distributed under the terms of the GNU
General Public License or the GNU Library General Public License into a General Public License or the GNU Library General Public License into a
copy of this library, as this license permits, the exception does not copy of this library, as this license permits, the exception does not
apply to the code that you add in this way. To avoid misleading anyone as apply to the code that you add in this way. To avoid misleading anyone as
to the status of such modified files, you must delete this exception to the status of such modified files, you must delete this exception
notice from such code and/or adjust the licensing conditions notice notice from such code and/or adjust the licensing conditions notice
accordingly. accordingly.
4. If you write modifications of your own for this library, it is your
choice whether to permit this exception to apply to your modifications.
If you do not wish that, you must delete the exception notice from such
code and/or adjust the licensing conditions notice accordingly.
4. If you write modifications of your own for this library, it is your
choice whether to permit this exception to apply to your modifications.
If you do not wish that, you must delete the exception notice from such
code and/or adjust the licensing conditions notice accordingly.
\section*{GNU Library General Public License, Version 2} \section*{GNU Library General Public License, Version 2}
Copyright (C) 1991 Free Software Foundation, Inc. Copyright (C) 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA 675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is [This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.] numbered 2 because it goes with version 2 of the ordinary GPL.]
\wxheading{Preamble} \wxheading{Preamble}
The licenses for most software are designed to take away your The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change Licenses are intended to guarantee your freedom to share and change
free software -- to make sure the software is free for all its users. free software -- to make sure the software is free for all its users.
This license, the Library General Public License, applies to some This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for other libraries whose authors decide to use it. You can use it for
your libraries, too. your libraries, too.
When we speak of free software, we are referring to freedom, not When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things. in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights. anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it. you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights. it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library. permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on version, so that any problems introduced by others will not reflect on
the original authors' reputations. the original authors' reputations.
Finally, any free program is threatened constantly by software Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this, transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all. free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license. the same as in the ordinary license.
The reason we have a separate public license for some libraries is that The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License derivative of the original library, and the ordinary General Public License
treats it as such. treats it as such.
Because of this blurred distinction, using the ordinary General Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better. concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries. will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The "work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only former contains code derived from the library, while the latter only
works together with the library. works together with the library.
Note that it is possible for a library to be covered by the ordinary Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one. General Public License rather than by this special one.
\begin{center} \begin{center}
GNU LIBRARY GENERAL PUBLIC LICENSE\\ GNU LIBRARY GENERAL PUBLIC LICENSE\\
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
\end{center} \end{center}
0. This License Agreement applies to any software library which 0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is General Public License (also called "this License"). Each licensee is
addressed as "you". addressed as "you".
A "library" means a collection of software functions and/or data A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables. (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".) included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for "Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation interface definition files, plus the scripts used to control compilation
and installation of the library. and installation of the library.
Activities other than copying, distribution and modification are not Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does. and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's 1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact appropriate copyright notice and disclaimer of warranty; keep intact
@@ -295,45 +294,45 @@ all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the warranty; and distribute a copy of this License along with the
Library. Library.
You may charge a fee for the physical act of transferring a copy, You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a and you may at your option offer warranty protection in exchange for a
fee. fee.
2. You may modify your copy or copies of the Library or any portion 2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1 distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions: above, provided that you also meet all of these conditions:
\begin{indented}{1cm} \begin{indented}{1cm}
a) The modified work must itself be a software library. a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change. stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License. charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that, is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of table, the facility still operates, and performs whatever part of
its purpose remains meaningful. its purpose remains meaningful.
(For example, a function in a library to compute square roots has (For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must application-supplied function or table used by this function must
be optional: if the application does not supply it, the square be optional: if the application does not supply it, the square
root function must still compute square roots.) root function must still compute square roots.)
\end{indented} \end{indented}
These requirements apply to the modified work as a whole. If These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library, identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the this License, whose permissions for other licensees extend to the
@@ -350,124 +349,123 @@ with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under a storage or distribution medium does not bring the other work under
the scope of this License. the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public 3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2, that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in that version instead if you wish.) Do not make any other change in
these notices. these notices.
Once this change is made in a given copy, it is irreversible for Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy. subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of This option is useful when you wish to copy part of the code of
the Library into a program that is not a library. the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or 4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange. medium customarily used for software interchange.
If distribution of object code is made by offering access to copy If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not distribute the source code, even though third parties are not
compelled to copy the source along with the object code. compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the 5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License. therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License. library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not. derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law. threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.) Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6. distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6, Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself. whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or 6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse modification of the work for the customer's own use and reverse
engineering for debugging such modifications. engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one directing the user to the copy of this License. Also, you must do one
of these things: of these things:
\begin{indented}{1cm} \begin{indented}{1cm}
a) Accompany the work with the complete corresponding a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application Library will not necessarily be able to recompile the application
to use the modified definitions.) to use the modified definitions.)
b) Accompany the work with a written offer, valid for at b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution. than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above from a designated place, offer equivalent access to copy the above
specified materials from the same place. specified materials from the same place.
d) Verify that the user has already received a copy of these d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy. materials or that you have already sent this user a copy.
\end{indented} \end{indented}
For an executable, the required form of the "work that uses the For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception, reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies which the executable runs, unless that component itself accompanies
the executable. the executable.
It may happen that this requirement contradicts the license It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you use both them and the Library together in an executable that you
distribute. distribute.
7. You may place library facilities that are a work based on the 7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on library, provided that the separate distribution of the work based on
@@ -475,49 +473,49 @@ the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things: permitted, and provided that you do these two things:
\begin{indented}{1cm} \begin{indented}{1cm}
a) Accompany the combined library with a copy of the same work a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the facilities. This must be distributed under the terms of the
Sections above. Sections above.
b) Give prominent notice with the combined library of the fact b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work. where to find the accompanying uncombined form of the same work.
\end{indented} \end{indented}
8. You may not copy, modify, sublicense, link with, or distribute 8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies, rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance. terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not 9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying all its terms and conditions for copying, distributing or modifying
the Library or works based on it. the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the 10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein. restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to You are not responsible for enforcing compliance by third parties to
this License. this License.
11. If, as a consequence of a court judgment or allegation of patent 11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues), infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to the only way you could satisfy both it and this License would be to
@@ -531,7 +529,7 @@ It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is integrity of the free software distribution system which is
implemented by public license practices. Many people have made implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing system; it is up to the author/donor to decide if he or she is willing
@@ -541,51 +539,51 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License. be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in 12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries, an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if excluded. In such case, this License incorporates the limitation as if
written in the body of this License. written in the body of this License.
13. The Free Software Foundation may publish revised and/or new 13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time. versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version, Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns. but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and "any later version", you have the option of following the terms and
conditions either of that version or of any later version published by conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by license version number, you may choose any version ever published by
the Free Software Foundation. the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free 14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these, programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing of all derivatives of our free software and of promoting the sharing
and reuse of software generally. and reuse of software generally.
\begin{center} \begin{center}
NO WARRANTY NO WARRANTY
\end{center} \end{center}
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
@@ -598,18 +596,18 @@ DAMAGES.
\begin{center} \begin{center}
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS
\end{center} \end{center}
\wxheading{Appendix: How to Apply These Terms to Your New Libraries} \wxheading{Appendix: How to Apply These Terms to Your New Libraries}
If you develop a new library, and you want it to be of the greatest If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License). ordinary General Public License).
To apply these terms, attach the following notices to the library. It is To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found. "copyright" line and a pointer to where the full notice is found.
@@ -617,7 +615,7 @@ convey the exclusion of warranty; and each file should have at least the
\footnotesize{ \footnotesize{
\begin{verbatim} \begin{verbatim}
<one line to give the library's name and a brief idea of what it does.> <one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author> Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public modify it under the terms of the GNU Library General Public
@@ -626,7 +624,7 @@ version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Library General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU Library General Public
@@ -635,12 +633,11 @@ Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
\end{verbatim} \end{verbatim}
} }
Also add information on how to contact you by electronic and paper mail. Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names: necessary. Here is a sample; alter the names:
\footnotesize{ \footnotesize{
\begin{verbatim} \begin{verbatim}
@@ -652,10 +649,8 @@ Ty Coon, President of Vice
\end{verbatim} \end{verbatim}
} }
That's all there is to it! That's all there is to it!
\input{body.tex} \input{body.tex}
\input{classes.tex} \input{classes.tex}
\input{category.tex} \input{category.tex}

View File

@@ -112,3 +112,4 @@ Destructor.
\constfunc{size\_t}{GetSize}{\void} \constfunc{size\_t}{GetSize}{\void}
Returns the current size of the stream. Returns the current size of the stream.

View File

@@ -55,3 +55,4 @@ Delete all informations about the address.
\func{int}{SockAddrLen}{\void} \func{int}{SockAddrLen}{\void}
Returns the length of the socket address. Returns the length of the socket address.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -28,3 +28,4 @@ native" line termination characters and write them as "native" files if needed
wxDir is a helper class for enumerating the files or subdirectories of a wxDir is a helper class for enumerating the files or subdirectories of a
directory. It may be used to enumerate all files, only files satisfying the directory. It may be used to enumerate all files, only files satisfying the
given template mask or only non-hidden files. given template mask or only non-hidden files.

View File

@@ -309,3 +309,4 @@ Waits until the thread terminates and returns its exit code or {\tt
You can only Wait() for joinable (not detached) threads. You can only Wait() for joinable (not detached) threads.
This function can only be called from another thread context. This function can only be called from another thread context.

View File

@@ -34,7 +34,7 @@ be stopped later with \helpref{Stop}{wxtimerstop}.
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTimer::wxTimer}{wxtimerctordef} \membersection{wxTimer::wxTimer}\label{wxtimerctordef}
\func{}{wxTimer}{\void} \func{}{wxTimer}{\void}
@@ -42,7 +42,7 @@ Default constructor. If you use it to construct the object and don't call
\helpref{SetOwner}{wxtimersetowner} later, you must override \helpref{SetOwner}{wxtimersetowner} later, you must override
\helpref{Notify}{wxtimernotify} method to process the notifications. \helpref{Notify}{wxtimernotify} method to process the notifications.
\membersection{wxTimer::wxTimer}{wxtimerwxtimer} \membersection{wxTimer::wxTimer}\label{wxtimerwxtimer}
\func{}{wxTimer}{\param{wxEvtHandler *}{owner}, \param{int }{id = -1}} \func{}{wxTimer}{\param{wxEvtHandler *}{owner}, \param{int }{id = -1}}
@@ -61,20 +61,20 @@ Destructor. Stops the timer if it is running.
Returns the current interval for the timer (in milliseconds). Returns the current interval for the timer (in milliseconds).
\membersection{wxTimer::IsOneShot}{wxtimerisoneshot} \membersection{wxTimer::IsOneShot}\label{wxtimerisoneshot}
\constfunc{bool}{IsOneShot}{\void} \constfunc{bool}{IsOneShot}{\void}
Returns TRUE if the timer is one shot, i.e. if it will stop after firing the Returns TRUE if the timer is one shot, i.e. if it will stop after firing the
first notification automatically. first notification automatically.
\membersection{wxTimer::IsRunning}{wxtimerisrunning} \membersection{wxTimer::IsRunning}\label{wxtimerisrunning}
\constfunc{bool}{IsRunning}{\void} \constfunc{bool}{IsRunning}{\void}
Returns TRUE if the timer is running, FALSE if it is stopped. Returns TRUE if the timer is running, FALSE if it is stopped.
\membersection{wxTimer::Notify}{wxtimernotify} \membersection{wxTimer::Notify}\label{wxtimernotify}
\func{void}{Notify}{\void} \func{void}{Notify}{\void}
@@ -83,7 +83,7 @@ used and \helpref{SetOwner}{wxtimersetowner} wasn't called.
Perform whatever action which is to be taken periodically here. Perform whatever action which is to be taken periodically here.
\membersection{wxTimer::SetOwner}{wxtimersetowner} \membersection{wxTimer::SetOwner}\label{wxtimersetowner}
\func{void}{SetOwner}{\param{wxEvtHandler *}{owner}, \param{int }{id = -1}} \func{void}{SetOwner}{\param{wxEvtHandler *}{owner}, \param{int }{id = -1}}
@@ -91,7 +91,7 @@ Associates the timer with the given {\it owner} object. When the timer is
running, the owner will receive \helpref{timer events}{wxtimerevent} with running, the owner will receive \helpref{timer events}{wxtimerevent} with
id equal to {\it id} specified here. id equal to {\it id} specified here.
\membersection{wxTimer::Start}{wxtimerstart} \membersection{wxTimer::Start}\label{wxtimerstart}
\func{bool}{Start}{\param{int}{ milliseconds = -1}, \param{bool}{ oneShot=FALSE}} \func{bool}{Start}{\param{int}{ milliseconds = -1}, \param{bool}{ oneShot=FALSE}}
@@ -103,7 +103,7 @@ If {\it oneShot} is FALSE (the default), the \helpref{Notify}{wxtimernotify}
function will be called repeatedly until the timer is stopped. If TRUE, function will be called repeatedly until the timer is stopped. If TRUE,
it will be called only once and the timer will stop automatically. it will be called only once and the timer will stop automatically.
\membersection{wxTimer::Stop}{wxtimerstop} \membersection{wxTimer::Stop}\label{wxtimerstop}
\func{void}{Stop}{\void} \func{void}{Stop}{\void}
@@ -153,7 +153,7 @@ void MyFrame::OnTimer(wxTimerEvent& event)
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTimerEvent::GetInterval}{wxtimereventgetinterval} \membersection{wxTimerEvent::GetInterval}\label{wxtimereventgetinterval}
\constfunc{int}{GetInterval}{\void} \constfunc{int}{GetInterval}{\void}
@@ -204,3 +204,4 @@ Resumes the stop watch after having been paused with \helpref{wxStopWatch::Pause
Returns the time in milliseconds since the start (or restart) or the last call of Returns the time in milliseconds since the start (or restart) or the last call of
\helpref{wxStopWatch::Pause}{wxstopwatchpause}. \helpref{wxStopWatch::Pause}{wxstopwatchpause}.

View File

@@ -17,7 +17,6 @@ describes locales concept.
Whereever in the following text {\it iso8859-2} and {\it windows-1250} are Whereever in the following text {\it iso8859-2} and {\it windows-1250} are
used, any encodings are meant and any encodings may be substituted there. used, any encodings are meant and any encodings may be substituted there.
\wxheading{Locales} \wxheading{Locales}
The best way how to ensure correctly displayed texts in GUI across platforms The best way how to ensure correctly displayed texts in GUI across platforms
@@ -96,8 +95,6 @@ You must set {\it bConvertEncoding} to TRUE in
\helpref{wxLocale constructor}{wxlocaledefctor} in order to enable \helpref{wxLocale constructor}{wxlocaledefctor} in order to enable
runtime encoding conversion! runtime encoding conversion!
\wxheading{Font mapping} \wxheading{Font mapping}
You can use \helpref{wxEncodingConverter}{wxencodingconverter} and You can use \helpref{wxEncodingConverter}{wxencodingconverter} and
@@ -122,16 +119,12 @@ if (!wxTheFontMapper->IsEncodingAvailable(enc, facename))
...display text... ...display text...
\end{verbatim} \end{verbatim}
\wxheading{Converting data} \wxheading{Converting data}
You may want to store all program data (created documents etc.) in You may want to store all program data (created documents etc.) in
same encoding, let's say windows1250. Obviously, the best way would same encoding, let's say windows1250. Obviously, the best way would
be to use \helpref{wxEncodingConverter}{wxencodingconverter}. be to use \helpref{wxEncodingConverter}{wxencodingconverter}.
\wxheading{Help files} \wxheading{Help files}
If you're using \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller} there is If you're using \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller} there is
@@ -151,3 +144,4 @@ Charset=iso8859-2
This additional entry tells HTML help controller what encoding is used This additional entry tells HTML help controller what encoding is used
in contents and index tables. in contents and index tables.

View File

@@ -282,9 +282,22 @@ Note (1): setup.h overrides wxUSE_LIBJPEG and sets it to 0, since
imagjpeg.cpp doesn't compile. imagjpeg.cpp doesn't compile.
Note (2): makewat.env uses the odbc32.lib supplied in wxWindows' lib\watcom Note (2): makewat.env uses the odbc32.lib supplied in wxWindows' lib\watcom
directory. See the notes in that directory. directory. See the notes in that directory.
Note (3): makefile compilation seems broken (28/12/99) with a Note (3): if variant.cpp is compiled with date/time class
GPF in the linker. Too many object files? Could try switching options, the linker gives up. So the date/time option is switched
some options off in setup.h. off for Watcom C++. Also, wxAutomationObject is not compiled with
Watcom C++.
Note (4): if Watcom can't read the precompiled header when
building a sample, try deleting src\msw\watcom.pch and
compiling the sample again.
Note (5): if you get _popen_ and _pclose_ link errors, try
recompiling wxWindows with XPM support disabled in setup.h.
Alternatively, make sure these lines exist at the top of
src\xpm\xpmi.h:
// Added by JACS for Watcom C++/wxWindows compilation (no popen/pclose functions)
#ifdef __WATCOMC__
#define NO_ZPIPE
#endif
Metrowerks CodeWarrior compilation Metrowerks CodeWarrior compilation
---------------------------------- ----------------------------------

View File

@@ -152,11 +152,13 @@ private:
// calendar events macros // calendar events macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#define EVT_CALENDAR(id, fn) { wxEVT_CALENDAR_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, typedef void (wxEvtHandler::*wxCalendarEventFunction)(wxCalendarEvent&);
#define EVT_CALENDAR_SEL_CHANGED(id, fn) { wxEVT_CALENDAR_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL },
#define EVT_CALENDAR_DAY(id, fn) { wxEVT_CALENDAR_DAY_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, #define EVT_CALENDAR(id, fn) { wxEVT_CALENDAR_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxCalendarEventFunction) & fn, (wxObject *) NULL },
#define EVT_CALENDAR_MONTH(id, fn) { wxEVT_CALENDAR_MONTH_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, #define EVT_CALENDAR_SEL_CHANGED(id, fn) { wxEVT_CALENDAR_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxCalendarEventFunction) & fn, (wxObject *) NULL },
#define EVT_CALENDAR_YEAR(id, fn) { wxEVT_CALENDAR_YEAR_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, #define EVT_CALENDAR_DAY(id, fn) { wxEVT_CALENDAR_DAY_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxCalendarEventFunction) & fn, (wxObject *) NULL },
#define EVT_CALENDAR_WEEKDAY_CLICKED(id, fn) { wxEVT_CALENDAR_WEEKDAY_CLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL }, #define EVT_CALENDAR_MONTH(id, fn) { wxEVT_CALENDAR_MONTH_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxCalendarEventFunction) & fn, (wxObject *) NULL },
#define EVT_CALENDAR_YEAR(id, fn) { wxEVT_CALENDAR_YEAR_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxCalendarEventFunction) & fn, (wxObject *) NULL },
#define EVT_CALENDAR_WEEKDAY_CLICKED(id, fn) { wxEVT_CALENDAR_WEEKDAY_CLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxCalendarEventFunction) & fn, (wxObject *) NULL },
#endif // _WX_CALCTRL_H #endif // _WX_CALCTRL_H

View File

@@ -91,7 +91,8 @@ public:
wxVariant(const wxChar* val, const wxString& name = wxEmptyString); // Necessary or VC++ assumes bool! wxVariant(const wxChar* val, const wxString& name = wxEmptyString); // Necessary or VC++ assumes bool!
wxVariant(const wxStringList& val, const wxString& name = wxEmptyString); wxVariant(const wxStringList& val, const wxString& name = wxEmptyString);
wxVariant(const wxList& val, const wxString& name = wxEmptyString); // List of variants wxVariant(const wxList& val, const wxString& name = wxEmptyString); // List of variants
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
wxVariant(const wxTime& val, const wxString& name = wxEmptyString); // Time wxVariant(const wxTime& val, const wxString& name = wxEmptyString); // Time
wxVariant(const wxDate& val, const wxString& name = wxEmptyString); // Date wxVariant(const wxDate& val, const wxString& name = wxEmptyString); // Date
#endif #endif
@@ -135,7 +136,8 @@ public:
bool operator== (const wxList& value) const; bool operator== (const wxList& value) const;
bool operator!= (const wxList& value) const; bool operator!= (const wxList& value) const;
void operator= (const wxList& value) ; void operator= (const wxList& value) ;
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
bool operator== (const wxTime& value) const; bool operator== (const wxTime& value) const;
bool operator!= (const wxTime& value) const; bool operator!= (const wxTime& value) const;
void operator= (const wxTime& value) ; void operator= (const wxTime& value) ;
@@ -160,7 +162,8 @@ public:
inline operator char () const { return GetChar(); } inline operator char () const { return GetChar(); }
inline operator long () const { return GetLong(); } inline operator long () const { return GetLong(); }
inline operator bool () const { return GetBool(); } inline operator bool () const { return GetBool(); }
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
inline operator wxTime () const { return GetTime(); } inline operator wxTime () const { return GetTime(); }
inline operator wxDate () const { return GetDate(); } inline operator wxDate () const { return GetDate(); }
#endif #endif
@@ -196,7 +199,9 @@ public:
wxString GetString() const ; wxString GetString() const ;
wxList& GetList() const ; wxList& GetList() const ;
wxStringList& GetStringList() const ; wxStringList& GetStringList() const ;
#if wxUSE_TIMEDATE
// For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
wxTime GetTime() const ; wxTime GetTime() const ;
wxDate GetDate() const ; wxDate GetDate() const ;
#endif #endif
@@ -232,7 +237,8 @@ protected:
bool Convert(double* value) const; bool Convert(double* value) const;
bool Convert(wxString* value) const; bool Convert(wxString* value) const;
bool Convert(char* value) const; bool Convert(char* value) const;
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
bool Convert(wxTime* value) const; bool Convert(wxTime* value) const;
bool Convert(wxDate* value) const; bool Convert(wxDate* value) const;
#endif #endif

View File

@@ -105,7 +105,7 @@ public:
#endif // wxUSE_SPINBTN #endif // wxUSE_SPINBTN
#if wxUSE_SPINCTRL #if wxUSE_SPINCTRL
void OnSpinCtrl(wxCommandEvent& event); void OnSpinCtrl(wxSpinEvent& event);
#endif // wxUSE_SPINCTRL #endif // wxUSE_SPINCTRL
void OnEnableAll(wxCommandEvent& event); void OnEnableAll(wxCommandEvent& event);
@@ -1066,7 +1066,7 @@ void MyPanel::OnSliderUpdate( wxCommandEvent &WXUNUSED(event) )
#if wxUSE_SPINCTRL #if wxUSE_SPINCTRL
void MyPanel::OnSpinCtrl(wxCommandEvent& event) void MyPanel::OnSpinCtrl(wxSpinEvent& event)
{ {
wxString s; wxString s;
s.Printf(_T("Spin ctrl changed: now %d (from event: %d)\n"), s.Printf(_T("Spin ctrl changed: now %d (from event: %d)\n"),

View File

@@ -83,6 +83,8 @@ all:
make -f makefile.b32 FINAL=$(FINAL) make -f makefile.b32 FINAL=$(FINAL)
cd $(WXDIR)\samples\image cd $(WXDIR)\samples\image
make -f makefile.b32 FINAL=$(FINAL) make -f makefile.b32 FINAL=$(FINAL)
cd $(WXDIR)\samples\rotate
make -f makefile.b32 FINAL=$(FINAL)
cd $(WXDIR)\samples\dde cd $(WXDIR)\samples\dde
make -f makefile.b32 FINAL=$(FINAL) make -f makefile.b32 FINAL=$(FINAL)
# cd $(WXDIR)\samples\regtest # cd $(WXDIR)\samples\regtest
@@ -153,6 +155,8 @@ clean:
make -f makefile.b32 clean make -f makefile.b32 clean
cd $(WXDIR)\samples\image cd $(WXDIR)\samples\image
make -f makefile.b32 clean make -f makefile.b32 clean
cd $(WXDIR)\samples\rotate
make -f makefile.b32 clean
cd $(WXDIR)\samples\dde cd $(WXDIR)\samples\dde
make -f makefile.b32 clean make -f makefile.b32 clean
cd $(WXDIR)\samples cd $(WXDIR)\samples

View File

@@ -74,8 +74,6 @@ all:
cd $(WXDIR)\samples\html cd $(WXDIR)\samples\html
nmake -f makefile.dos FINAL=$(FINAL) nmake -f makefile.dos FINAL=$(FINAL)
!endif !endif
cd $(WXDIR)\samples\image
nmake -f makefile.dos FINAL=$(FINAL)
cd $(WXDIR)\samples\internat cd $(WXDIR)\samples\internat
nmake -f makefile.dos FINAL=$(FINAL) nmake -f makefile.dos FINAL=$(FINAL)
cd $(WXDIR)\samples\joytest cd $(WXDIR)\samples\joytest
@@ -205,8 +203,6 @@ clean:
cd $(WXDIR)\samples\html cd $(WXDIR)\samples\html
nmake -f makefile.dos clean nmake -f makefile.dos clean
!endif !endif
cd $(WXDIR)\samples\image
nmake -f makefile.dos clean
cd $(WXDIR)\samples\internat cd $(WXDIR)\samples\internat
nmake -f makefile.dos clean nmake -f makefile.dos clean
cd $(WXDIR)\samples\joytest cd $(WXDIR)\samples\joytest

View File

@@ -62,6 +62,7 @@ all clean:
-$(MAKE) -C regtest -f $(MAKEFILE) $@ -$(MAKE) -C regtest -f $(MAKEFILE) $@
-$(MAKE) -C resource -f $(MAKEFILE) $@ -$(MAKE) -C resource -f $(MAKEFILE) $@
-$(MAKE) -C richedit -f $(MAKEFILE) $@ -$(MAKE) -C richedit -f $(MAKEFILE) $@
-$(MAKE) -C rotate -f $(MAKEFILE) $@
-$(MAKE) -C sashtest -f $(MAKEFILE) $@ -$(MAKE) -C sashtest -f $(MAKEFILE) $@
-$(MAKE) -C scroll -f $(MAKEFILE) $@ -$(MAKE) -C scroll -f $(MAKEFILE) $@
-$(MAKE) -C scrollsub -f $(MAKEFILE) $@ -$(MAKE) -C scrollsub -f $(MAKEFILE) $@

View File

@@ -124,6 +124,8 @@ all:
cd $(WXDIR)\samples\richedit cd $(WXDIR)\samples\richedit
nmake -f makefile.vc FINAL=$(FINAL) nmake -f makefile.vc FINAL=$(FINAL)
!endif !endif
cd $(WXDIR)\samples\rotate
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\sashtest cd $(WXDIR)\samples\sashtest
nmake -f makefile.vc FINAL=$(FINAL) nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\scroll cd $(WXDIR)\samples\scroll
@@ -236,6 +238,8 @@ clean:
nmake -f makefile.vc clean nmake -f makefile.vc clean
cd $(WXDIR)\samples\richedit cd $(WXDIR)\samples\richedit
nmake -f makefile.vc clean nmake -f makefile.vc clean
cd $(WXDIR)\samples\rotate
nmake -f makefile.vc clean
cd $(WXDIR)\samples\sashtest cd $(WXDIR)\samples\sashtest
nmake -f makefile.vc clean nmake -f makefile.vc clean
cd $(WXDIR)\samples\scroll cd $(WXDIR)\samples\scroll

View File

@@ -2749,7 +2749,7 @@ wxImage wxImage::Rotate(double angle, const wxPoint & centre_of_rotation, bool i
// First, find rectangle that covers the rotated image; to do that, // First, find rectangle that covers the rotated image; to do that,
// rotate the four corners // rotate the four corners
const wxRotationPoint & p0 = centre_of_rotation; const wxRotationPoint p0 = centre_of_rotation;
wxRotationPoint p1 = rotated_point (0, 0, cos_angle, sin_angle, p0); wxRotationPoint p1 = rotated_point (0, 0, cos_angle, sin_angle, p0);
wxRotationPoint p2 = rotated_point (0, img.GetHeight(), cos_angle, sin_angle, p0); wxRotationPoint p2 = rotated_point (0, img.GetHeight(), cos_angle, sin_angle, p0);
@@ -2859,8 +2859,8 @@ wxImage wxImage::Rotate(double angle, const wxPoint & centre_of_rotation, bool i
} }
else else
{ {
const int & xs = wxCint (src.x); // wxCint performs rounding to the const int xs = wxCint (src.x); // wxCint performs rounding to the
const int & ys = wxCint (src.y); // closest integer const int ys = wxCint (src.y); // closest integer
if (0 <= xs && xs < img.GetWidth() && if (0 <= xs && xs < img.GetWidth() &&
0 <= ys && ys < img.GetHeight()) 0 <= ys && ys < img.GetHeight())

View File

@@ -828,7 +828,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxVariantDataString, wxVariantData)
* wxVariantDataTime * wxVariantDataTime
*/ */
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
class wxVariantDataTime: public wxVariantData class wxVariantDataTime: public wxVariantData
{ {
@@ -1135,7 +1136,8 @@ wxVariant::wxVariant(const wxList& val, const wxString& name) // List of variant
m_name = name; m_name = name;
} }
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
wxVariant::wxVariant(const wxTime& val, const wxString& name) // Time wxVariant::wxVariant(const wxTime& val, const wxString& name) // Time
{ {
m_data = new wxVariantDataTime(val); m_data = new wxVariantDataTime(val);
@@ -1439,7 +1441,8 @@ void wxVariant::operator= (const wxList& value)
} }
} }
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
bool wxVariant::operator== (const wxTime& value) const bool wxVariant::operator== (const wxTime& value) const
{ {
wxTime thisValue; wxTime thisValue;
@@ -1672,7 +1675,8 @@ wxString wxVariant::GetString() const
} }
} }
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
wxTime wxVariant::GetTime() const wxTime wxVariant::GetTime() const
{ {
wxTime value; wxTime value;
@@ -1872,7 +1876,8 @@ bool wxVariant::Convert(wxString* value) const
return TRUE; return TRUE;
} }
#if wxUSE_TIMEDATE // For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
bool wxVariant::Convert(wxTime* value) const bool wxVariant::Convert(wxTime* value) const
{ {
wxString type(GetType()); wxString type(GetType());
@@ -1898,3 +1903,4 @@ bool wxVariant::Convert(wxDate* value) const
} }
#endif #endif
// wxUSE_TIMEDATE // wxUSE_TIMEDATE

View File

@@ -1,6 +1,6 @@
#!/binb/wmake.exe #!/binb/wmake.exe
# This file was automatically generated by tmake at 14:31, 2000/01/19 # This file was automatically generated by tmake at 16:12, 2000/02/06
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
# #
@@ -99,6 +99,7 @@ COMMONOBJS = &
dbtable.obj & dbtable.obj &
dcbase.obj & dcbase.obj &
dlgcmn.obj & dlgcmn.obj &
dndcmn.obj &
dobjcmn.obj & dobjcmn.obj &
docmdi.obj & docmdi.obj &
docview.obj & docview.obj &
@@ -119,6 +120,7 @@ COMMONOBJS = &
fs_zip.obj & fs_zip.obj &
ftp.obj & ftp.obj &
gdicmn.obj & gdicmn.obj &
geometry.obj &
gifdecod.obj & gifdecod.obj &
hash.obj & hash.obj &
helpbase.obj & helpbase.obj &
@@ -662,6 +664,9 @@ dcbase.obj: $(COMMDIR)\dcbase.cpp
dlgcmn.obj: $(COMMDIR)\dlgcmn.cpp dlgcmn.obj: $(COMMDIR)\dlgcmn.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
dndcmn.obj: $(COMMDIR)\dndcmn.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
dobjcmn.obj: $(COMMDIR)\dobjcmn.cpp dobjcmn.obj: $(COMMDIR)\dobjcmn.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
@@ -722,6 +727,9 @@ ftp.obj: $(COMMDIR)\ftp.cpp
gdicmn.obj: $(COMMDIR)\gdicmn.cpp gdicmn.obj: $(COMMDIR)\gdicmn.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
geometry.obj: $(COMMDIR)\geometry.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
gifdecod.obj: $(COMMDIR)\gifdecod.cpp gifdecod.obj: $(COMMDIR)\gifdecod.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
@@ -1134,7 +1142,7 @@ clean_zlib: .SYMBOLIC
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw
MFTYPE=wat MFTYPE=wat
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t self : .SYMBOLIC $(WXDIR)\distrib\msw\tmake\filelist.txt $(WXDIR)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake cd $(WXDIR)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE) tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw copy makefile.$(MFTYPE) $(WXDIR)\src\msw

View File

@@ -25,6 +25,9 @@
#include <math.h> #include <math.h>
#include <time.h> #include <time.h>
// Watcom C++ gives a linker error if this is compiled in.
#ifndef __WATCOMC__
#include "wx/msw/ole/automtn.h" #include "wx/msw/ole/automtn.h"
#include "wx/msw/private.h" #include "wx/msw/private.h"
@@ -551,6 +554,8 @@ bool ConvertVariantToOle(const wxVariant& variant, VARIANTARG& oleVariant)
oleVariant.vt = VT_BSTR; oleVariant.vt = VT_BSTR;
oleVariant.bstrVal = ConvertStringToOle(str); oleVariant.bstrVal = ConvertStringToOle(str);
} }
// For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled
#if wxUSE_TIMEDATE && !defined(__WATCOMC__)
else if (type == wxT("date")) else if (type == wxT("date"))
{ {
wxDate date( variant.GetDate() ); wxDate date( variant.GetDate() );
@@ -569,6 +574,7 @@ bool ConvertVariantToOle(const wxVariant& variant, VARIANTARG& oleVariant)
time.GetHour(), time.GetMinute(), time.GetSecond(), oleVariant.date)) time.GetHour(), time.GetMinute(), time.GetSecond(), oleVariant.date))
return FALSE; return FALSE;
} }
#endif
else if (type == wxT("void*")) else if (type == wxT("void*"))
{ {
oleVariant.vt = VT_DISPATCH; oleVariant.vt = VT_DISPATCH;
@@ -1159,3 +1165,5 @@ void ShowException(LPOLESTR szMember, HRESULT hr, EXCEPINFO *pexcep, unsigned in
#endif #endif
#endif // __WATCOMC__

View File

@@ -85,7 +85,7 @@ LRESULT APIENTRY _EXPORT wxRadioBtnWndProc(HWND hWnd,
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// the pointer to standard radio button wnd proc // the pointer to standard radio button wnd proc
static WNDPROC s_wndprocRadioBtn = (WNDPROC)NULL; static WXFARPROC s_wndprocRadioBtn = (WXFARPROC)NULL;
#endif // __WIN32__ #endif // __WIN32__
@@ -688,7 +688,7 @@ void wxRadioBox::SubclassRadioButton(WXHWND hWndBtn)
HWND hwndBtn = (HWND)hWndBtn; HWND hwndBtn = (HWND)hWndBtn;
if ( !s_wndprocRadioBtn ) if ( !s_wndprocRadioBtn )
s_wndprocRadioBtn = (WNDPROC)::GetWindowLong(hwndBtn, GWL_WNDPROC); s_wndprocRadioBtn = (WXFARPROC)::GetWindowLong(hwndBtn, GWL_WNDPROC);
::SetWindowLong(hwndBtn, GWL_WNDPROC, (long)wxRadioBtnWndProc); ::SetWindowLong(hwndBtn, GWL_WNDPROC, (long)wxRadioBtnWndProc);
::SetWindowLong(hwndBtn, GWL_USERDATA, (long)this); ::SetWindowLong(hwndBtn, GWL_USERDATA, (long)this);

View File

@@ -65,7 +65,8 @@ END_EVENT_TABLE()
// //
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
static WNDPROC gs_wndprocStatBar = NULL; // static WNDPROC gs_wndprocStatBar = NULL;
static WXFARPROC gs_wndprocStatBar = (WXFARPROC) NULL;
LRESULT APIENTRY wxStatusBarProc(HWND hwnd, LRESULT APIENTRY wxStatusBarProc(HWND hwnd,
UINT message, UINT message,
@@ -130,7 +131,7 @@ bool wxStatusBar95::Create(wxWindow *parent,
// SubclassWin(m_hWnd); // SubclassWin(m_hWnd);
// but we want to process the messages from it still, so must subclass it // but we want to process the messages from it still, so must subclass it
gs_wndprocStatBar = (WNDPROC)GetWindowLong(GetHwnd(), GWL_WNDPROC); gs_wndprocStatBar = (WXFARPROC)GetWindowLong(GetHwnd(), GWL_WNDPROC);
SetWindowLong(GetHwnd(), GWL_WNDPROC, (LONG)wxStatusBarProc); SetWindowLong(GetHwnd(), GWL_WNDPROC, (LONG)wxStatusBarProc);
SetWindowLong(GetHwnd(), GWL_USERDATA, (LONG)this); SetWindowLong(GetHwnd(), GWL_USERDATA, (LONG)this);

View File

@@ -44,6 +44,11 @@
#include "xpm.h" #include "xpm.h"
// Added by JACS for Watcom C++/wxWindows compilation (no popen/pclose functions)
#ifdef __WATCOMC__
#define NO_ZPIPE
#endif
/* /*
* lets try to solve include files * lets try to solve include files
*/ */

View File

@@ -286,6 +286,7 @@ void MyApp::GenerateSamples(const wxString& dir)
GenerateSample("DrawingVC", "drawing", dir + wxString("/samples/drawing"), wxStringList("drawing.cpp", 0)); GenerateSample("DrawingVC", "drawing", dir + wxString("/samples/drawing"), wxStringList("drawing.cpp", 0));
GenerateSample("ScrollVC", "scroll", dir + wxString("/samples/scroll"), wxStringList("scroll.cpp", 0)); GenerateSample("ScrollVC", "scroll", dir + wxString("/samples/scroll"), wxStringList("scroll.cpp", 0));
GenerateSample("WizardVC", "wizard", dir + wxString("/samples/wizard"), wxStringList("wiztest.cpp", 0)); GenerateSample("WizardVC", "wizard", dir + wxString("/samples/wizard"), wxStringList("wiztest.cpp", 0));
GenerateSample("RotateVC", "rotate", dir + wxString("/samples/rotate"), wxStringList("rotate.cpp", 0));
//// Demos //// Demos