merged 2.4 branch into the trunk

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-12-04 14:11:26 +00:00
parent 59a944cb63
commit 2b5f62a0b2
1057 changed files with 37805 additions and 24034 deletions

View File

@@ -170,6 +170,44 @@ wxThread and related classes:
OTHER CHANGES
=============
2.4.0
-----
wxMSW:
- fixed loss of client data in wxChoice::SetString()
2.3.4
-----
All:
- added (partial) Indonesian translations (Bambang Purnomosidi D. P.)
- added wxSizer::Show()/Hide() (Carl Godkin)
- fixed bugs in wxDateTime::SetToWeekDay()/GetWeek()
Unix (Base/GUI):
- minor OpenBSD compilation/linking fixes, now builds OOB under OpenBSD 3.1
- don't include -I/usr/include nor -I/usr/local/include in wx-config output
- shared library symbols are now versioned on platforms that support it (Linux)
wxGTK:
- Further work for GTK 2.0 and Unicode support.
- Addition of native frame site grip.
wxX11:
- Unicode support through Pango library.
wxMSW:
- fixed crashes in wxListCtrl under XP
- added context menu for rich edit wxTextCtrl
wxHTML:
- fixed wxHTML to work in Unicode build
2.3.3
-----

View File

@@ -11,7 +11,7 @@ IMPORTANT NOTE:
When sending bug reports tell us what version of wxWindows you are
using (including the beta) and what compiler on what system. One
example: wxGTK 2.3.3, gcc 2.95.4, Redhat 6.2
example: wxGTK 2.3.4, gcc 2.95.4, Redhat 6.2
* The simplest case
-------------------
@@ -44,7 +44,7 @@ If you want to remove wxWindows on Unix you can do this:
* The GTK+ 2 case
-----------------
wxGTK 2.3.3 has support for the new version 2.0.X of GTK+. This means
wxGTK 2.3.4 has support for the new version 2.0.X of GTK+. This means
that wxGTK apps can now make use Unicode as the underlying encoding
for all text operations. This is a very fundamental change and will
need time to stabilize, so be careful. Anyways, after installing a
@@ -73,7 +73,7 @@ such as for GTK and Motif, you can now build two complete libraries and use
them concurrently. For this end, you have to create a directory for each build
of wxWindows - you may also want to create different versions of wxWindows
and test them concurrently. Most typically, this would be a version configured
with --enable-debug_flag and one without. Note, that only one build can
with --enable-debug and one without. Note, that only one build can
currently be installed, so you'd have to use local version of the library for
that purpose.
@@ -94,7 +94,7 @@ cd ..
md buildgtkd
cd buildgtkd
../configure --with-gtk --enable-debug_flag
../configure --with-gtk --enable-debug
make
cd ..
@@ -341,6 +341,12 @@ The following options handle the kind of library you want to build.
must be compiled with the same debug
options.
--enable-debug Same as --enable-debug_info and
--enable-debug_flag together. Unless you have
some very specific needs, you should use this
option instead of --enable-debug_info/flag ones
separately.
* Feature Options
-----------------

View File

@@ -1,45 +1,48 @@
<html>
<HTML>
<head>
<title>wxWindows 2 FAQ</title>
</head>
<HEAD>
<TITLE>wxWindows 2 FAQ</TITLE>
</HEAD>
<body bgcolor=#ffffff text=#000000 vlink="#00376a" link="#00529c" alink="#313063">
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<font face="Arial, Lucida Sans, Helvetica">
<font face="arial, lucida sans, helvetica">
<table width=100% border=0 cellpadding=3 cellspacing=0>
<tr>
<td bgcolor="#004080" align=left height=24 background="images/bluetitlegradient.gif">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
<font size=+1 face="arial, lucida sans, helvetica" color="#ffffff">
<b>wxWindows 2 FAQ</b>
</font>
</td>
</tr>
</table>
<P>
<p>
Welcome to the wxWindows FAQ. Please select a category:<P>
Welcome to the wxWindows FAQ. Please select a category:<p>
<ul>
<li><a href="faqgen.htm">General questions</a>
<li><a href="faqgtk.htm">wxWindows 2 for GTK+</a>
<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
<li><a href="faqx11.htm">wxWindows 2 for X11</a>
<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
<li><a href="faqcmn.htm">Questions common to all platforms</a>
<li><a href="faqgtk.htm">GTK+ questions</a>
<li><a href="faqmsw.htm">MS Windows questions</a>
<li><a href="faqmot.htm">Motif questions</a>
<li><a href="faqx11.htm">X11 questions</a>
<li><a href="faqmac.htm">Mac questions</a>
</ul>
<P>
<p>
For further information, please see the <a href="http://www.wxwindows.org" target=_top>wxWindows Web site</a>,
plus install.txt (per port), todo.txt (per port), and bugs.txt (all ports).
<P>
For further information, please see the
<a href="http://www.wxwindows.org" target=_top>wxWindows Web site</a>,
<a href="http://mintzer.pqdot.net/cgi-bin/wiki/wiki.pl" target=_top>wxWiki</a>
and install.txt (per port), todo.txt (per port), and bugs.txt (all ports) files
in your wxWindows installation.
<p>
</font>
</BODY>
</body>
</HTML>
</html>

View File

@@ -1,3 +1,4 @@
<HTML>
<HEAD>
@@ -25,15 +26,18 @@ See also <a href="faq.htm">top-level FAQ page</a>.
<h3>List of questions in this category</h3>
<ul>
<li><a href="#whatis">What is wxWindows?</a></li>
<li><a href="#licence">Can I use wxWindows 2 for both proprietary projects, and GPL&#39;ed projects?</a></li>
<li><a href="#support">Is there support?</a></li>
<li><a href="#users">Who uses wxWindows?</a></li>
<li><a href="#platforms">What platforms are supported by wxWindows 2?</a></li>
<li><a href="#specific">How does wxWindows 2 support platform-specific features?</a></li>
<li><a href="#platforms">What platforms are supported by wxWindows?</a></li>
<li><a href="#specific">How does wxWindows support platform-specific features?</a></li>
<li><a href="#stl">Does wxWindows use STL? or the standard string class?</a></li>
<li><a href="#richedit">Is there a rich edit/markup widget for wxWindows 2?</a></ li>
<li><a href="#richedit">Is there a rich edit/markup widget for wxWindows?</a></ li>
<li><a href="#exceptions">How to use C++ exceptions with wxWindows?</a></ li>
<li><a href="#dev">How is wxWindows 2 being developed?</a></li>
<li><a href="#distrib">How is wxWindows 2 distributed?</a></li>
<li><a href="#dev">How is wxWindows being developed?</a></li>
<li><a href="#distrib">How is wxWindows distributed?</a></li>
<li><a href="#future">What are the plans for the future?</a></li>
<li><a href="#base">What is wxBase?</a></li>
<li><a href="#univ">What is wxUniversal?</a></li>
<li><a href="#jave">What about Java?</a></li>
<li><a href="#help">How can I help the project?</a></li>
@@ -54,7 +58,7 @@ You don&#39;t have to use C++ to use wxWindows: there is a <a href="http://wxpyt
and also a <a href="http://wxperl.sourceforge.net" target=_top>Perl interface</a>.
<P>
<h3>Can I use wxWindows 2 for both proprietary (commercial) projects, and GPL&#39;ed projects?</h3>
<h3><a name="licence">Can I use wxWindows 2 for both proprietary (commercial) projects, and GPL&#39;ed projects?</a></h3>
Yes. Please see the <a href="newlicen.htm">licence</a> for details, but basically
you can distribute proprietary binaries without distributing any source code, and neither will wxWindows
@@ -64,7 +68,7 @@ The conditions for using wxWindows 2 are the same whether you are a personal, ac
or commercial developer.
<P>
<h3>Is there support?</h3>
<h3><a name="support">Is there support?</a></h3>
No official support, but the mailing list is very helpful and some people say that
wxWindows support is better than for much commercial software. The developers are
@@ -81,6 +85,9 @@ quite large for a list of this type.<P>
See <a href="users.htm">Users</a> for a list of some users and their applications, and
also <A href="feedback.htm">Feedback</a> for comments.<P>
Our highest-profile user yet is industry veteran and Lotus Corp. founder Mitch Kapor
and his <a href="http://www.osafoundation.org" target=_new>Open Source Applications Foundation</a>.
<P>
<H3><a name="platforms">What platforms are supported by wxWindows 2?</a></H3>
@@ -159,10 +166,9 @@ or by adding this to a header before you include any STL files:<P>
These are the possibilities so far:<P>
<ul>
<li>The richedit sample has a text editor that does markup.
<li>See <a href="http://www.scintilla.org" target=_top>www.scintilla.org</a> for
a very nice syntax-highlighting editor widget. Robin Dunn is writing a wxWindows wrapper
for this widget.
a very nice syntax-highlighting editor widget. Robin Dunn has written a wxWindows wrapper
for this widget, available in the wxWindows distribution under contrib/src/stc.
<li>If you only need to display marked-up information, rather than edit it,
then wxHTML will suit your needs. wxHTML is built into wxWindows - please see the reference
manual for details, and samples/html.
@@ -200,29 +206,29 @@ There are a few issues to keep in mind, though:
<p>
<H3><a name="dev">How is wxWindows 2 being developed?</a></H3>
<H3><a name="dev">How is wxWindows being developed?</a></H3>
We are using the <a href="cvs.htm">CVS</a> system to develop and maintain wxWindows. This allows
us to make alterations and upload them instantly to the SourceForge server, from
us to make alterations and upload them instantly to the server, from
which others can update their source.<P>
To build source from CVS, see the file BuildCVS.txt in the top-level wxWindows distribution
directory.<P>
<H3><a name="distrib">How is wxWindows 2 distributed?</a></H3>
<H3><a name="distrib">How is wxWindows distributed?</a></H3>
By ftp, and via the <a href="cdrom2.htm">wxWindows CD-ROM</a>.
<P>
If you are feeling adventurous, you may also check out the sources directly
from the <a href="cvs.htm">cvs</a>
from <a href="cvs.htm">cvs</a>.
<p>
<H3><a name="future">What are the plans for the future?</a></H3>
Currently we&#39;re working too hard on getting wxWindows 2 finished (are GUI toolkits ever
Currently we&#39;re working too hard on getting wxWindows finished (are GUI toolkits ever
finished?) to think very far ahead. However, we know we want to make wxWindows as robust
and well-publicised as possible. We also want to aim for better platform-independence of
resources such as icons and bitmaps, standardising on the PNG for all platforms.<P>
resources such as icons and bitmaps, standardising on PNG and XPM for all platforms.<P>
Other possibilities include: DCOM/CORBA compatibility; a wxWindows book;
<a href="http://wxworkshop.sourceforge.net/">wxWorkshop</a>, an IDE;
@@ -234,12 +240,24 @@ their product.<P>
The high-level goal of wxWindows is to be thought of as the number one C++ framework,
for virtually any platform. Move over, MFC!<P>
<h3><a name="base">What is wxBase?</a></h3>
wxBase is a subset of wxWindows comprised by the non-GUI classes. It includes
wxWindows container and primitive data type classes (including wxString,
wxDateTime and so on) and also useful wrappers for the operating system objects
such as files, processes, threads, sockets and so on. With very minor
exceptions wxBase may be used in exactly the same way as wxWindows but it
doesn&#39;t require a GUI to run and so is ideal for creating console mode
utilities or server programs. It is also possible to create a program which can
be compiled either as a console application (using wxBase) or a GUI one (using
a full featured wxWindows port).
<H3><a name="univ">What is wxUniversal?</a></H3>
wxUniversal is a new port of wxWindows being currently actively developed. The
main difference is that wxUniversal implements all controls (or widgets) in
wxWindows itself thus allowing to have much more flexibility (i.e. support for
themes even under MS Windows!). It also means that it is now much easier to
The main difference between wxUniversal-based ports (such as wxX11, wxMGL) and other ports (such as wxMSW, wxGTK+, wxMac)
is that wxUniversal implements all controls (or widgets) in
wxWindows itself thus allowing to have much more flexibility (for example, support for
themes even under MS Windows). It also means that it is now much easier to
port wxWindows to a new platform as only the low-level classes must be ported
which make for a small part of the library.
<p>
@@ -255,7 +273,7 @@ from Java, and the level of interest in wxWindows is as high as ever.<P>
Please check out the <a href="http://www.wxwindows.org/develop2.htm">Community</a> pages,
in particular the <a href="projects.htm">suggested projects</a>, and
mail <a href="mailto:julian.smart@btopenworld.com">Julian Smart</a> or the developers&#39; mailing list with your own suggestions.<P>
mail the developers&#39; mailing list with your own suggestions.<P>
</font>

View File

@@ -1,3 +1,4 @@
<HTML>
<HEAD>
@@ -25,12 +26,13 @@ See also <a href="faq.htm">top-level FAQ page</a>.
<h3>List of questions in this category</h3>
<ul>
<li><a href="#wxgtk">What is wxWindows 2 for GTK?</a></li>
<li><a href="#wxgtk">What is wxWindows 2 for GTK+?</a></li>
<li><a href="#locale">Why doesn&#39;t reading floating point numbers work when using wxWindows?</a></li>
<li><a href="#gnome">Does wxGTK have GNOME support?</a></li>
<li><a href="#redhat">Warning about GTK libraries supplied with RedHat</a></li>
<li><a href="#wxgtk">What is wxWindows 2 for GTK?</a></li>
<li><a href="#bincompat">What range of Intel Linux platforms will a given application binary be usable on?</a></li>
<li><a href="#static">Can I statically link the GTK+ library?</a></li>
<li><a href="#charinframe">Why does my simple program using <tt>EVT_CHAR</tt> doesn't work?</a></li>
</ul>
<hr>
@@ -69,9 +71,9 @@ so may be added without dependence on libraries. Other features may be supported
future, probably as a separate library.
<P>
<h3><a name="redhat">Warning about GTK libraries supplied with RedHat</a></h3>
<h3><a name="redhat">Warning about GTK+ libraries supplied with RedHat</a></h3>
It seems that some versions of RedHat include a badly patched version of GTK (not wxGTK)
It seems that some versions of RedHat include a badly patched version of GTK+ (not wxGTK)
which causes some trouble with wxWindows&#39; socket code. Common symptoms are that when
a client tries to establish a connection to an existing server which refuses the request,
the client will get notified twice, first getting a LOST event and then a CONNECT event.
@@ -89,6 +91,23 @@ and programs linked against it will not run with version
on a 2.1.X system. It will then run on practically all
Linux distros (if you link you app statically against
the image libraries and std C++ lib)."
<P>
<h3><a name="#static">Can I statically link the GTK+ library?</a></h3>
No, this is not possible. It leads to crashes in GTK+.
<P>
<h3><a name="#charinframe">Why does my simple program using
<tt>EVT_CHAR</tt> doesn't work?</a></h3>
In wxGTK, the frames never get focus and so can never receive <tt>CHAR</tt>
nor <tt>KEY</tt> events so an <tt>EVT_CHAR</tt> handler for a frame will be
never called. To receive these events, you should create a <tt>wxPanel</tt>
inside the frame and register the key event handlers for the panel, not the
frame.
<p>
</font>

View File

@@ -1,3 +1,4 @@
<HTML>
<HEAD>
@@ -201,7 +202,8 @@ Statically-linked wxWindows 2 programs are smaller than wxWindows 1.xx programs,
wxWindows 2 has been designed to reduce dependencies between classes, and other
techniques. The linker will not include code from the library that is not (directly or
indirectly) referenced
by your application. So for example, the &#39;minimal&#39; sample is less than 300KB using VC++ 6.<P>
by your application. So for example, the &#39;minimal&#39; sample is less than 500KB using VC++ 6
(note that this figure may be greater for the latest version of wxWindows).<P>
If you want to distribute really small executables, you can
use <a href="http://www.un4seen.com/petite/" target=_top>Petite</a>
@@ -210,6 +212,12 @@ will shrink to a mere 250KB. With this sort of size, there is reduced incentive
use DLLs. Another good compression tool is <a href="http://upx.sourceforge.net/" target=_top>UPX</a>.
<P>
Please do not be surprised if MinGW produces a statically-linked minimal executable of 1 MB. Firstly, gcc
produces larger executables than some compilers. Secondly, this figure will
include most of the overhead of wxWindows, so as your application becomes more
complex, the overhead becomes proportionaly less significant. And thirdly, trading executable compactness
for the enormous increase in productivity you get with wxWindows is almost always well worth it.
<H3><a name="mfc">Is wxWindows compatible with MFC?</a></H3>
There is a sample which demonstrates MFC and wxWindows code co-existing in the same
@@ -392,7 +400,11 @@ VZ
This can happen if you have a child window intercepting EVT_CHAR events and swallowing
all keyboard input. You should ensure that event.Skip() is called for all input that
isn&#39;used by the event handler.
isn&#39;used by the event handler.<P>
It can also happen if you append the submenu to the parent
menu {\it before} you have added your menu items. Do the append {\it after} adding
your items, or accelerators may not be registered properly.<P>
<H3><a name="#regconfig">Why can I not write to the HKLM part of the registry with wxRegConfig?</a></H3>
@@ -414,7 +426,7 @@ First, you can use wxRegKey directly, for example:
regKey.SetName(idName);
{
wxLogNull dummy;
wxLogNull dummy;
if (!regKey.Create())
{
idName = wxT("HKEY_CURRENT_USER\\SOFTWARE\\My Company\\My Product\\Stuff\\");

View File

@@ -124,6 +124,13 @@ translations as of wxWindows 2.3.
</td>
</tr>
<tr>
<td valign=center>Greek</td>
<td align=center valign=center><IMG SRC="images/no.gif" ALT="Done"></td>
<td align=center valign=center><A HREF="mailto:tsolako1@otenet.gr">Tsolakos Stavros</A>
</td>
</tr>
<tr>
<td valign=center>Hungarian</td>
<td align=center valign=center><IMG SRC="images/yes.gif" ALT="Done"></td>
@@ -131,6 +138,14 @@ translations as of wxWindows 2.3.
</td>
</tr>
<tr>
<td valign=center>Indonesian</td>
<td align=center valign=center><IMG SRC="images/yes.gif" ALT="Done"></td>
<td align=center valign=center>
<a href="mailto:bambang@3wsi.com">Bambang Purnomosidi D. P.</a>
</td>
</tr>
<tr>
<td valign=center>Italian</td>
<td align=center valign=center><IMG SRC="images/yes.gif" ALT="Done"></td>
@@ -157,6 +172,7 @@ translations as of wxWindows 2.3.
<td align=center valign=center><IMG SRC="images/yes.gif" ALT="Ok"></td>
<td align=center valign=center><A HREF="mailto:rolinsky@mema.ucl.ac.be">Roman Rolinsky</A>,
<A HREF="mailto:vadim@wxwindows.org">Vadim Zeitlin</A>
<A HREF="mailto:kai@cmail.ru">Andrew V. Samoilov</A>
</td>
</tr>
@@ -179,6 +195,13 @@ translations as of wxWindows 2.3.
<A HREF="mailto:kgb@compart.fi">Kaj G Backas</A></td>
</tr>
<tr>
<td valign=center>Turkish</td>
<td align=center valign=center><IMG SRC="images/yes.gif" ALT="Ok"></td>
<td align=center valign=center><A HREF="mailto:dogusanh@dynaset.org">Hakki Dogusan</A></td>
</tr>
</table>
<br>
@@ -196,15 +219,14 @@ translations. Here are the the steps you should follow:
<ol>
<li>Get the latest version of the file <tt>locale/wxstd.po</tt> from the
wxWindows source tree: if you&#39;re using <a href="cvs.htm">cvs</a>
or the <a href="http://wxwindows.sf.net/snapshots/">daily
snapshots</a>, you should already have it. Otherwise you can always
or the <a href="http://wxwindows.sf.net/snapshots/">daily snapshots</a>,
you should already have it. Otherwise you can always
retrieve it directly from the cvs repository via the Web interface
<a href="http://cvs.wxwindows.org/cgi-bin/viewcvs.cgi/wxWindows/locale/wxstd.po">
here</a>.
<a href="http://cvs.wxwindows.org/viewcvs.cgi/wxWindows/locale/wxstd.po">here</a>.
<li>Rename it to <tt>XY.po</tt> where <tt>"XY"</tt> is the 2 letter
<a href="http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">
ISO country code</a> for your language.
<a href="http://lcweb.loc.gov/standards/iso639-2/englangn.html">ISO 639-1 language code</a>
for your language.
<li>Translate the strings in this file using either your favourite text
editor or a specialized tool such as Vaclav Slavik&#39;s excellent

View File

@@ -1,6 +1,6 @@
<html>
<head>
<title>Platforms supported by wxWindows 2.x</title>
<title>Platforms supported by wxWindows 2.4</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Vadim Zeitlin">
</head>
@@ -20,10 +20,11 @@
</p>
You will find below the list of all supported platforms for different ports of wxWindows 2.x (wxMSW/wxGTK/wxMotif ports
only). The cross icon in the third column doesn&#39;t mean that the platform is not supported, but just that wxWindows hasn&#39;t
been tested on it recently (the table is being updated for wxWindows 2.3.3
currently).
You will find below the list of all supported platforms for different ports of
wxWindows 2.x (wxMSW/wxGTK/wxMotif ports only). The cross icon in the third
column doesn&#39;t mean that the platform is not supported, but just that
wxWindows hasn&#39;t been tested on it recently (the table is being updated for
wxWindows 2.4.0 currently).
<p>
See also:
@@ -86,9 +87,20 @@ often don&#39;t work.
<tr> <td>wxMotif with gcc 2.95</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td><br></td><td>with <a href="http://www.openmotif.org">OpenMotif</a></td>
</tr>
<tr> <td bgcolor="#fafafa"><br></td><td bgcolor="#fafafa" colspan=5> All BSD systems tests are for wxGTK using gcc. </td>
<tr>
<td bgcolor="#F0F0F0" align=center valign=center rowspan=1>FreeBSD</td>
<td>wxGTK with gcc</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ</td><td>Limited thread support on older systems</td>
<td>version from 3.2 to 4.6, x86</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ</td><td><br></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" align=center valign=center rowspan=1>NetBSD</td>
<td>1.6, Alpha</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ</td><td><br></td>
</tr>
<tr>
<td bgcolor="#F0F0F0" align=center valign=center rowspan=1>OpenBSD</td>
<td>3.1, Alpha</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ</td><td>Some problems with shared libraries, ok with static ones</td>
</tr>
<tr>

View File

@@ -93,6 +93,7 @@ that are not static can have \helpref{validators}{wxvalidator} associated with t
\twocolitem{\helpref{wxStaticBox}{wxstaticbox}}{A static, or group box for visually grouping related controls}
\twocolitem{\helpref{wxListBox}{wxlistbox}}{A list of strings for single or multiple selection}
\twocolitem{\helpref{wxListCtrl}{wxlistctrl}}{A control for displaying lists of strings and/or icons, plus a multicolumn report view}
\twocolitem{\helpref{wxListView}{wxlistview}}{A simpler interface ({\it fa\c{c}ade} for wxListCtrl in report mode}
\twocolitem{\helpref{wxTabCtrl}{wxtabctrl}}{Manages several tabs}
\twocolitem{\helpref{wxTextCtrl}{wxtextctrl}}{Single or multiline text editing control}
\twocolitem{\helpref{wxTreeCtrl}{wxtreectrl}}{Tree (hierarchy) control}

View File

@@ -174,6 +174,7 @@
\input listctrl.tex
\input listevt.tex
\input listitem.tex
\input listview.tex
\input locale.tex
\input log.tex
\input longlong.tex

View File

@@ -67,6 +67,8 @@ Constructor, creating and showing a combobox.
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
\docparam{value}{Initial selection string. An empty string indicates no selection.}
\docparam{pos}{Window position.}
\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized

View File

@@ -368,18 +368,13 @@ a local or global config file is created or used. If the flag is present but
the parameter is empty, the parameter will be set to a default. If the
parameter is present but the style flag not, the relevant flag will be added
to the style. For wxFileConfig you can also add wxCONFIG\_USE\_RELATIVE\_PATH
by logicaly or'ing it to either of the \_FILE options to tell wxFileConfig to
by logically or'ing it to either of the \_FILE options to tell wxFileConfig to
use relative instead of absolute paths. For wxFileConfig, you can also
add wxCONFIG\_USE\_NO\_ESCAPE\_CHARACTERS which will turn off character
escaping for the values of entries stored in the config file: for example
a {\it foo} key with some backslash characters will be stored as
\begin{verbatim}
foo=C:\mydir
\end{verbatim}
instead of the usual storage of
\begin{verbatim}
foo=C:\\mydir
\end{verbatim}
a {\it foo} key with some backslash characters will be stored as {\tt foo=C:$\backslash$mydir} instead
of the usual storage of {\tt foo=C:$\backslash\backslash$mydir}.
The wxCONFIG\_USE\_NO\_ESCAPE\_CHARACTERS style can be helpful if your config
file must be read or written to by a non-wxWindows program (which might not
understand the escape characters). Note, however, that if

View File

@@ -1,6 +1,6 @@
\section{\class{wxCriticalSection}}\label{wxcriticalsection}
A critical section object is used for the same exactly purpose as
A critical section object is used for exactly the same purpose as
\helpref{mutexes}{wxmutex}. The only difference is that under Windows platform
critical sections are only visible inside one process, while mutexes may be
shared between processes, so using critical sections is slightly more

View File

@@ -235,6 +235,7 @@ values were correct as constructors can not return an error code.
\helpref{Set(double jdn)}{wxdatetimesetjdn}\\
\helpref{Set(h, m, s, ms)}{wxdatetimesettime}\\
\helpref{Set(day, mon, year, h, m, s, ms)}{wxdatetimesetdate}\\
\helpref{SetFromDOS(unsigned long ddt)}{wxdatetimesetfromdos}\\
\helpref{ResetTime}{wxdatetimeresettime}\\
\helpref{SetYear}{wxdatetimesetyear}\\
\helpref{SetMonth}{wxdatetimesetmonth}\\
@@ -268,7 +269,8 @@ some more complicated calculations to find the answer are under the
\helpref{GetWeekOfMonth}{wxdatetimegetweekofmonth}\\
\helpref{GetYearDay}{wxdatetimegetyearday}\\
\helpref{IsWorkDay}{wxdatetimeisworkday}\\
\helpref{IsGregorianDate}{wxdatetimeisgregoriandate}
\helpref{IsGregorianDate}{wxdatetimeisgregoriandate}\\
\helpref{GetAsDOS}{wxdatetimegetasdos}
\membersection{Date comparison}
@@ -882,6 +884,24 @@ Returns {\tt TRUE} if the given date os later than the date of adoption of the
Gregorian calendar in the given country (and hence the Gregorian calendar
calculations make sense for it).
%%%%%%%%%%%%%%%%%%%%%% dos date and time format %%%%%%%%%%%%%%%%%%%%%%%
\membersection{wxDateTime::SetFromDOS}\label{wxdatetimesetfromdos}
\func{wxDateTime\&}{Set}{\param{unsigned long }{ddt}}
Sets the date from the date and time in
\urlref{DOS}{http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms\_docs/data/hc2vlu5i.html}
format.
\membersection{wxDateTime::GetAsDOS}\label{wxdatetimegetasdos}
\constfunc{unsigned long}{GetAsDOS}{\void}
Returns the date and time in
\urlref{DOS}{http://developer.novell.com/ndk/doc/smscomp/index.html?page=/ndk/doc/smscomp/sms\_docs/data/hc2vlu5i.html}
format.
%%%%%%%%%%%%%%%%%%%%%%%%%%% comparison %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\membersection{wxDateTime::IsEqualTo}\label{wxdatetimeisequalto}
@@ -1127,7 +1147,7 @@ This function returns the time representation in the ISO 8601 format
\membersection{wxDateTime::SetToWeekDayInSameWeek}\label{wxdatetimesettoweekdayinsameweek}
\func{wxDateTime\&}{SetToWeekDayInSameWeek}{\param{WeekDay }{weekday}}
\func{wxDateTime\&}{SetToWeekDayInSameWeek}{\param{WeekDay }{weekday}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Adjusts the date so that it will still lie in the same week as before, but its
week day will be the given one.
@@ -1136,9 +1156,9 @@ Returns the reference to the modified object itself.
\membersection{wxDateTime::GetWeekDayInSameWeek}\label{wxdatetimegetweekdayinsameweek}
\constfunc{wxDateTime}{GetWeekDayInSameWeek}{\param{WeekDay }{weekday}}
\constfunc{wxDateTime}{GetWeekDayInSameWeek}{\param{WeekDay }{weekday}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Returns the copy of this object to which
Returns the copy of this object to which
\helpref{SetToWeekDayInSameWeek}{wxdatetimesettoweekdayinsameweek} was
applied.
@@ -1216,7 +1236,7 @@ Returns the copy of this object to which
\membersection{wxDateTime::SetToTheWeek}\label{wxdatetimesettotheweek}
\func{bool}{SetToTheWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}}
\func{bool}{SetToTheWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Set the date to the given {\it weekday} in the week with given number
{\it numWeek}. The number should be in range $1\ldots53$ and {\tt FALSE} will
@@ -1225,7 +1245,7 @@ date was changed successfully.
\membersection{wxDateTime::GetWeek}\label{wxdatetimegetweek}
\constfunc{wxDateTime}{GetWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}}
\constfunc{wxDateTime}{GetWeek}{\param{wxDateTime\_t }{numWeek}, \param{WeekDay }{weekday = Mon}, \param{WeekFlags}{flags = {\tt Monday\_First}}}
Returns the copy of this object to which
\helpref{SetToTheWeek}{wxdatetimesettotheweek} was applied.

View File

@@ -65,7 +65,7 @@ the dialog to respond to system close events.
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the dialog box.}
\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxSYSTEM\_MENU and wxTHICK\_FRAME}
\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION and wxSYSTEM\_MENU (the latter is not used under Unix)}
\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window.}
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}

View File

@@ -28,6 +28,14 @@ override \helpref{wxDragImage::DoDrawImage}{wxdragimagedodrawimage} and
Please see {\tt samples/dragimag} for an example.
%\wxheading{Notes}
%
%Using the native Windows implementation, you must supply an image with a mask, or
%the image will not show when dragged. It is not clear if this is a bug
%in Windows or in the wxDragImage implementation. You can add a mask
%with a call to wxImage::SetMaskColour, passing RGB values not likely
%to be in the image. [CURED by creating the ImageList with ILC_MASK]
\wxheading{Derived from}
\helpref{wxObject}{wxobject}

View File

@@ -164,7 +164,7 @@ Sets the default filename.
\func{void}{SetFilterIndex}{\param{int }{filterIndex}}
Sets the default filter index, starting from zero. Windows only.
Sets the default filter index, starting from zero.
\membersection{wxFileDialog::SetMessage}\label{wxfiledialogsetmessage}

View File

@@ -89,7 +89,7 @@ on the file name format and the only portable way to answer to this question is
to use \helpref{IsAbsolute}{wxfilenameisabsolute} method. To ensure that the
filename is absolute you may use \helpref{Normalize}{wxfilenamenormalize}. There
is also an inverse function \helpref{MakeRelativeTo}{wxfilenamemakerelativeto}
which undoes what \helpref{Normalize(wxPATH\_NORM\_DOTS}{wxfilenamenormalize}
which undoes what \helpref{Normalize(wxPATH\_NORM\_DOTS)}{wxfilenamenormalize}
does.
Other functions returning information about the file format provided by this
@@ -598,7 +598,7 @@ Deletes the specified directory from the file system.
\membersection{wxFileName::SameAs}\label{wxfilenamesameas}
\func{bool}{SameAs}{\param{const wxFileName\& }{filepath}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
\constfunc{bool}{SameAs}{\param{const wxFileName\& }{filepath}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
Compares the filename using the rules of this platform.
@@ -674,9 +674,19 @@ Assigns the new value to this filename object.
\membersection{wxFileName::operator==}\label{wxfilenameoperatorequal}
\func{bool operator}{operator==}{\param{const wxFileName\& }{filename}}
\constfunc{bool operator}{operator==}{\param{const wxFileName\& }{filename}}
\func{bool operator}{operator==}{\param{const wxString\& }{filename}}
\constfunc{bool operator}{operator==}{\param{const wxString\& }{filename}}
Returns {\tt TRUE} if the filenames are equal for the native file format.
Returns {\tt TRUE} if the filenames are equal. The string {\it filenames} is
interpreted as a path in the native filename format.
\membersection{wxFileName::operator!=}\label{wxfilenameoperatornotequal}
\constfunc{bool operator}{operator!=}{\param{const wxFileName\& }{filename}}
\constfunc{bool operator}{operator!=}{\param{const wxString\& }{filename}}
Returns {\tt TRUE} if the filenames are different. The string {\it filenames}
is interpreted as a path in the native filename format.

View File

@@ -211,7 +211,7 @@ Returns {\tt TRUE} if the font is a fixed width (or monospaced) font,
\func{static wxFontEncoding}{GetDefaultEncoding}{\void}
Returns the current applications default encoding.
Returns the current application's default encoding.
\wxheading{See also}

View File

@@ -52,14 +52,14 @@ a wxEVT\_HELP event if the user clicked on an application window. {\it Note} tha
style and must be set by calling \helpref{SetExtraStyle}{wxwindowsetextrastyle} before Create is called (two-step construction).
You cannot use this style together with wxMAXIMIZE\_BOX or wxMINIMIZE\_BOX, so
you should use
{\tt wxDEFAULT\_FRAME\_STYLE \& \~ (wxMINIMIZE\_BOX | wxMAXIMIZE\_BOX)} for the
{\tt wxDEFAULT\_FRAME\_STYLE \& \verb$~$ (wxMINIMIZE\_BOX | wxMAXIMIZE\_BOX)} for the
frames having this style (the dialogs don't have minimize nor maximize box by
default)}
\end{twocollist}
The default frame style is for normal, resizeable frames. To create a frame
which can not be resized by user, you may use the following combination of
styles: {\tt wxDEFAULT\_FRAME\_STYLE \& \~ (wxRESIZE\_BORDER \pipe wxRESIZE\_BOX \pipe wxMAXIMIZE\_BOX)}.
styles: {\tt wxDEFAULT\_FRAME\_STYLE \& \verb$~$ (wxRESIZE\_BORDER \pipe wxRESIZE\_BOX \pipe wxMAXIMIZE\_BOX)}.
% Note: the space after the tilde is necessary or Tex2RTF complains.
See also \helpref{window styles overview}{windowstyles}.

View File

@@ -22,7 +22,7 @@ Example:
void MyFrame::OnAbout(wxCommandEvent&)
{
wxBusyCursor bcur;
wxFileSystem::AddHandler(new wxMemoryFSHandler);
wxMemoryFSHandler::AddFile("logo.pcx", wxBITMAP(logo), wxBITMAP_TYPE_PCX);
wxMemoryFSHandler::AddFile("about.htm",
"<html><body>About: "

View File

@@ -115,6 +115,13 @@ Default constructor.
Destructor will close the connection if connected.
\membersection{wxFTP::Abort}\label{wxftpabort}
\func{bool}{Abort}{\void}
Aborts the download currently in process, returns {\tt TRUE} if ok, {\tt FALSE}
if an error occured.
\membersection{wxFTP::CheckCommand}
\func{bool}{CheckCommand}{\param{const wxString\&}{ command}, \param{char }{ret}}
@@ -246,6 +253,21 @@ to specify a user and a password.
% ----------------------------------------------------------------------------
\membersection{wxFTP::FileExists}\label{wxftpfileexists}
\func{bool}{FileExists}{\param{const wxString\&}{ filename}}
Returns {\tt TRUE} if the given remote file exists, {\tt FALSE} otherwise.
\membersection{wxFTP::GetFileSize}\label{wxftpgetfilesize}
\func{int}{GetFileSize}{\param{const wxString\&}{ filename}}
Returns the file size in bytes or $-1$ if the file doesn't exist or the size
couldn't be determined. Notice that this size can be approximative size only
and shouldn't be used for allocating the buffer in which the remote file is
copied, for example.
\membersection{wxFTP::GetDirList}\label{wxftpgetdirlist}
\func{bool}{GetDirList}{\param{wxArrayString\& }{files}, \param{const wxString\&}{ wildcard = ""}}

View File

@@ -153,6 +153,8 @@ the corresponding topic.
\helpref{wxLogTrace}{wxlogtrace}\\
\helpref{wxLogVerbose}{wxlogverbose}\\
\helpref{wxLogWarning}{wxlogwarning}\\
\helpref{wxLL}{wxll}\\
\helpref{wxLongLongFmtSpec}{wxlonglongfmtspec}\\
\helpref{wxMakeMetafilePlaceable}{wxmakemetafileplaceable}\\
\helpref{wxMatchWild}{wxmatchwild}\\
\helpref{wxMessageBox}{wxmessagebox}\\
@@ -399,8 +401,8 @@ once for each previous successful call to \helpref{wxInitialize}{wxinitialize}.
Calls \helpref{wxApp::Yield}{wxappyield}.
This function is kept only for backwards compatibility, please use
\helpref{wxApp::Yield}{wxappyield}method instead in any new code.
This function is kept only for backwards compatibility. Please use
the \helpref{wxApp::Yield}{wxappyield} method instead in any new code.
\wxheading{Include files}
@@ -2109,6 +2111,44 @@ the compiler supports it or nothing otherwise. Thus, it can be used even in the
code which might have to be compiled with an old compiler without support for
this language feature but still take advantage of it when it is available.
\membersection{wxLL}\label{wxll}
\func{wxLongLong\_t}{wxLL}{\param{}{number}}
This macro is defined for the platforms with a native 64 bit integer type and
allows to define 64 bit compile time constants:
\begin{verbatim}
#ifdef wxLongLong_t
wxLongLong_t ll = wxLL(0x1234567890abcdef);
#endif
\end{verbatim}
\wxheading{Include files}
<wx/longlong.h>
\membersection{wxLongLongFmtSpec}\label{wxlonglongfmtspec}
This macro is defined to contain the {\tt printf()} format specifier using
which 64 bit integer numbers (i.e. those of type {\tt wxLongLong\_t}) can be
printed. Example of using it:
\begin{verbatim}
#ifdef wxLongLong_t
wxLongLong_t ll = wxLL(0x1234567890abcdef);
printf("Long long = %" wxLongLongFmtSpec "x\n", ll);
#endif
\end{verbatim}
\wxheading{See also}
\helpref{wxLL}{wxll}
\wxheading{Include files}
<wx/longlong.h>
\membersection{::wxNewId}\label{wxnewid}
\func{long}{wxNewId}{\void}
@@ -2576,7 +2616,7 @@ class wxFrame: public wxWindow
DECLARE_DYNAMIC_CLASS(wxFrame)
private:
const wxString\& frameTitle;
const wxString& frameTitle;
public:
...
};

View File

@@ -45,7 +45,7 @@ a similar style to the Microsoft HTML Help viewer and using some of the same fil
Although it has an API compatible with other help controllers, it has more advanced features, so it is
recommended that you use the specific API for this class instead. Note that if you
use .zip or .htb formats for your books, you
must add this line to your application initialization: \verb$wxFileSystem::AddHandler(new wxZipFSHandler);$
must add this line to your application initialization: {\tt wxFileSystem::AddHandler(new wxZipFSHandler);}
or nothing will be shown in your help window.
\end{itemize}

View File

@@ -41,6 +41,13 @@ Returns container's horizontal alignment.
Returns container's vertical alignment.
\membersection{wxHtmlContainerCell::GetBackgroundColour}\label{wxhtmlcontainercellgetbackgroundcolour}
\func{wxColour}{GetBackgroundColour}{\void}
Returns the background colour of the container or {\tt wxNullColour} if no background
colour is set.
\membersection{wxHtmlContainerCell::GetFirstCell}\label{wxhtmlcontainercellgetfirstcell}
\func{wxHtmlCell*}{GetFirstCell}{\void}

View File

@@ -256,3 +256,12 @@ Sets the virtual file system that will be used to request additional
files. (For example {\tt <IMG>} tag handler requests wxFSFile with the
image data.)
\membersection{wxHtmlParser::StopParsing}\label{wxhtmlparserstopparsing}
\func{void}{StopParsing}{\void}
Call this function to interrupt parsing from a tag handler. No more tags
will be parsed afterward. This function may only be called from
\helpref{wxHtmlParser::Parse}{wxhtmlparserparse} or any function called
by it (i.e. from tag handlers).

View File

@@ -911,7 +911,7 @@ Returns 'this' object.
\membersection{wxImage::operator $==$}
\func{bool}{operator $==$}{\param{const wxImage\& }{image}}
\constfunc{bool}{operator $==$}{\param{const wxImage\& }{image}}
Equality operator. This operator tests whether the internal data pointers are
equal (a fast test).
@@ -926,7 +926,7 @@ Returns TRUE if the images were effectively equal, FALSE otherwise.
\membersection{wxImage::operator $!=$}
\func{bool}{operator $!=$}{\param{const wxImage\& }{image}}
\constfunc{bool}{operator $!=$}{\param{const wxImage\& }{image}}
Inequality operator. This operator tests whether the internal data pointers are
unequal (a fast test).

View File

@@ -68,9 +68,11 @@ future versions completely. The use of the latter is especially discouraged as
it is not only unsafe but is also much less efficient than
\helpref{wxArrayString}{wxarraystring} class.
In the documentation of the list classes below, you should replace wxNode with
wxListName::Node and wxObject with the list element type (i.e. the first
parameter of WX\_DECLARE\_LIST) for the template lists.
In the documentation of the list classes below, the template notations are
used even though these classes are not really templates at all -- but it helps
to think about them as if they were. You should replace wxNode<T> with
wxListName::Node and T itself with the list element type (i.e. the first
parameter of WX\_DECLARE\_LIST).
\wxheading{Derived from}
@@ -138,9 +140,9 @@ members for getting to the next or previous node.
\func{}{wxList}{\param{unsigned int}{ key\_type}}
\func{}{wxList}{\param{int}{ n}, \param{wxObject *}{objects[]}}
\func{}{wxList}{\param{int}{ n}, \param{T *}{objects[]}}
\func{}{wxList}{\param{wxObject *}{object}, ...}
\func{}{wxList}{\param{T *}{object}, ...}
Constructors. {\it key\_type} is one of wxKEY\_NONE, wxKEY\_INTEGER, or wxKEY\_STRING,
and indicates what sort of keying is required (if any).
@@ -159,15 +161,16 @@ client data held in the nodes.
\membersection{wxList::Append}\label{wxlistappend}
\func{wxNode *}{Append}{\param{wxObject *}{object}}
\func{wxNode<T> *}{Append}{\param{T *}{object}}
\func{wxNode *}{Append}{\param{long}{ key}, \param{wxObject *}{object}}
\func{wxNode<T> *}{Append}{\param{long}{ key}, \param{T *}{object}}
\func{wxNode *}{Append}{\param{const wxString\& }{key}, \param{wxObject *}{object}}
\func{wxNode<T> *}{Append}{\param{const wxString\& }{key}, \param{T *}{object}}
Appends a new {\bf wxNode} to the end of the list and puts a pointer to the
\rtfsp{\it object} in the node. The last two forms store a key with the object for
later retrieval using the key. The new node is returned in each case.
Appends a new \helpref{wxNode}{wxnode} to the end of the list and puts a
pointer to the \rtfsp{\it object} in the node. The last two forms store a key
with the object for later retrieval using the key. The new node is returned in
each case.
The key string is copied and stored by the list implementation.
@@ -187,22 +190,26 @@ a node whenever the node is destroyed. The default is {\tt FALSE}.
\membersection{wxList::DeleteNode}\label{wxlistdeletenode}
\func{bool}{DeleteNode}{\param{wxNode *}{node}}
\func{bool}{DeleteNode}{\param{wxNode<T> *}{node}}
Deletes the given node from the list, returning {\tt TRUE} if successful.
\membersection{wxList::DeleteObject}\label{wxlistdeleteobject}
\func{bool}{DeleteObject}{\param{wxObject *}{object}}
\func{bool}{DeleteObject}{\param{T *}{object}}
Finds the given client {\it object} and deletes the appropriate node from the list, returning
{\tt TRUE} if successful. The application must delete the actual object separately.
\membersection{wxList::Find}\label{wxlistfind}
\func{wxNode *}{Find}{\param{long}{ key}}
\func{wxNode<T> *}{Find}{\param{T *}{ object}}
\func{wxNode *}{Find}{\param{const wxString\& }{key}}
Returns the node whose client date is {\it object} or NULL if none found.
\func{wxNode<T> *}{Find}{\param{long}{ key}}
\func{wxNode<T> *}{Find}{\param{const wxString\& }{key}}
Returns the node whose stored key matches {\it key}. Use on a keyed list only.
@@ -214,37 +221,37 @@ Returns the number of elements in the list.
\membersection{wxList::GetFirst}\label{wxlistgetfirst}
\func{wxNode *}{GetFirst}{\void}
\func{wxNode<T> *}{GetFirst}{\void}
Returns the first node in the list (NULL if the list is empty).
\membersection{wxList::GetLast}\label{wxlistgetlast}
\func{wxNode *}{GetLast}{\void}
\func{wxNode<T> *}{GetLast}{\void}
Returns the last node in the list (NULL if the list is empty).
\membersection{wxList::IndexOf}\label{wxlistindexof}
\func{int}{IndexOf}{\param{wxObject*}{ obj }}
\func{int}{IndexOf}{\param{T*}{ obj }}
Returns the index of {\it obj} within the list or wxNOT\_FOUND if {\it obj}
is not found in the list.
\membersection{wxList::Insert}\label{wxlistinsert}
\func{wxNode *}{Insert}{\param{wxObject *}{object}}
\func{wxNode<T> *}{Insert}{\param{T *}{object}}
Insert object at front of list.
\func{wxNode *}{Insert}{\param{size\_t }{position}, \param{wxObject *}{object}}
\func{wxNode<T> *}{Insert}{\param{size\_t }{position}, \param{T *}{object}}
Insert object before {\it position}, i.e. the index of the new item in the
list will be equal to {\it position}. {\it position} should be less than or
equal to \helpref{GetCount}{wxlistgetcount}; if it is equal to it, this is the
same as calling \helpref{Append}{wxlistappend}.
\func{wxNode *}{Insert}{\param{wxNode *}{node}, \param{wxObject *}{object}}
\func{wxNode<T> *}{Insert}{\param{wxNode<T> *}{node}, \param{T *}{object}}
Inserts the object before the given {\it node}.
@@ -257,13 +264,13 @@ Returns {\tt TRUE} if the list is empty, {\tt FALSE} otherwise.
% Use different label name to avoid clashing with wxListItem label
\membersection{wxList::Item}\label{wxlistitemfunc}
\constfunc{wxNode *}{Item}{\param{size\_t }{index}}
\constfunc{wxNode<T> *}{Item}{\param{size\_t }{index}}
Returns the node at given position in the list.
\membersection{wxList::Member}\label{wxlistmember}
\func{wxNode *}{Member}{\param{wxObject *}{object}}
\func{wxNode<T> *}{Member}{\param{T *}{object}}
{\bf NB:} This function is deprecated, use \helpref{Find}{wxlistfind} instead.
@@ -271,7 +278,7 @@ Returns the node associated with {\it object} if it is in the list, NULL otherwi
\membersection{wxList::Nth}\label{wxlistnth}
\func{wxNode *}{Nth}{\param{int}{ n}}
\func{wxNode<T> *}{Nth}{\param{int}{ n}}
{\bf NB:} This function is deprecated, use \helpref{Item}{wxlistitemfunc} instead.

View File

@@ -284,7 +284,7 @@ it.
\membersection{wxListBox::InsertItems}\label{wxlistboxinsertitems}
\func{void}{InsertItems}{\param{int}{ nItems}, \param{const wxString}{ items}, \param{int}{ pos}}
\func{void}{InsertItems}{\param{int}{ nItems}, \param{const wxString}{ *items}, \param{int}{ pos}}
Insert the given number of strings before the specified position.
@@ -331,9 +331,11 @@ TRUE if the given item is selected, FALSE otherwise.
\membersection{wxListBox::Set}\label{wxlistboxset}
\func{void}{Set}{\param{int}{ n}, \param{const wxString*}{ choices}}
\func{void}{Set}{\param{int}{ n}, \param{const wxString*}{ choices}, \param{void}{ **clientData = {\tt NULL}}}
Clears the list box and adds the given strings. Not implemented for GTK.
\func{void}{Set}{\param{const wxArrayString\&}{ choices}, \param{void}{ **clientData = {\tt NULL}}}
Clears the list box and adds the given strings to it.
\wxheading{Parameters}
@@ -341,10 +343,12 @@ Clears the list box and adds the given strings. Not implemented for GTK.
\docparam{choices}{An array of strings to set.}
\docparam{clientData}{Options array of client data pointers}
\wxheading{Remarks}
Deallocate the array from the calling program
after this function has been called.
You may free the array from the calling program after this function has been
called.
\membersection{wxListBox::SetClientData}\label{wxlistboxsetclientdata}

View File

@@ -14,7 +14,12 @@ without consuming much memory. To use virtual list control you must use
\helpref{OnGetItemText}{wxlistctrlongetitemtext} (and optionally
\helpref{OnGetItemImage}{wxlistctrlongetitemimage} and
\helpref{OnGetItemAttr}{wxlistctrlongetitemattr}) to return the information
about the items when the control requests it.
about the items when the control requests it. Virtual list control can be used
as a normal one except that no operations which can take time proportional to
the number of items in the control happen -- this is required to allow having a
practically infinite number of items. For example, in a multiple selection
virtual list control, the selections won't be sent when many items are selected
at once because this could mean iterating over all the items.
Using many of wxListCtrl features is shown in the
\helpref{corresponding sample}{samplelistctrl}.
@@ -606,12 +611,12 @@ the given {\it column} for the specified {\tt item}.
\func{bool}{ScrollList}{\param{int }{dx}, \param{int }{dy}}
Scrolls the list control. If in icon, small icon or report view mode,
dx specifies the number of pixels to scroll. If in list view mode, dx
specifies the number of columns to scroll.
Scrolls the list control. If in icon, small icon or report view mode,
{\it dx} specifies the number of pixels to scroll. If in list view mode,
{\it dx} specifies the number of columns to scroll. {\it dy} always specifies
the number of pixels to scroll vertically.
If in icon, small icon or list view mode, dy specifies the number of pixels
to scroll. If in report view mode, dy specifies the number of lines to scroll.
{\bf NB:} This method is currently only implemented in the Windows version.
\membersection{wxListCtrl::SetBackgroundColour}\label{wxlistctrlsetbackgroundcolour}

145
docs/latex/wx/listview.tex Normal file
View File

@@ -0,0 +1,145 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: listview.tex
%% Purpose: wxListView documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 07.11.02
%% RCS-ID: $Id$
%% Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwindows.org>
%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxListView}}\label{wxlistview}
This class currently simply presents a simpler to use interface for the
\helpref{wxListCtrl}{wxlistctrl} -- it can be thought of as a {\it fa\c{c}ade}
for that complicated class. Using it is preferable to using
\helpref{wxListCtrl}{wxlistctrl} directly whenever possible because in the
future some ports might implement wxListView but not the full set of wxListCtrl
features.
Other than different interface, this class is identical to wxListCtrl. In
particular, it uses the same events, same windows styles and so on.
\wxheading{Derived from}
\helpref{wxListCtrl}{wxlistctrl}\\
\helpref{wxControl}{wxcontrol}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/listctrl.h>
%%%%%%%%%%%%% Methods in alphabetic order %%%%%%%%%%%%%
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxListView::ClearColumnImage}\label{wxlistviewclearcolumnimage}
\func{void}{ClearColumnImage}{\param{int }{col}}
Resets the column image -- after calling this function, no image will be shown.
\wxheading{Parameters}
\docparam{col}{the column to clear image for}
\wxheading{See also}
\helpref{SetColumnImage}{wxlistviewsetcolumnimage}
\membersection{wxListView::Focus}\label{wxlistviewfocus}
\func{void}{Focus}{\param{long }{index}}
Sets focus to the item with the given {\it index}.
\membersection{wxListView::GetFirstSelected}\label{wxlistviewgetfirstselected}
\constfunc{long}{GetFirstSelected}{\void}
Returns the first selected item in a (presumably) multiple selection control.
Tigether with \helpref{GetNextSelected}{wxlistviewgetnextselected} it can be
used to iterate over all selected items in the control.
\wxheading{Return value}
The fisrt selected item, if any, $-1$ otherwise.
\membersection{wxListView::GetFocusedItem}\label{wxlistviewgetfocuseditem}
\constfunc{long}{GetFocusedItem}{\void}
Returns the currently focused item or $-1$ if none.
\wxheading{See also}
\helpref{IsSelected}{wxlistviewisselected},\\
\helpref{Focus}{wxlistviewfocus}
\membersection{wxListView::GetNextSelected}\label{wxlistviewgetnextselected}
\constfunc{long}{GetNextSelected}{\param{long }{item}}
Used together with \helpref{GetFirstSelected}{wxlistviewgetfirstselected} to
iterate oevr all selected items in the control.
\wxheading{Return value}
Returns the next selected item or $-1$ if there are no more of them.
\membersection{wxListView::IsSelected}\label{wxlistviewisselected}
\func{bool}{IsSelected}{\param{long }{index}}
Returns {\tt TRUE} if the item with the given {\it index} is selected,
{\tt FALSE} otherwise.
\wxheading{See also}
\helpref{GetFirstSelected}{wxlistviewgetfirstselected},\\
\helpref{GetNextSelected}{wxlistviewgetnextselected}
\membersection{wxListView::Select}\label{wxlistviewselect}
\func{void}{Select}{long n, \param{bool }{on = TRUE}}
Selects or unselects the given item.
\wxheading{Parameters}
\docparam{n}{the item to select or unselect}
\docparam{on}{if {\tt TRUE} (default), selects the item, otherwise unselects it}
\wxheading{See also}
\helpref{SetItemState}{wxlistctrlsetitemstate}
\membersection{wxListView::SetColumnImage}\label{wxlistviewsetcolumnimage}
\func{void}{SetColumnImage}{\param{int }{col}, \param{int }{image}}
Sets the column image for the specified column. To use the column images, the
control must have a valid image list with at least one image.
\wxheading{Parameters}
\docparam{col}{the column to set image for}
\docparam{image}{the index of the column image in the controls image list}
\wxheading{See also}
\helpref{ClearColumnImage}{wxlistviewclearcolumnimage},\\
\helpref{SetImageList}{wxlistctrlsetimagelist}

View File

@@ -380,7 +380,9 @@ wxLogChain *logChain = new wxLogChain(new wxLogStderr);
// all the log messages are sent to stderr and also processed as usually
...
delete logChain;
// don't delete logChain directly as this would leave a dangling
// pointer as active log target, use SetActiveTarget() instead
delete wxLog::SetActiveTarget(...something else or NULL...);
\end{verbatim}

View File

@@ -25,10 +25,16 @@ also has operators for implicit construction from and conversion to the native
You would usually use this type in exactly the same manner as any other
(built-in) arithmetic type. Note that wxLongLong is a signed type, if you
want unsigned values use wxULongLong.
want unsigned values use wxULongLong which has exactly the same API as
wxLongLong except when explicitly mentioned otherwise.
If a native (i.e. supported directly by the compiler) 64 bit integer type was
found a typedef {\it wxLongLong\_t} will be defined to correspond it.
found to exist, {\it wxLongLong\_t} macro will be defined to correspond to it.
Also, in this case only, two additional macros will be defined:
\helpref{wxLongLongFmtSpec}{wxlonglongfmtspec} for printing 64 bit integers
using the standard {\tt printf()} function (but see also
\helpref{ToString()}{wxlonglongtostring} for a more portable solution) and
\helpref{wxLL}{wxll} for defining 64 bit integer compile-time constants.
\wxheading{Derived from}

View File

@@ -26,13 +26,13 @@
%\special{!/@scaleunit 1 def}
\parskip=10pt
\parindent=0pt
\title{wxWindows 2.3: A portable C++ and Python GUI toolkit}
\title{wxWindows 2.3.4: A portable C++ and Python GUI toolkit}
\winhelponly{\author{by Julian Smart et al
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
}}
\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin,
Robin Dunn, et al}
\date{August 2002}
\date{November 2002}
}
\makeindex
\begin{document}

View File

@@ -37,15 +37,36 @@ Constructor.
\constfunc{virtual size\_t}{MB2WC}{\param{wchar\_t* }{buf}, \param{const char* }{psz}, \param{size\_t }{n}}
Converts from multibyte encoding to Unicode, using the libc routine mbstowcs()
(this is overridden by derived classes). Returns the size of the destination buffer.
Converts from a string {\it psz} in multibyte encoding to Unicode putting the
output into the buffer {\it buf} of the size {\it n} (in wide characters, not
bytes). If {\it buf} is {\tt NULL}, nothing is written to it but the length of
the string which would result from the conversion is calculated and returned.
Note that this is the length and not size, i.e. the returned value does
{\bf not} include the trailing NUL. But when the function is called with a
non-{\tt NULL} buffer, the {\it n} parameter should be the size of the buffer
and so it {\bf should} take into account the trailing NUL.
\wxheading{Parameters}
\docparam{buf}{the output buffer, may be {\tt NULL} if the caller is only
interested in the length of the resulting string}
\docparam{psz}{the {\tt NUL}-terminated input string, cannot be {\tt NULL}}
\docparam{n}{the size of the output buffer, ignored if {\it buf} is {\tt NULL}}
\wxheading{Return value}
The length of the converted string.
\membersection{wxMBConv::WC2MB}\label{wxmbconvwc2mb}
\constfunc{virtual size\_t}{WC2MB}{\param{char* }{buf}, \param{const wchar\_t* }{psz}, \param{size\_t }{n}}
Converts from Unicode to multibyte encoding, using the libc routine wcstombs()
(this is overridden by derived classes). Returns the size of the destination buffer.
Converts from Unicode to multibyte encoding. The semantics of this function
(including the return value meaning) is the same as for
\helpref{MB2WC}{wxmbconvmb2wc}.
\membersection{wxMBConv::cMB2WC}\label{wxmbconvcmb2wc}

View File

@@ -27,6 +27,13 @@ of the item positions inserting or removing the items in the menu containing
the radio items risks to not work correctly. Finally note that the radio items
are only supported under Windows and GTK+ currently.
\wxheading{Allocation strategy}
All menus except the popup ones must be created on the heap. All menus
attached to a menubar or to another menu will be deleted by their parent when
it is deleted. As the frame menubar is deleted by the frame itself, it means
that normally all menus used are deleted automatically.
\wxheading{Derived from}
\helpref{wxEvtHandler}{wxevthandler}\\
@@ -104,7 +111,9 @@ Adds a string item to the end of the menu.
\func{void}{Append}{\param{int}{ id}, \param{const wxString\& }{ item}, \param{wxMenu *}{subMenu},\rtfsp
\param{const wxString\& }{helpString = ""}}
Adds a pull-right submenu to the end of the menu.
Adds a pull-right submenu to the end of the menu. Append the submenu to the parent
menu {\it after} you have added your menu items, or accelerators may not be
registered properly.
\func{void}{Append}{\param{wxMenuItem*}{ menuItem}}

View File

@@ -36,7 +36,9 @@ Constructs a wxMenuItem object.
\docparam{id}{Identifier for this menu item, or ID\_SEPARATOR to indicate a separator.}
\docparam{text}{Text for the menu item, as shown on the menu.}
\docparam{text}{Text for the menu item, as shown on the menu. An accelerator
key can be specified using the ampersand '\&' character. In order to embed an
ampersand character in the menu item text, the ampersand must be doubled.}
\docparam{helpString}{Optional help string that will be shown on the status bar.}

View File

@@ -1,12 +1,19 @@
\section{\class{wxNodeBase}}\label{wxnode}
\section{\class{wxNode}}\label{wxnode}
A node structure used in linked lists (see \helpref{wxList}{wxlist}) and
derived classes. You should never use wxNodeBase class directly because it
works with untyped (void *) data and this is unsafe. Use wxNode-derived classes
which are defined by WX\_DECLARE\_LIST and WX\_DEFINE\_LIST macros instead as
described in \helpref{wxList}{wxlist} documentation (see example there). wxNode
is defined for compatibility as wxNodeBase containing "wxObject *" pointer, but
usage of this class is deprecated.
wxNodeBase is the node structure used in linked lists (see
\helpref{wxList}{wxlist}) and derived classes. You should never use wxNodeBase
class directly, however, because it works with untyped ({\tt void *}) data and
this is unsafe. Use wxNodeBase-derived classes which are automatically defined
by WX\_DECLARE\_LIST and WX\_DEFINE\_LIST macros instead as described in
\helpref{wxList}{wxlist} documentation (see example there). Also note that
although there is a class called wxNode, it is defined for backwards
compatibility only and usage of this class is strongly deprecated.
In the documentation below, the type {\tt T} should be thought of as a
``template'' parameter: this is the type of data stored in the linked list or,
in other words, the first argument of WX\_DECLARE\_LIST macro. Also, wxNode is
written as wxNode<T> even though it isn't really a template class -- but it
helps to think of it as if it were.
\wxheading{Derived from}
@@ -22,32 +29,32 @@ None.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxNodeBase::GetData}
\membersection{wxNode<T>::GetData}
\func{void *}{Data}{\void}
\constfunc{T *}{GetData}{\void}
Retrieves the client data pointer associated with the node.
\membersection{wxNodeBase::GetNext}
\membersection{wxNode<T>::GetNext}
\func{wxNodeBase *}{Next}{\void}
\constfunc{wxNode<T> *}{GetNext}{\void}
Retrieves the next node (NULL if at end of list).
Retrieves the next node or NULL if this node is the last one.
\membersection{wxNodeBase::GetPrevious}
\membersection{wxNode<T>::GetPrevious}
\func{wxNodeBase *}{GetPrevious}{\void}
\func{wxNode<T> *}{GetPrevious}{\void}
Retrieves the previous node (NULL if at start of list).
Retrieves the previous node or NULL if this node is the first one in the list.
\membersection{wxNodeBase::SetData}
\membersection{wxNode<T>::SetData}
\func{void}{SetData}{\param{void *}{data}}
\func{void}{SetData}{\param{T *}{data}}
Sets the data associated with the node (usually the pointer will have been
set when the node was created).
\membersection{wxNodeBase::IndexOf}
\membersection{wxNode<T>::IndexOf}
\func{int}{IndexOf}{\void}

View File

@@ -24,10 +24,11 @@ managed by wxNotebook.
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxNB\_FIXEDWIDTH}}{(Windows only)All tabs will have same width.}
\twocolitem{\windowstyle{wxNB\_LEFT}}{Place tabs on the left side.}
\twocolitem{\windowstyle{wxNB\_RIGHT}}{Place tabs on the right side.}
\twocolitem{\windowstyle{wxNB\_BOTTOM}}{Place tabs under instead of above the notebook pages.}
\twocolitem{\windowstyle{wxNB\_FIXEDWIDTH}}{(Windows only) All tabs will have same width.}
\twocolitem{\windowstyle{wxNB\_MULTILINE}}{(Windows only) There can be several rows of tabs.}
\end{twocollist}

View File

@@ -43,7 +43,7 @@ A panel may be loaded from a wxWindows resource file (extension {\tt wxr}).
Default constructor.
\func{}{wxPanel}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
\func{}{wxPanel}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = $-1$},\rtfsp
\param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp
\param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long}{ style = wxTAB\_TRAVERSAL},\rtfsp

View File

@@ -19,6 +19,9 @@ exclusive options. It has a text label next to a (usually) round button.
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxRB\_GROUP}}{Marks the beginning of a new group of radio buttons.}
\twocolitem{\windowstyle{wxRB\_SINGLE}}{If your radio buttons are not
consecutive siblings, they cannot form a group under Windows and you should use
this style to indicate that each of them is handled individually.}
\end{twocollist}
See also \helpref{window styles overview}{windowstyles}.

View File

@@ -47,7 +47,7 @@ pointer array.
\end{verbatim}
A smart pointer holds a pointer to an object (which must be complete
when wxDEFINE_SCOPED_ARRAY() is called). The memory used by the object is
when wxDEFINE\_SCOPED\_ARRAY() is called). The memory used by the object is
deleted when the smart pointer goes out of scope. The first argument
of the macro is the pointer type, the second is the name of the new
smart pointer class being created. Below we will use wxScopedArray to

View File

@@ -47,7 +47,7 @@ pointer array.
\end{verbatim}
A smart pointer holds a pointer to an object (which must be complete
when wxDEFINE_SCOPED_PTR() is called). The memory used by the object is
when wxDEFINE\_SCOPED\_PTR() is called). The memory used by the object is
deleted when the smart pointer goes out of scope. The first argument
of the macro is the pointer type, the second is the name of the new
smart pointer class being created. Below we will use wxScopedPtr to

View File

@@ -5,9 +5,9 @@ member functions that take a wxScrollEvent argument. You can use
{\tt EVT\_COMMAND\_SCROLL...} macros with window IDs for when intercepting
scroll events from controls, or {\tt EVT\_SCROLL...} macros without window IDs
for intercepting scroll events from the receiving window - except for this,
the macros behave exactly the same
the macros behave exactly the same.
\twocolwidtha{7cm}
\twocolwidtha{9cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_SCROLL(func)}}{Process all scroll events.}
\twocolitem{{\bf EVT\_SCROLL\_TOP(func)}}{Process wxEVT\_SCROLL\_TOP scroll-to-top events (minium position).}
@@ -34,3 +34,22 @@ sent as the user drags the thumbtrack).}
\end{twocollist}%
\wxheading{The difference between {\tt EVT\_SCROLL\_THUMBRELEASE} and {\tt EVT\_SCROLL\_ENDSCROLL}}
The {\tt EVT\_SCROLL\_THUMBRELEASE} event is only emitted when actually dragging
the thumb using the mouse and releasing it (This {\tt EVT\_SCROLL\_THUMBRELEASE}
event is also followed by an {\tt EVT\_SCROLL\_ENDSCROLL} event).
The {\tt EVT\_SCROLL\_ENDSCROLL} event also occurs when using the keyboard to
change the thumb position, and when clicking next to the thumb (In all these
cases the {\tt EVT\_SCROLL\_THUMBRELEASE} event does not happen).
In short, the {\tt EVT\_SCROLL\_ENDSCROLL} event is triggered when scrolling/
moving has finished. The only exception (unfortunately) is that changing the
thumb position using the mousewheel does give a {\tt EVT\_SCROLL\_THUMBRELEASE}
event but NOT an {\tt EVT\_SCROLL\_ENDSCROLL} event.
Please see the widgets sample ("Slider" page) to see the difference
between {\tt EVT\_SCROLL\_THUMBRELEASE} and {\tt EVT\_SCROLL\_ENDSCROLL} in action.

View File

@@ -4,7 +4,47 @@ The wxScrolledWindow class manages scrolling for its client area, transforming
the coordinates according to the scrollbar positions, and setting the
scroll positions, thumb sizes and ranges according to the area in view.
As with all windows, an application can draw onto a wxScrolledWindow using a \helpref{device context}{dcoverview}.
Starting from version 2.4 of wxWindows, there are several ways to use a
wxScrolledWindow. In particular, there are now three ways to set the
size of the scrolling area:
One way is to set the scrollbars directly using a call to
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars}.
This is the way it used to be in any previous version of wxWindows
and it will be kept for backwards compatibility.
An additional method of manual control, which requires a little less
computation of your own, is to set the total size of the scrolling area by
calling either \helpref{wxWindow::SetVirtualSize}{wxwindowsetvirtualsize},
or \helpref{wxWindow::FitInside}{wxwindowfitinside}, and setting the
scrolling increments for it by calling
\helpref{wxScrolledWindow::SetScrollRate}{wxscrolledwindowsetscrollrate}.
Scrolling in some orientation is enabled by setting a non zero increment
for it.
The most automatic and newest way is to simply let sizers determine the
scrolling area. This is now the default when you set an interior sizer
into a wxScrolledWindow with \helpref{wxWindow::SetSizer}{wxwindowsetsizer}.
The scrolling area will be set to the size requested by the sizer and
the scrollbars will be assigned for each orientation according to the need
for them and the scrolling increment set by
\helpref{wxScrolledWindow::SetScrollRate}{wxscrolledwindowsetscrollrate}.
As above, scrolling is only enabled in orientations with a non-zero
increment. You can influence the minimum size of the scrolled area
controlled by a sizer by calling
\helpref{wxWindow::SetVirtualSizeHints}{wxwindowsetvirtualsizehints}.
(calling \helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars}
has analogous effects in wxWindows 2.4 -- in later versions it may not continue
to override the sizer)
Note: if Maximum size hints are still supported by SetVirtualSizeHints, use
them at your own dire risk. They may or may not have been removed for 2.4,
but it really only makes sense to set minimum size hints here. We should
probably replace SetVirtualSizeHints with SetMinVirtualSize or similar
and remove it entirely in future.
As with all windows, an application can draw onto a wxScrolledWindow using
a \helpref{device context}{dcoverview}.
You have the option of handling the OnPaint handler
or overriding the \helpref{OnDraw}{wxscrolledwindowondraw} function, which is passed

View File

@@ -60,7 +60,7 @@ Destructor is not virtual, don't use this class polymorphically.
\func{wxSemaError }{Post}{\void}
Increments the semaphore count and signals one of the waiting
threads in an atomic way. Returns wxSEMA_OVERFLOW if the count
threads in an atomic way. Returns wxSEMA\_OVERFLOW if the count
would increase the counter past the maximum.
\wxheading{Return value}

View File

@@ -54,11 +54,11 @@ The destructor.
\membersection{wxSizer::Add}\label{wxsizeradd}
\func{void}{Add}{\param{wxWindow* }{window}, \param{int }{option = 0},\param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Add}{\param{wxWindow* }{window}, \param{int }{proportion = 0},\param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Add}{\param{wxSizer* }{sizer}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Add}{\param{wxSizer* }{sizer}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Add}{\param{int }{width}, \param{int }{height}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Add}{\param{int }{width}, \param{int }{height}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
Adds the {\it window} to the sizer. As wxSizer itself is an abstract class, the parameters
have no meaning in the wxSizer class itself, but as there currently is only one class
@@ -76,11 +76,11 @@ horizontal boxes on the level beneath).}
\docparam{width and height}{The dimension of a spacer to be added to the sizer. Adding spacers to sizers
gives more flexibility in the design of dialogs; imagine for example a horizontal box with two buttons at the
bottom of a dialog: you might want to insert a space between the two buttons and make that space stretchable
using the {\it option} flag and the result will be that the left button will be aligned with the left
using the {\it proportion} flag and the result will be that the left button will be aligned with the left
side of the dialog and the right button with the right side - the space in between will shrink and grow with
the dialog.}
\docparam{option}{Although the meaning of this parameter is undefined in wxSizer, it is used in wxBoxSizer
\docparam{proportion}{Although the meaning of this parameter is undefined in wxSizer, it is used in wxBoxSizer
to indicate if a child of a sizer can change its size in the main orientation of the wxBoxSizer - where
0 stands for not changeable and a value of more than zero is interpreted relative to the value of other
children of the same wxBoxSizer. For example, you might have a horizontal wxBoxSizer with three children, two
@@ -93,7 +93,7 @@ using these flags. One is the border around a window: the {\it border}
parameter determines the border width whereas the flags given here determine
where the border may be (wxTOP, wxBOTTOM, wxLEFT, wxRIGHT or wxALL). The other
flags determine the child window's behaviour if the size of the sizer changes.
However this is not - in contrast to the {\it option} flag - in the main
However this is not - in contrast to the {\it proportion} flag - in the main
orientation, but in the respectively other orientation. So if you created a
wxBoxSizer with the wxVERTICAL option, these flags will be relevant if the
sizer changes its horizontal size. A child may get resized to completely fill
@@ -106,7 +106,7 @@ in the main orientation using wxALIGN\_CENTER\_VERTICAL (same as
wxALIGN\_CENTRE\_VERTICAL) and wxALIGN\_CENTER\_HORIZONTAL (same as
wxALIGN\_CENTRE\_HORIZONTAL) flags. Finally, you can also specify
wxADJUST\_MINSIZE flag to make the minimal size of the control dynamically adjust
to the value returned by its \helpref{GetBestSize()}{wxwindowgetbestsize}
to the value returned by its \helpref{GetAdjustedBestSize()}{wxwindowgetadjustedbestsize}
method - this allows, for example, for correct relayouting of a static text
control even if its text is changed during run-time.}
@@ -114,7 +114,7 @@ control even if its text is changed during run-time.}
\docparam{userData}{Allows an extra object to be attached to the sizer
item, for use in derived classes when sizing information is more
complex than the {\it option} and {\it flag} will allow for.}
complex than the {\it proportion} and {\it flag} will allow for.}
\membersection{wxSizer::CalcMin}\label{wxsizercalcmin}
@@ -175,11 +175,11 @@ the current dimension.
\membersection{wxSizer::Prepend}\label{wxsizerprepend}
\func{void}{Prepend}{\param{wxWindow* }{window}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Prepend}{\param{wxWindow* }{window}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Prepend}{\param{wxSizer* }{sizer}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Prepend}{\param{wxSizer* }{sizer}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Prepend}{\param{int }{width}, \param{int }{height}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border= 0}, \param{wxObject* }{userData = NULL}}
\func{void}{Prepend}{\param{int }{width}, \param{int }{height}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border= 0}, \param{wxObject* }{userData = NULL}}
Same as \helpref{wxSizer::Add}{wxsizeradd}, but prepends the items to the beginning of the
list of items (windows, subsizers or spaces) owned by this sizer.
@@ -254,9 +254,18 @@ see sample in the description of \helpref{wxBoxSizer}{wxboxsizer} if the window
\func{void}{SetVirtualSizeHints}{\param{wxWindow* }{window}}
Tell the sizer to set the minimal size of the {\it window} virtual area to match the sizer's
minimal size. For windows with managed scrollbars this will set them appropriately.
minimal size. For windows with managed scrollbars this will set them appropriately.
\wxheading{See also}
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars}
\membersection{wxSizer::Show}\label{wxsizershow}
\func{void}{Show}{\param{wxWindow* }{window}, \param{bool }{show = TRUE}}
\func{void}{Show}{\param{wxSizer* }{sizer}, \param{bool }{show = TRUE}}
Shows or hides a window or sizer. To make a sizer item disappear or
reappear, use Show() followed by Layout().

View File

@@ -37,7 +37,7 @@ palette problems.
Default constructor.
\func{}{wxStaticBitmap}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
\param{const wxBitmap\& }{label = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{const wxBitmap\& }{label}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticBitmap"}}
Constructor, creating and showing a text control.
@@ -65,7 +65,7 @@ Constructor, creating and showing a text control.
\membersection{wxStaticBitmap::Create}\label{wxstaticbitmapcreate}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
\param{const wxBitmap\& }{label = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{const wxBitmap\& }{label}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticBitmap"}}
Creation function, for two-step construction. For details see \helpref{wxStaticBitmap::wxStaticBitmap}{wxstaticbitmapconstr}.

View File

@@ -167,7 +167,7 @@ The wildcard may be a specification for multiple
types of file with a description for each, such as:
\begin{verbatim}
"BMP files (*.bmp) | *.bmp | GIF files (*.gif) | *.gif"
"BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif"
\end{verbatim}
\subsection{wxDirDialog overview}\label{wxdirdialogoverview}

View File

@@ -404,8 +404,8 @@ member.
\begin{verbatim}
wxDbConnectInf DbConnectInf;
DbConnectInf.SetDsn,"MyDSN");
DbConnectInf.SetUserID,"MyUserName");
DbConnectInf.SetDsn("MyDSN");
DbConnectInf.SetUserID("MyUserName");
DbConnectInf.SetPassword("MyPassword");
DbConnectInf.SetDefaultDir("");
\end{verbatim}
@@ -832,7 +832,7 @@ this example it was stored in "DbConnectInf.Henv") have been closed, then
it is safe to release the environment handle:
\begin{verbatim}
DbConnectInf->FreeHenv());
DbConnectInf->FreeHenv();
\end{verbatim}
Or, if the long form of the constructor was used and the constructor was allowed

View File

@@ -1,4 +1,6 @@
;;; Tex2RTF initialisation file
;;; Tex2RTF initialisation file, using NO style sheet for HTML. See
;;; tex2rtf_css.ini for a version using a style sheet. You can use
;;; -macros tex2rtf.ini to specify the ini file.
runTwice = yes
titleFontSize = 12
authorFontSize = 10
@@ -32,7 +34,7 @@ htmlFaceName = "Arial, Lucida, Helvetica"
\textbackslash [0]{{\tt$\backslash$}}
\gifsep [0]{\par}
ignoreInput = "ltx.tex"
htmlStylesheet = "wx.css"
; htmlStylesheet = "wx.css"
;\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}}
;\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}

View File

@@ -0,0 +1,54 @@
;;; Tex2RTF initialisation file, using a style sheet for HTML.
;;; See tex2rtf.ini for a version using no style sheet, and instead
;;; setting explicit fonts. You can use -macros tex2rtf_css.ini to
;;; specify the ini file.
runTwice = yes
titleFontSize = 12
authorFontSize = 10
authorFontSize = 10
chapterFontSize = 12
sectionFontSize = 12
subsectionFontSize = 12
contentsDepth = 2
headerRule = yes
footerRule = yes
useHeadingStyles = yes
listItemIndent=40
generateHPJ = yes
htmlBrowseButtons = bitmap
winHelpContents = yes
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
winHelpTitle = "wxWindows Manual"
truncateFilenames = yes
combineSubSections = yes
;;
;; These two are for generating MS HTML Help project, contents and index files.
;;
htmlWorkshopFiles = true
htmlIndex = true
; Finally, a way to specify face names
;htmlFaceName = "Arial, Lucida, Helvetica"
\textasciitilde [0]{{\tt\~}}
\textasciicircum [0]{{\tt\^}}
\textbackslash [0]{{\tt$\backslash$}}
\gifsep [0]{\par}
ignoreInput = "ltx.tex"
htmlStylesheet = "wx.css"
;\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}}
;\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
;\sethotspotcolour{on}\sethotspotunderline{on}}
\overview [2] {\helpref{#1}{#2}}
\docparam [2]{\parskip{0}{\it #1}\htmlignore{\par}\parskip{10}\indented{1cm}{#2}}
\wxheading [1]{{\bf \htmlignore{\fcol{blue}{#1}}\htmlonly{\fcol{red}{#1}}}}
\const [0] {{\bf const}}
\constfunc [3] {{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
\windowstyle [1] {{\bf #1}\index{#1}}
\bftt [1] {\bf{\tt{#1}}}
\pythonnote [1] {{\bf \fcol{blue}{wxPython note:}} #1}
%\pythonnote [1] {}
\perlnote [1] {{\bf \fcol{blue}{wxPerl note:}} #1}
%\perlnote [1] {}

View File

@@ -125,6 +125,29 @@ it to always show it. It doesn't do anything under other platforms.}
See also \helpref{window styles overview}{windowstyles} and
\helpref{wxTextCtrl::wxTextCtrl}{wxtextctrlconstr}.
\wxheading{wxTextCtrl text format}
The multiline text controls always store the text as a sequence of lines
separated by {\tt $\backslash$n} characters, i.e. in the Unix text format even
on non-Unix platforms. This allows the user code to ignore the differences
between the platforms but at a price: the indices in the control such as those
returned by \helpref{GetInsertionPoint}{wxtextctrlgetinsertionpoint} or
\helpref{GetSelection}{wxtextctrlgetselection} can {\bf not} be used as
indices into the string returned by \helpref{GetValue}{wxtextctrlgetvalue} as
they're going to be slightly off for platforms using
{\tt $\backslash$r$\backslash$n} as separator (as Windows does), for example.
Instead, if you need to obtain a substring between the $2$ indices obtained
from the control with the help of the functions mentioned above, you should
use \helpref{GetRange}{wxtextctrlgetrange}. And the indices themselves can
only be passed to other methods, for example
\helpref{SetInsertionPoint}{wxtextctrlsetinsertionpoint} or
\helpref{SetSelection}{wxtextctrlsetselection}.
To summarize: never use the indices returned by (multiline) wxTextCtrl as
indices into the string it contains, but only as arguments to be passed back
to the other wxTextCtrl methods.
\wxheading{wxTextCtrl styles}
Multi-line text controls support the styles, i.e. provide a possibility to set
@@ -554,8 +577,9 @@ returned string is empty.
\constfunc{wxString}{GetValue}{\void}
Gets the contents of the control. Notice that for a multiline text control,
the lines will be separated by (Unix-style) $\backslash$n characters, even under
Windows where they are separated by a $\backslash$r$\backslash$n sequence in the native control.
the lines will be separated by (Unix-style) $\backslash$n characters, even
under Windows where they are separated by a $\backslash$r$\backslash$n
sequence in the native control.
\membersection{wxTextCtrl::IsEditable}\label{wxtextctrliseditable}

View File

@@ -55,20 +55,19 @@ The situation is particularly complicated with Cyrillic encodings for which
used on the Internet), ISO8859-5 (ISO standard for Cyrillic) and CP1251
(WinCyrillic).
This abundance of (incompatible) encoding:w
s should make it clear that using
This abundance of (incompatible) encodings should make it clear that using
encodings is less easy than it might seem. The problems arise both from the
fact that the standard encodings for the given language (say Russian, which is
written in Cyrillic) are different on different platforms and because the
fonts in the given encoding might just not be installed (this is especially a
problem with Unix, or, in general, non-Win32 systems).
To allow to see clearer in this, \helpref{wxFontEnumerator}{wxfontenumerator}
To clarify, the \helpref{wxFontEnumerator}{wxfontenumerator}
class may be used to enumerate both all available encodings and to find the
facename(s) in which the given encoding exists. If you can find the font in
the correct encoding with wxFontEnumerator then your troubles are over, but,
unfortunately, sometimes this is not enough. For example, there is no standard
way (I know of, please tell me if you do!) to find a font on a Windows system
way (that I know of, please tell me if you do!) to find a font on a Windows system
for KOI8 encoding (only for WinCyrillic one which is quite different), so
\helpref{wxFontEnumerator}{wxfontenumerator} will never return one, even if
the user has installed a KOI8 font on his system.
@@ -80,7 +79,7 @@ course, it would be fairly useless if it tried to determine these mappings by
itself, so, instead, it (optionally) ask the user and remember his answers
so that the next time the program will automatically choose the correct font.
All these topics are illustrated by the \helpref{font sample}{samplefont},
All these topics are illustrated by the \helpref{font sample}{samplefont};
please refer to it and the documentation of the classes mentioned here for
further explanations.

View File

@@ -20,6 +20,8 @@ In any case, you must start the timer with \helpref{Start}{wxtimerstart}
after constructing it before it actually starts sending notifications. It can
be stopped later with \helpref{Stop}{wxtimerstop}.
{\bf NB:} note that timer can only be used from the main thread currently.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}

View File

@@ -1,7 +1,8 @@
\section{\class{wxTreeCtrl}}\label{wxtreectrl}
A tree control presents information as a hierarchy, with items that may be expanded
to show further items. Items in a tree control are referenced by wxTreeItemId handles.
to show further items. Items in a tree control are referenced by wxTreeItemId handles,
which may be tested for validity by calling wxTreeItemId::IsOk.
To intercept events from a tree control, use the event table macros described in \helpref{wxTreeEvent}{wxtreeevent}.
@@ -233,13 +234,23 @@ Creates the tree control. See \helpref{wxTreeCtrl::wxTreeCtrl}{wxtreectrlconstr}
\func{void}{Delete}{\param{const wxTreeItemId\&}{ item}}
Deletes the specified item.
Deletes the specified item. A {\tt EVT\_TREE\_DELETE\_ITEM} event will be
generated.
\membersection{wxTreeCtrl::DeleteAllItems}\label{wxtreectrldeleteallitems}
\func{void}{DeleteAllItems}{\void}
Deletes all the items in the control.
Deletes all the items in the control. Note that this will {\bf not} generate
any events unlike \helpref{Delete}{wxtreectrldelete} method.
\membersection{wxTreeCtrl::DeleteChildren}\label{wxtreectrldeletechildren}
\func{void}{DeleteChildren}{\param{const wxTreeItemId\& }{item}}
Deletes all children of the given item (but not the item itself). Note that
this will {\bf not} generate any events unlike
\helpref{Delete}{wxtreectrldelete} method.
\membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel}
@@ -338,13 +349,14 @@ For this enumeration function you must pass in a `cookie' parameter
which is opaque for the application but is necessary for the library
to make these functions reentrant (i.e. allow more than one
enumeration on one and the same object simultaneously). The cookie passed to
GetFirstChild and GetNextChild should be the same.
GetFirstChild and GetNextChild should be the same variable.
Returns an invalid tree item if there are no further children.
\wxheading{See also}
\helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild}
\helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild},
\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling}
\pythonnote{In wxPython the returned wxTreeItemId and the new cookie
value are both returned as a tuple containing the two values.}
@@ -370,6 +382,12 @@ Returns the normal image list.
Returns the current tree control indentation.
\membersection{wxTreeCtrl::GetItemBackgroundColour}\label{wxtreectrlgetitembackgroundcolour}
\constfunc{wxColour}{GetItemBackgroundColour}{\param{const wxTreeItemId\&}{ item}}
Returns the background colour of the item.
\membersection{wxTreeCtrl::GetItemData}\label{wxtreectrlgetitemdata}
\constfunc{wxTreeItemData*}{GetItemData}{\param{const wxTreeItemId\&}{ item}}
@@ -397,6 +415,12 @@ tree->GetItemData( item )->GetData(); ).}
\end{twocollist}}
}
\membersection{wxTreeCtrl::GetItemFont}\label{wxtreectrlgetitemfont}
\constfunc{wxFont}{GetItemFont}{\param{const wxTreeItemId\&}{ item}}
Returns the font of the item label.
\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage}
\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item},
@@ -421,6 +445,12 @@ item is expanded and the normal image is shown when it is collapsed)
Returns the item label.
\membersection{wxTreeCtrl::GetItemTextColour}\label{wxtreectrlgetitemtextcolour}
\constfunc{wxColour}{GetItemTextColour}{\param{const wxTreeItemId\&}{ item}}
Returns the colour of the item label.
\membersection{wxTreeCtrl::GetLastChild}\label{wxtreectrlgetlastchild}
\constfunc{wxTreeItemId}{GetLastChild}{\param{const wxTreeItemId\&}{ item}}
@@ -430,6 +460,7 @@ Returns the last child of the item (or an invalid tree item if this item has no
\wxheading{See also}
\helpref{GetFirstChild}{wxtreectrlgetfirstchild},
\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling},
\helpref{GetLastChild}{wxtreectrlgetlastchild}
\membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild}

View File

@@ -20,8 +20,8 @@ functions that take a wxTreeEvent argument.
\twocolwidtha{9cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_TREE\_BEGIN\_DRAG(id, func)}}{The user has started dragging an item with the left mouse button.}
\twocolitem{{\bf EVT\_TREE\_BEGIN\_RDRAG(id, func)}}{The user has started dragging an item with the right mouse button.}
\twocolitem{{\bf EVT\_TREE\_BEGIN\_DRAG(id, func)}}{The user has started dragging an item with the left mouse button. The event handler must call {\bf wxTreeEvent::Allow()} for the drag operation to continue.}
\twocolitem{{\bf EVT\_TREE\_BEGIN\_RDRAG(id, func)}}{The user has started dragging an item with the right mouse button. The event handler must call {\bf wxTreeEvent::Allow()} for the drag operation to continue.}
\twocolitem{{\bf EVT\_TREE\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
\twocolitem{{\bf EVT\_TREE\_END\_DRAG(id, func)}}{The user has released the mouse after dragging an item.}
\twocolitem{{\bf EVT\_TREE\_END\_LABEL\_EDIT(id, func)}}{The user has finished editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}

View File

@@ -3,7 +3,8 @@
Classes: \helpref{wxSizer}{wxsizer}, \helpref{wxGridSizer}{wxgridsizer},
\helpref{wxFlexGridSizer}{wxflexgridsizer}, \helpref{wxBoxSizer}{wxboxsizer},
\helpref{wxStaticBoxSizer}{wxstaticboxsizer},
\helpref{wxNotebookSizer}{wxnotebooksizer}
\helpref{wxNotebookSizer}{wxnotebooksizer},
\helpref{CreateButtonSizer}{createbuttonsizer}
Sizers, as represented by the wxSizer class and its descendants in
the wxWindows class hierarchy, have become the method of choice to
@@ -192,7 +193,7 @@ the buttons shall be centred as the width of the dialog changes.
It is the unique feature of a box sizer, that it can grow in both directions (height and
width) but can distribute its growth in the main direction (horizontal for a row) {\it unevenly}
among its children. In our example case, the vertical sizer is supposed to propagate all its
height changes to only the text area, not to the button area. This is determined by the {\it option} parameter
height changes to only the text area, not to the button area. This is determined by the {\it proportion} parameter
when adding a window (or another sizer) to a sizer. It is interpreted
as a weight factor, i.e. it can be zero, indicating that the window may not be resized
at all, or above zero. If several windows have a value above zero, the value is interpreted
@@ -312,3 +313,25 @@ aware of:
box around the sizer. Note that this static box has to be created
separately.
\subsection{CreateButtonSizer}\label{createbuttonsizer}
As a convenience, CreateButtonSizer ( long flags ) can be used to create a standard button sizer
in which standard buttons are displayed. The following flags can be passed to this function:
\begin{verbatim}
wxYES_NO // Add Yes/No subpanel
wxYES // return wxID_YES
wxNO // return wxID_NO
wxNO_DEFAULT // make the wxNO button the default, otherwise wxYES or wxOK button will be default
wxOK // return wxID_OK
wxCANCEL // return wxID_CANCEL
wxHELP // return wxID_HELP
wxFORWARD // return wxID_FORWARD
wxBACKWARD // return wxID_BACKWARD
wxSETUP // return wxID_SETUP
wxMORE // return wxID_MORE
\end{verbatim}

View File

@@ -9,8 +9,8 @@ wxString is a class which represents a character string of arbitrary length (lim
arbitrary characters. The ASCII NUL character is allowed, although care should be
taken when passing strings containing it to other functions.
wxString works with both ASCII (8 bit characters) as well as UNICODE (16 but
characters) strings.
wxString works with both ASCII (traditional, 7 or 8 bit, characters) as well as
Unicode (wide characters) strings.
This class has all the standard operations you can expect to find in a string class:
dynamic memory management (string extends to accommodate new characters),
@@ -48,9 +48,10 @@ very useful but don't exist in most of other string classes: for example,
\helpref{BeforeLast}{wxstringbeforelast}, \helpref{operator<<}{wxstringoperatorout}
or \helpref{Printf}{wxstringprintf}. Of course, all the standard string
operations are supported as well.
\item {\bf UNICODE} In this release, wxString only supports {\it construction} from
a UNICODE string, but in the next one it will be capable of also storing its
internal data in either ASCII or UNICODE format.
\item {\bf Unicode} wxString is Unicode friendly: it allows to easily convert
to and from ANSI and Unicode strings in any build mode (see the
\helpref{Unicode overview}{unicode} for more details) and maps to either
{\tt string} or {\tt wstring} transparently depending on the current mode.
\item {\bf Used by wxWindows} And, of course, this class is used everywhere
inside wxWindows so there is no performance loss which would result from
conversions of objects of any other string class (including std::string) to

View File

@@ -6,7 +6,8 @@ The tree control displays its items in a tree like structure. Each item has its
own (optional) icon and a label. An item may be either collapsed (meaning that
its children are not visible) or expanded (meaning that its children are
shown). Each item in the tree is identified by its {\it itemId} which is of
opaque data type {\it wxTreeItemId}.
opaque data type {\it wxTreeItemId}. You can test whether an item is valid
by calling wxTreeItemId::IsOk.
The items text and image may be retrieved and changed with
\helpref{GetItemText}{wxtreectrlgetitemtext}/\helpref{SetItemText}{wxtreectrlsetitemtext}

View File

@@ -160,7 +160,7 @@ Although everything works fine inside the program, things can get nasty when
it tries to communicate with the outside world which, sadly, often expects
ANSI strings (a notable exception is the entire Win32 API which accepts either
Unicode or ANSI strings and which thus makes it unnecessary to ever perform
any conversions in the program).
any conversions in the program). GTK 2.0 only accepts UTF-8 strings.
To get a ANSI string from a wxString, you may use the
mb\_str() function which always returns an ANSI
@@ -175,7 +175,8 @@ the Unicode string.
\subsection{Unicode-related compilation settings}
You should define {\tt wxUSE\_UNICODE} to $1$ to compile your program in
Unicode mode. Note that it currently only works in Win32 and that some parts of
Unicode mode. Note that it currently only works in Win32 and GTK 2.0 and
that some parts of
wxWindows are not Unicode-compliant yet (ODBC classes, for example). If you
compile your program in ANSI mode you can still define {\tt wxUSE\_WCHAR\_T}
to get some limited support for {\tt wchar\_t} type.

View File

@@ -5,6 +5,7 @@ to give an application the chance to update various user interface elements.
\wxheading{Derived from}
\helpref{wxCommandEvent}{wxcommandevent}\\
\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}

View File

@@ -55,8 +55,8 @@ checks if each input character is in the list (one character per list element),
\docparam{valPtr}{A pointer to a wxString variable that contains the value. This variable
should have a lifetime equal to or longer than the validator lifetime (which is usually
determined by the lifetime of the window). If NULL, the validator uses its own internal
storage for the value.}
determined by the lifetime of the window). % If NULL, the validator uses its own internal storage for the value. NOT TRUE
}
\membersection{wxTextValidator::\destruct{wxTextValidator}}

View File

@@ -3,13 +3,13 @@
wxWindow is the base class for all windows. Any children of the window will be deleted
automatically by the destructor before the window itself is deleted.
Please note that we documented a number of handler functions (OnChar(), OnMouse() etc.) in this
help text. These must not be called by a user program and are documented only for illustration.
On several platforms, only a few of these handlers are actually written (they are not always
needed) and if you are uncertain on how to add a certain behaviour to a window class, intercept
the respective event as usual and call \helpref{wxEvent::Skip}{wxeventskip} so that the native
platform can implement its native behaviour or just ignore the event if nothing needs to be
done.
%Please note that we documented a number of handler functions (OnChar(), OnMouse() etc.) in this
%help text. These must not be called by a user program and are documented only for illustration.
%On several platforms, only a few of these handlers are actually written (they are not always
%needed) and if you are uncertain on how to add a certain behaviour to a window class, intercept
%the respective event as usual and call \helpref{wxEvent::Skip}{wxeventskip} so that the native
%platform can implement its native behaviour or just ignore the event if nothing needs to be
%done.
\wxheading{Derived from}
@@ -521,6 +521,16 @@ The search is recursive in both cases.
Sizes the window so that it fits around its subwindows. This function won't do
anything if there are no subwindows.
\membersection{wxWindow::FitInside}\label{wxwindowfitinside}
\func{virtual void}{FitInside}{\void}
Similar to \helpref{Fit}{wxwindowfit}, but sizes the interior (virtual) size
of a window. Mainly useful with scrolled windows to reset scrollbars after
sizing changes that do not trigger a size event, and/or scrolled windows without
an interior sizer. This function similarly won't do anything if there are no
subwindows.
\membersection{wxWindow::Freeze}\label{wxwindowfreeze}
\func{virtual void}{Freeze}{\void}
@@ -535,6 +545,16 @@ wxTextCtrl under wxGTK) but is not implemented on all platforms nor for all
controls so it is mostly just a hint to wxWindows and not a mandatory
directive.
\membersection{wxWindow::GetAdjustedBestSize}\label{wxwindowgetadjustedbestsize}
\constfunc{wxSize}{GetAdjustedBestSize}{\void}
This method is similar to \helpref{GetBestSize}{wxwindowgetbestsize}, except
in one thing. GetBestSize should return the minimum untruncated size of the
window, while this method will return the largest of BestSize and any user
specified minimum size. ie. it is the minimum size the window should currently
be drawn at, not the minimal size it can possibly tolerate.
\membersection{wxWindow::GetBackgroundColour}\label{wxwindowgetbackgroundcolour}
\constfunc{virtual wxColour}{GetBackgroundColour}{\void}
@@ -1759,6 +1779,19 @@ erased.}
\docparam{rect}{If non-NULL, only the given rectangle will
be treated as damaged.}
\wxheading{See also}
\helpref{wxWindow::RefreshRect}{wxwindowrefreshrect}
\membersection{wxWindow::RefreshRect}\label{wxwindowrefreshrect}
\func{virtual void}{Refresh}{\param{const wxRect\& }{rect}}
Redraws the contents of the given rectangle: the area inside it will be
repainted.
This is the same as \helpref{Refresh}{wxwindowrefresh} but has a nicer syntax.
\membersection{wxWindow::ReleaseMouse}\label{wxwindowreleasemouse}
\func{virtual void}{ReleaseMouse}{\void}
@@ -2682,6 +2715,17 @@ Returns {\tt FALSE} if a transfer failed.
\helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
\helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::Validate}{wxwindowvalidate}
\membersection{wxWindow::Update}\label{wxwindowupdate}
\func{virtual void}{Update}{\void}
Calling this method immediately repaints the invalidated area of the window
while this would usually only happen when the flow of control returns to the
event loop. Notice that this function doesn't refresh the window and does
nothing if the window hadn't been already repainted. Use
\helpref{Refresh}{wxwindowrefresh} first if you want to immediately redraw the
window unconditionally.
\membersection{wxWindow::Validate}\label{wxwindowvalidate}
\func{virtual bool}{Validate}{\void}

View File

@@ -134,9 +134,9 @@ also \helpref{GetBitmap}{wxwizardpagegetbitmap}.}
\docparam{pos}{The position of the dialog, it will be centered on the screen
by default.}
\membersection{wxWizard::Fit}\label{wxwizardfit}
\membersection{wxWizard::FitToPage}\label{wxwizardfittopage}
\func{void}{Fit}{\param{const wxWizardPage* }{firstPage}}
\func{void}{FittoPage}{\param{const wxWizardPage* }{firstPage}}
Sets the page size to be big enough for all the pages accessible via the
given {\it firstPage}, i.e. this page, its next page and so on.
@@ -160,6 +160,32 @@ Get the current page while the wizard is running. {\tt NULL} is returned if
Returns the size available for the pages.
\membersection{wxWizard::HasNextPage}\label{wxwizardhasnextpage}
\func{virtual bool}{HasNextPage}{\param{wxWizardPage *}{page}}
Return {\tt TRUE} if this page is not the last one in the wizard. The base
class version implements this by calling
\helpref{page->GetNext}{wxwizardpagegetnext} but this could be undesirable if,
for example, the pages are created on demand only.
\wxheading{See also}
\helpref{HasPrevPage}{wxwizardhasprevpage}
\membersection{wxWizard::HasPrevPage}\label{wxwizardhasprevpage}
\func{virtual bool}{HasPrevPage}{\param{wxWizardPage *}{page}}
Return {\tt TRUE} if this page is not the last one in the wizard. The base
class version implements this by calling
\helpref{page->GetPrev}{wxwizardpagegetprev} but this could be undesirable if,
for example, the pages are created on demand only.
\wxheading{See also}
\helpref{HasNextPage}{wxwizardhasnextpage}
\membersection{wxWizard::RunWizard}\label{wxwizardrunwizard}
\func{bool}{RunWizard}{\param{wxWizardPage* }{firstPage}}

180
docs/latex/wx/wx.css Normal file
View File

@@ -0,0 +1,180 @@
body
{
padding: 0px 0px 0px 26px;
background: #ffffff;
color: #000000;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
div
{
width: 90%;
border: 2px solid #999999;
padding: 4px 8px;
background: #cccccc;
}
h1, h2, h3, h4
{
font-family: Verdana, Arial, Helvetica, sans-serif;
margin-left: -26px;
}
h1
{
font-size: 200%;
margin-top: 1em;
margin-bottom: .6em;
}
h2
{
font-size: 150%;
margin-top: 1em;
margin-bottom: .6em;
}
h3
{
font-size: 120%;
margin-left: 0px;
margin-bottom: 0.2em;
margin-top: 1.5em;
}
h4
{
margin-top: 1em;
margin-bottom: .6em;
}
h5
{
margin-bottom: 1em;
margin-top: 1.5em;
}
ul p, ol p, dl p
{
margin-left: 0em;
}
p
{
margin-top: .6em;
margin-bottom: .6em;
}
dl
{
margin-top: 0em;
}
dd
{
margin-bottom: 0em;
margin-left: 1.5em;
}
dt
{
margin-top: .6em;
}
ul, ol
{
margin-top: .6em;
margin-bottom: 0em;
}
ol
{
margin-left: 3.6em;
}
ul
{
list-style-type: disc;
margin-left: 1.9em;
}
li
{
margin-bottom: .6em;
}
tt
{
font-family: Andale Mono, Courier New, Courier, mono;
}
pre
{
margin-top: .6em;
margin-bottom: .6em;
margin-left: 2em;
margin-right: 2em;
font-family: Andale Mono, Courier New, Courier, mono;
color: #550000;
background: #eeeeee;
}
table
{
width: 90%;
background: #999999;
margin-top: 0em;
margin-bottom: .3em;
background: #ffffff;
}
th
{
padding: 2px 4px;
background: #dddddd;
text-align: left;
vertical-align: top;
margin: .25em;
}
td
{
margin: .25em;
padding: 2px 4px;
background: #eeeeee;
vertical-align: top;
}
tr
{
margin: .25em;
vertical-align: top;
}
a:link
{
color: #0066ff;
}
a:visited
{
color: #996600;
}
a:hover
{
color: #cc9900;
}
body, td, pre, tt
{
font-size: 100%;
}
h4, th
{
font-size: 120%;
}

View File

@@ -1,5 +1,5 @@
[OPTIONS]
BMROOT=c:\wx2dev\wxWind~1\docs/latex/wx ; Assume that bitmaps are where the source is
BMROOT=c:\wx24\wxwind~1\docs/latex/wx ; Assume that bitmaps are where the source is
TITLE=wxWindows Manual
CONTENTS=Contents
COMPRESS=HIGH

View File

@@ -5,7 +5,7 @@ from www.gtk.org. It makes use of GTK+'s native widgets wherever
possible and uses wxWindows' generic controls when needed. GTK+
itself has been ported to a number of systems, but so far only the
original X11 version is supported. Support for the recently released
GTK+ 2.0 including Unicode support is still under construction.
GTK+ 2.0 including Unicode support is work in progress.
You will need GTK+ 1.2.3 or higher which is available from:

View File

@@ -660,7 +660,7 @@ If {\it fromEnd} is TRUE, reverse search direction.
If {\bf caseSensitive}, comparison is case sensitive (the default).
Returns the index of the first item matched, or NOT\_FOUND.
Returns the index of the first item matched, or wxNOT\_FOUND.
% TODO
%\membersection{wxString::insert}\label{wxstringinsert}

View File

@@ -229,6 +229,12 @@ Loads a toolbar.
Sets the global resources object and returns a pointer to the previous one (may be NULL).
\membersection{wxXmlResource::SetFlags}\label{wxxmlresourcesetflags}
\func{int}{SetFlags}{\void}
Sets flags (bitlist of wxXRC\_USE\_LOCALE and wxXRC\_NO\_SUBCLASSING).
\membersection{wxXmlResource::UpdateResources}\label{wxxmlresourceupdateresources}
\func{void}{UpdateResources}{\void}

View File

@@ -56,6 +56,13 @@ Add styles common to all wxWindow-derived classes.
Returns TRUE if it understands this node and can create
a resource from it, FALSE otherwise.
\wxheading{Note}
You must {\bf not} call any wxXmlResourceHandler methods except
\helpref{IsOfClass}{wxxmlresourcehandlerisofclass} from this method! The instance
is not yet initialized with node data at the time CanHandle is called and it is only
safe to operate on {\it node} directly or to call IsOfClass.
\membersection{wxXmlResourceHandler::CreateChildren}\label{wxxmlresourcehandlercreatechildren}
\func{void}{CreateChildren}{\param{wxObject* }{parent}, \param{bool }{this\_hnd\_only = FALSE}}

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +1,45 @@
Installing and compiling wxMac
============================================================
On MacOS X, you can download Apple's free developer tools (gcc
and associated headers and libraries, such as the Carbon API).
You can then use configure in a similar way to compiling
wxWindows on Linux, (or on Windows using MinGW or Cygwin). See
'Apple Developers Tools' below for more details on using
configure.
To target on MacOS 8 or 9, you need to buy Metrowerks
CodeWarrior. You can then compile Mac Classic or MacOS X
applications on Mac OS X, or compile Mac Classic or MacOS X
applications on Mac Classic. However you can only run and debug
each type of application on the target operating system.
Installing latest headers (and Carbon Support)
----------------------------------------------
NOTE : these steps are not necessary for Pro 6, only for Pro 5.3
NOTE: these steps are not necessary for CW Pro 6 and above,
only for CW Pro 5.3.
the latest build for carbon support lead to a few changes you will have to
The latest build for carbon support leads to a few changes you will have to
follow, in order to successfully compile the code (also necessary if you don't
want to build the carbon targets)
want to build the carbon targets).
1. you need CodeWarrior Pro 5.3 , i.e. 5.0 with all the upgrades
2. you have to download the 3.4.0 (or greater) universal interfaces from
ftp://ftp.apple.com/developer/Development_Kits/UniversalHeaders3.4.1.img.bin
3. put the Interfaces and Libraries Folder into the MacOS Support folder and replace older versions
4. remove from the MacOS Support folder the separate OpenTransport folder
1. You need CodeWarrior Pro 5.3 , i.e. 5.0 with all the upgrades.
2. You have to download the 3.4.0 (or greater) universal interfaces from
ftp://ftp.apple.com/developer/Development_Kits/UniversalHeaders3.4.1.img.bin.
3. put the Interfaces and Libraries Folder into the MacOS Support folder and
replace older versions.
4. remove from the MacOS Support folder the separate OpenTransport folder.
5. open the file MacOS Support:MacHeaders:MacHeaders.c and add the line
#include <ControlDefinitions.h>
after the
#include <Controls.h>
6. rebuild all MacHeaders from the MacHeaders.mcp project in the same folder
6. rebuild all MacHeaders from the MacHeaders.mcp project in the same folder.
if you want to build the carbon targets, you will also need the latest
If you want to build the carbon targets, you will also need the latest
carbonized version of MSL from Metrowerks, at the time of writing, this meant
applying the changes from the folders
applying the changes from the folders:
CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbonized MSL and
CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbonized Runtimes
(consult the file CodeWarrior Pro 5:Pre-Release:Carbon & MacOSX Development:Carbon & MacOSX README)
@@ -43,8 +62,9 @@ libraries and headers from http://developer.apple.com/opengl/index.html
If you want OpenGL support with CodeWarrior, set wxUSE_OPENGL to 1 in
include/wx/setup.h
If you don't want OpenGl support, remove the file "glcanvas.cpp" from the
project before compilation and leave the setting at 0
If you don't want OpenGl support, set wxUSE_OPENGL to 0 (the
default) and remove the file OpenGLLibraryStub from the project
before compilation.
If you want OpenGL support with the Apple Developer Tools under Mac OS X, add
--with-opengl to the arguments of configure when configuring wxMac.
@@ -56,16 +76,22 @@ The project files are stored as xml text files and converted to binary
CodeWarrior projects in the distribution (see AppleScript Files below):
- *M5.xml -> *M5.mcp for CodeWarrior 5.3
- *M6.xml -> *M6.mcp for CodeWarrior 6
- *M7.xml -> *M7.mcp for CodeWarrior 7
- *M7.xml -> *M7.mcp for CodeWarrior 7 and above.
In order to build the library (and then the samples) you need to make the
following projects (for 5.3)
:src:wxxindowsM5.mcp
following projects (for CW 5.3, similar process for CW 7):
:src:wxwindowsM5.mcp
:src:png:pngM5.mcp
:src:tiff:tiffM5.mcp
:src:jpeg:jpegM5.mcp
:src:zlib:zlibM5.mcp
Note that if using CW 8 and above, when compiling the samples
you may need to edit the target settings, click on Language
Settings, C/++ Language and remove the forward slash at the
start of /wx/wx_cw_d.h (or similar filename).
AppleScript Files
-----------------
@@ -125,3 +151,4 @@ Missing PLStringFuncsLib
------------------------
You will have to build All Targets for MacOS Support:Libraries:Sources:PLStringFuncs:Glue:PLStringFuncsGlue.mcp

View File

@@ -4,7 +4,7 @@ More Information is available from the wxWindows project home page at
http://www.wxwindows.org
For more information, please see changes.txt, todo.txt, and the
For more information, please see install.txt, todo.txt, and the
manuals.
Please send problems concerning installation, feature requests,
@@ -12,7 +12,7 @@ bug reports or comments to the wxWindows users list. Information
on how to subscribe is available from the wxWindows.org homepage.
Questions/Problems related directly to the mac port can be sent directly
csomor@advancedconcepts.ch
csomor@advancedconcepts.ch.
wxWindows/Mac doesn't come with any guarantee whatsoever. It
might crash your harddisk or destroy your monitor. It doesn't
@@ -20,4 +20,4 @@ claim to be suitable for any special or general purpose.
Regards,
Stefan Csomor
Stefan Csomor

View File

@@ -11,20 +11,25 @@ IMPORTANT NOTE:
When sending bug reports tell us what version of wxWindows you are
using (including the beta) and what compiler on what system. One
example: wxMGL 2.3.3, gcc 2.95.3, Redhat 7.0
example: wxMGL 2.3.4, gcc 2.95.3, Redhat 7.0
First steps
-----------
- Download SciTech MGL library (version 5.0) from http://www.scitechsoft.com.
The downloads page is here:
The downloads page is here (you need MGL version 5.0beta7 or newer):
http://www.scitechsoft.com/products/embedded/mgl_home.html
(You needed a version newer than Beta 5! Preferably the up-to-date one from
SciTech Perforce repository.)
Install it according to provided instructions. In particular, make sure that
Install MGL according to provided instructions. In particular, make sure that
MGL_ROOT and NUCLEUS_PATH environment variables are set before attempting to
build wxMGL.
Make sure you installed all MGL components, including the "fonts" package
(it's called mgl50b7-font.tar.gz in Linux version). It is important to have
SciTech's basic fonts in $(MGL_ROOT)/fonts directory (you may want to add
Arial TrueType font for better output quality) and basic cursors in
$(MGL_ROOT)/cursors. wxMGL depends on their presence.
- Download wxMGL-x.y.z.tgz, where x.y.z is the version number.
Download documentation in a preferred format, such as
wxWindows-HTML.zip or wxWindows-PDF.zip.

View File

@@ -60,7 +60,7 @@ MicroWindows:
wxMicroWindows:
- Download wxMSW 2.3.3 or greater, or get it from CVS
- Download wxMSW 2.3.4 or greater, or get it from CVS
- Copy include/wx/msw/setup_microwin.h to include/wx/setup.h if
include/wx/setup.h doesn't exist

View File

@@ -11,7 +11,7 @@ IMPORTANT NOTE:
When sending bug reports tell us what version of wxWindows you are
using (including the beta) and what compiler on what system. One
example: wxMotif 2.3.3, gcc 2.95.4, Redhat 6.1
example: wxMotif 2.3.4, gcc 2.95.4, Redhat 6.1
First steps
-----------

View File

@@ -1,7 +1,7 @@
Welcome to wxWindows/Motif 2.3.3
Welcome to wxWindows/Motif 2.3.4
You have downloaded version 2.3.3 of the Motif port of
You have downloaded version 2.3.4 of the Motif port of
the wxWindows GUI library.
More information about the wxWindows project as a whole

View File

@@ -1,8 +1,8 @@
Installing wxWindows 2.3.3
Installing wxWindows 2.3.4
--------------------------
This is wxWindows 2.3.3 for Microsoft Windows 9x/ME, Windows NT,
This is wxWindows 2.3.4 for Microsoft Windows 9x/ME, Windows NT,
Windows 2000 and Windows XP. This is an unstable development release.
Please note that the library naming conventions for VC++
@@ -25,11 +25,15 @@ Please report bugs using the SourceForge bug tracker:
Unarchiving
-----------
A setup program is provided (setup.exe) to automatically copy files to a
directory on your hard disk. Do not install into a path that contains spaces.
The installation program should set the WXWIN environment variable, which
will be activated when your machine is rebooted. The setup
program contains the following:
A setup program is provided (setup.exe) to automatically copy
files to a directory on your hard disk. Do not install into a
path that contains spaces. To avoid confusion with other
wxWindows installations that might be on your machine, the
installation program does not se the WXWIN environment variable;
please set this by hand via the System applet if you wish to
make it permanent.
The setup program contains the following:
- All common, generic and MSW-specific wxWindows source;
- samples;
@@ -58,9 +62,9 @@ Other add-on packages are available from the wxWindows Web site, such as:
General installation notes
--------------------------
Alter your WXWIN environment variable to point to this directory.
For Cygwin or Mingw32 compilation, make sure WXWIN contains only
forward slashes.
Alter your WXWIN environment variable to point to the root directory of the
wxWindows installation. For Cygwin or Mingw32 compilation, make sure WXWIN
contains only forward slashes.
If installing from the CVS server, copy include/wx/msw/setup0.h to
include/wx/msw/setup.h and edit the resulting file to choose
@@ -225,12 +229,13 @@ executables.
Borland C++ 4.5/5.0/5.5 compilation
-------------------------------
Compiling using the makefiles (updated 24 Seot 02):
Compiling using the makefiles (updated 24 Sept 02):
1. Make sure your WXWIN variable is set [e.g add
set WXWIN=c:\wxwindows
to your autoexec.bat file], and that it uses the FAT (short
name) form with no spaces.
to your autoexec.bat file], The WXWIN variable should contain neither spaces nor -
You may like to use the short form as shown by a dos directory listing ;
eg instead of c:\wxwindows-2.3.4 use c:\wxwind~1.4
Reboot if needed for the changes to autoexec.bat to take effect.
2. Change directory to src\msw. Type 'make -f makefile.b32' to
make the wxWindows core library. Ignore the compiler warnings.
@@ -261,7 +266,20 @@ Compiling using the makefiles (updated 24 Seot 02):
and then for each sample,
'make -f makefile.b32 WXUSINGDLL=1 FINAL=1'
6. To make console mode applications with wxWindows functions go
6. You can use the WXUNIVERSAL widgets instead of the native MSW
ones (eg if you want to build an application with the same
look and feel on all platforms)
Use the command
'make -f makefile.b32 WXUSINGUNIV=1'
Then run
'make -f makefile.b32 WXUSINGUNIV=1' in the sample directory which you wish
to build using the wxUniversal widgets. Use 'SET WXTHEME=GTK' [or WIN32 or METAL]
to test the existing themes
The makefile is written with the intention that you can build DLLs
and do final releases by combinations of commandline parameters.
At the time of writing, (Oct 02) not all the wxDialogs are working
7. To make console mode applications with wxWindows functions go
to the src\msw directory
'make -f makebase.b32 clean'
'make -f makebase.b32'
@@ -390,7 +408,7 @@ Metrowerks CodeWarrior compilation
----------------------------------
1. CodeWarrior Pro7 project files in XML format are already
included in wxMSW-2.3.3.zip and the setup version.
included in wxMSW-2.3.4.zip and the setup version.
2. Review the file include\wx\msw\setup.h (or include\wx\msw\setup0.h if
you are working from the CVS version) to make sure the settings reflect
what you want. If you aren't sure, leave it alone and go with the
@@ -471,7 +489,7 @@ provide Unix-like tools that you'll need to build wxWindows.
The solution prior to MSYS was to download extra utilities from
ports/mingw32 on the wxWindows ftp site or CD-ROM:
ftp://biolp22.york.ac.uk/pub/ports/mingw32/extra.zip
ftp://biolpc22.york.ac.uk/pub/ports/mingw32/extra.zip
These should be extracted to a directory in your path. If you have
already downloaded rm, cp, mv from elsewhere, or are using

View File

@@ -1,7 +1,7 @@
Installing wxWindows 2.3.3
Installing wxWindows 2.3.4
--------------------------
This is wxWindows 2.3.3 for IBM OS/2 Warp3 and Warp4. This is an unstable
This is wxWindows 2.3.4 for IBM OS/2 Warp3 and Warp4. This is an unstable
development release and OS/2 is considered to be in beta.
IMPORTANT NOTE: If you experience problems installing, please
@@ -17,7 +17,7 @@ Unarchiving
At this time there is no comprehensive setup.exe type installation program.
wxWindows for OS/2 requires you download various .zip files and unpack them
to your desired location on your system. Pick a location say,
C:\wx\wxWindows-2.3.3, copy the .zip files to there and unzip them ensuring you
C:\wx\wxWindows-2.3.4, copy the .zip files to there and unzip them ensuring you
unzip the subdirectories as well. You will need:
- All common, generic and OS2-specific wxWindows source;
@@ -30,7 +30,7 @@ unzip the subdirectories as well. You will need:
- PNG library source;
- ZLIB library source;
All but the documentation is included in wxOS2-2.3.3.zip, documentation
All but the documentation is included in wxOS2-2.3.4.zip, documentation
must be downloaded separately from the wxWindows Web site.
Other add-on packages are available from the wxWindows Web site, such as:
@@ -46,27 +46,27 @@ General installation notes
After unzipping everything your directory tree should look something like
this:
x:\wx\wxWindows-2.3.3\docs (your HTML reference manual)
x:\wx\wxWindows-2.3.3\include\wx
x:\wx\wxWindows-2.3.3\include\wx\generic
x:\wx\wxWindows-2.3.3\include\wx\html
x:\wx\wxWindows-2.3.3\include\wx\os2
x:\wx\wxWindows-2.3.3\samples\.... (all the sample directories)
x:\wx\wxWindows-2.3.3\src
x:\wx\wxWindows-2.3.3\src\common
x:\wx\wxWindows-2.3.3\src\generic
x:\wx\wxWindows-2.3.3\src\html
x:\wx\wxWindows-2.3.3\src\jpeg
x:\wx\wxWindows-2.3.3\src\os2
x:\wx\wxWindows-2.3.3\src\png
x:\wx\wxWindows-2.3.3\src\tiff
x:\wx\wxWindows-2.3.3\src\zlib
x:\wx\wxWindows-2.3.4\docs (your HTML reference manual)
x:\wx\wxWindows-2.3.4\include\wx
x:\wx\wxWindows-2.3.4\include\wx\generic
x:\wx\wxWindows-2.3.4\include\wx\html
x:\wx\wxWindows-2.3.4\include\wx\os2
x:\wx\wxWindows-2.3.4\samples\.... (all the sample directories)
x:\wx\wxWindows-2.3.4\src
x:\wx\wxWindows-2.3.4\src\common
x:\wx\wxWindows-2.3.4\src\generic
x:\wx\wxWindows-2.3.4\src\html
x:\wx\wxWindows-2.3.4\src\jpeg
x:\wx\wxWindows-2.3.4\src\os2
x:\wx\wxWindows-2.3.4\src\png
x:\wx\wxWindows-2.3.4\src\tiff
x:\wx\wxWindows-2.3.4\src\zlib
If you are using VisualAge, you will also need to ensure you have a
\lib directory as well, x:\wx\wxWindows-2.3.3\lib
\lib directory as well, x:\wx\wxWindows-2.3.4\lib
and you will have to set a WXWIN environment variable in your
config.sys,
SET WXWIN=X:\WX\WXWINDOWS-2.3.3;
SET WXWIN=X:\WX\WXWINDOWS-2.3.4;
Compilation
-----------
@@ -163,7 +163,10 @@ Compilation using EMX
In addition to EMX-0.9d you will need a rather complete Unix-like
environment, starting with a shell (e.g. ash) and most of the
GNU file/text/shell utilities, but also flex, bison, sed, grep, awk
and GNU make.
and GNU make. Particularly note that uname is relevant to get the
configure script working - the one from GNU shell utilities 1.12
does work (check that uname -s returns "OS/2" and uname -m returns "i386"
and you should be mostly fine.
The first thing to do is to decide on a build directory. You can either
do in-tree builds or you can do the build in a directory separated from
@@ -173,13 +176,17 @@ developping cross-platform applications you might want to compile (and
update) e.g. wxGTK or wxX11 as well.
In the following, let's assume you decided to build in
\wx\wxWindows-2.3.3\build\pm. Now we need to set some environment
\wx\wxWindows-2.3.4\build\pm. Now we need to set some environment
variables, namely MAKE_SHELL (to a Unix like shell, let's assume ash)
and INSTALL (to point to the install script. If you omit this, configure
might find something like the system's tcpip\pcomos\install.exe which will
not do the thing you want), e.g.
SET MAKE_SHELL=ash
SET INSTALL=/wx/wxWindows-2.3.3/install-sh.
SET INSTALL=/wx/wxWindows-2.3.4/install-sh.
Be warned that depending on the precise version of your make, setting
MAKE_SHELL might not be sufficient, it might be necessary to set SHELL
and even COMSPEC to a unix like shell as well.
Now run the provided configure script by executing e.g.
`ash -c "../../configure \
@@ -217,7 +224,7 @@ Finally, if you also want to build a different port, e.g. wxGTK, you
essentially have to use the procedure described above, the only difference
being that you have to pass a switch to configure indicating which port
to build. If you do not do this in a separate build directory (e.g.
\wxWindows-2.3.3\build\gtk), you'll have to do a `make clean' first.
\wxWindows-2.3.4\build\gtk), you'll have to do a `make clean' first.
The magical switches that have to be passed to configure for the various
ports are --with-gtk (wxGTK), --with-motif (wxMotif), --with-x11 (wxX11),
and --disable-gui (wxBase). Note that contrary to the native, PM based

View File

@@ -1,4 +1,4 @@
Announcing wxWindows 2.3.3: a cross-platform GUI toolkit
Announcing wxWindows 2.3.4: a cross-platform GUI toolkit
----------------------------------------------------------------
September 16th, 2002 -- the wxWindows team is pleased to

View File

@@ -28,11 +28,23 @@ comp.windows.x
comp.windows.x.announce
comp.windows.x.motif
Note: submissions to comp.windows.linux.announce must be
sent to cola@stump.algebra.com, with short descr
of software and location. See http://stump.algebra.com/~cola/
NO CROSSPOSTING when sending to this address.
Pack plenty information into the subject.
Don't write a subject like "Foo version 1.1 released". Many
people will not know what Foo is, so the subject won't help them
select articles. Instead, say "Foo 1.1 - copy files more
efficiently than cp". There is no need to say that the article
is an announcement, so don't write a subject like "ANNOUNCEMENT:
Foo version 1.1 released".
News and links sites:
-----------------------
slashdot.org, freshmeat.net
slashdot.org, freshmeat.net, http://lwn.net/
Many of these links will be out of date now:

View File

@@ -1,4 +1,4 @@
wxWindows 2.3.3
wxWindows 2.3.4
---------------
*** Please note that this is an UNSTABLE DEVELOPMENT SNAPSHOT.
@@ -204,5 +204,5 @@ web site.
Have fun!
The wxWindows Team, September 2002
The wxWindows Team, November 2002

View File

@@ -24,7 +24,7 @@ Compiling wxWindows applications in the VC++ IDE
<P>
<CENTER>
<a href="#wxwin2">Settings for wxWindows 2</a> / <a href="#wxwin1">Settings for wxWindows 1.68</a>
<a href="#wxwin2">Settings for wxWindows 2.2</a> / <a href="#wxwin1">Settings for wxWindows 1.68</a>
</CENTER>
<P>
@@ -44,9 +44,10 @@ installation path.
<P>
<H2><a name="wxwin2">Settings for wxWindows 2</a></H2>
<H2><a name="wxwin2">Settings for wxWindows 2.2</a></H2>
These settings apply to wxWindows 2.1.14 and above.<P>
These settings apply to wxWindows 2.1.14 and above but most of them are not
necessary any longer for wxWindows 2.3+.<P>
<DL>
<DT><B>General</B><DD>
@@ -206,77 +207,6 @@ Select your .rc file. The <B>Additional resource include directories</B> field s
</DL>
<P>
<!--
<PRE>
From: "Chris Breeze" <chris@hel.co.uk>
To: <wxwin-users@wx.dent.med.uni-muenchen.de>
Subject: Re: Compiling 2.0 wxWin Apps in the VC IDE
Date: Wed, 20 May 1998 14:18:02 +0100
First the apology: the description below is for wx1.68
not for wx2.0 - sorry if I confused everybody.
Anyway, third time lucky I hope! The settings for
VC++ 5.0, wx2.0 beta 8, NT Workstation 4.0 sp3
are:
In project / settings / C/C++:
Add "__WINDOWS__" to the pre-processor definitions
Add "{wx}\include" to the additional include directories
where {wx} is the directory in which wx is installed
In project / settings / Resources:
add "{wx}\include" to the additional resource include directories
In project / settings / Link:
Add "wx.lib comctl32.lib dummy.obj" to the Object/Library modules
Add "libcd.lib,libcid.lib" to ignore libraries (under the "input" category)
Add "{wx}\lib,{wx}\src\msw" to the additional library path
I have tested these settings on samples/minimal and can
build exes which can be debugged using Developer Studio.
I hope I've finally answered the original question. (Next time
I'll read the question more carefully!).
Regards,
Chris
Original message (settings for wx1.68c):
) Try the following (tested with VC++ 5 on NT4):
)
) Create a new Win32 Application project and insert the source files
) (including .rc files).
)
) In project / settings / C/C++:
) Add wx_msw to the pre-processor definitions
) add {wx}\include\base,{wx}\include\msw to the additional include
directories
) where {wx} is the directory in which wx is installed
)
) In project / settings / Resources:
) add {wx}\include\msw;{wx}\contrib\fafa to the additional resource include
) directories
)
) In project / settings / Link:
) Add comctl32.lib wx.lib dummy.obj ctl3d32.lib to the Object/Library modules
)
) Add libc to ignore libraries (under the "input" category)
)
) Add {wx}\lib,{wx}\src\msw to the additional library path
)
) These settings are for a debug build. You can use the same settings for
) a release build apart from ignoring libc.
</PRE>
-->
</font>
</BODY>
</HTML>

View File

@@ -13,7 +13,7 @@ the other Unix-based ports including wxMotif, wxX11 and wxBase.
a) Do a fresh checkout using the command
cvs -d :pserver:anoncvs@cvs.wxwindows.org:/home/wxcvs co wxGTK
cvs -d :pserver:anoncvs@cvs.wxwindows.org:/packs/cvsroots/wxwindows co wxGTK
NB: if you realize later that some needed files were not checked out
by this command, please modify CVSROOT/modules to include the missing
@@ -80,7 +80,7 @@ a) Setting up the RPM tree: you should have the RPM tree set up properly
dist").
b) Start RPM build by going to RPM_ROOT directory and typing "rpm -ba
SPECS/wxGTK.spec". It may be a good idea to append "2&>1 | tee wxGTK.out"
SPECS/wxGTK.spec". It may be a good idea to append "2>&1 | tee wxGTK.out"
(or "|& tee" if you're using the one true shell ;-) as it might be not
easy to detect errors in the verbose rpm output if anything goes wrong.

View File

@@ -4,7 +4,7 @@
!!!!! NOT YET FINISHED !!!!!
0. Introduction
---------------
===============
This note describes the file format used for storing XRC resources that are
used by wxXmlResource class. It is probably only useful for those implementing
@@ -20,31 +20,41 @@ The XRC format is based on XML 1.0 (please consult W3C's specification). There
is no DTD available since it is not possible to fully describe the format with
the limited expressive power of DTDs.
1. Terminology
--------------
==============
The usual XML terminology applies. In particular, we shall use the terms
"node", "property" and "value" in the XML sense:
NODE, PROPERTY and VALUE in the XML sense:
<node property1="value1" property2="value2">...</node>
The term "attribute" is specific to XRC and refers to a property-less subnode
of an <object> or <object_ref> node. In the example bellow, <pos>, <label> and
<style> are attributes, while neither <resource> nor either of <object>s is:
The term ATTRIBUTE is specific to XRC and refers to a subnode
of an <object> or <object_ref> node that is itself not <object> or <object_ref>.
In the example bellow, <pos>, <label> and <style> are attributes, while neither
<resource> nor either of <object>s is:
<?xml version="1.0" encoding="utf-8">
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">
<object class="wxPanel">
<style>wxSUNKEN_BORDER</style>
<style>wxSUNKEN_BORDER</style> <!-- attr -->
<object class="wxStaticText">
<label>A label</label>
<pos>10,10</pos>
<label>A label</label> <!-- attr -->
<pos>10,10</pos> <!-- attr -->
</object>
</object>
</resource>
ATTRIBUTE VALUE is the content of all text elements within attribute tag. In the
above example, "wxSUNKEN_BORDER", "A label" and "10,10" are attribute values.
ATTRIBUTE TYPE defines what attribute values are valid for given attribute (you
can think of it as attribute value syntax definition).
2. Elementary description
-------------------------
=========================
XRC resource file is a well-formed XML 1.0 document. All elements of XRC file are
from the http://www.wxwindows.org/wxxrc namespace.
@@ -61,7 +71,7 @@ is 0 for the first incompatible change in given wxWindows release, 1 for
the second etc.
Differences between versions are described within this document in paragraphs
entitled "Version Note".
entitled "Version Note".
The <resource> node contains namespace declaration, too:
@@ -70,20 +80,232 @@ The <resource> node contains namespace declaration, too:
The <resource> node is only allowed to have <object> and <object_ref>
subnodes, all of which must have the "name" property.
<object> - TODO (name, class, subclass)
The <object> node represents a single object (GUI element) and it usually maps
directly to a wxWindows class instance. It three properties: "name", "class"
and "subclass". "class" must always be present, it tells XRC what wxWindows
object should be created in this place. The other two are optional.
"name" is ID used to identify the object. It is the value passed to the XRCID() macro
and is also used to construct wxWindow's id and name attributes and must be unique
among all children of the neareset container object (wxDialog, wxFrame, wxPanel,
wxNotebook) upside from the object in XML nodes hiearchy (two distinct containers
may contain objects with same "name", though). "subclass" is
optional name of class whose constructor will be called instead of the constructor
for "class". Subclass must be available in the program that loads the resource,
must be derived from "class" and must be registered within wxWindows' RTTI system.
<object_ref> - TODO (name, ref, subclass)
Example:
<object name="MyList1" class="wxListCtrl" subclass="MyListCtrlClass">
...
</object>
<object> node may have arbitrary child nodes. What child nodes and their semantics
are class-dependent and are defined later in this document. The user is allowed
to register new object handlers within XRC and extend it to accept new <object>
classes (and therefore different <object>'s child nodes).
<object_ref> node is identical to <object>, except that it does _not_ have "class"
property and has additonal required property "ref". It's concept is similar to Unix
symlinks: value of the "ref" property is equal to the value of "name" property of
some existing node (called referred node) in the resources (not neccessary top-level).
Referred node's "class" property and all subnodes are copied in place of the referee
<object_ref> node which is then processed as regular <object> node. If the <object_ref>
node itself has child nodes, then these nodes _override_ any nodes from the referred node.
Example:
<object name="foo" class="wxTextCtrl">
<value>hello</value>
<size>100,-1d</size>
</object>
<object_ref name="bar" ref="foo">
<value>bar</value> <!-- override! -->
</object>
is identical to:
<object name="foo" class="wxTextCtrl">
<value>hello</value>
<size>100,-1d</size>
</object>
<object name="bar" class="wxTextCtrl">
<value>bar</value>
<size>100,-1d</size>
</object>
3. Common attributes
--------------------
TODO
3. Common attribute types
=========================
There are several attribute types (see section 1. Terminology) that are common
to many attributes of different classes:
String
------
Any text. Some characters have special interpretation and are translated
by XRC parser according to this table:
"_" -> "&" ('&' is used to underline e.g. menu items in wxWindows)
"__" -> "_"
"\n" -> line break (C character '\n')
"\r" -> carriage return (C character '\r')
"\t" -> tabelator (C character '\t')
Version Note:
'$' was used instead of '_' prior to version 2.3.0.1.
I18nString
----------
Like String, but the value is translated to native language using wxLocale
at runtime (unless it was disabled by not passing wxXRC_USE_LOCALE flag to
wxXmlResource constructor). Used for strings that are "visible" in the GUI.
UnsignedInteger
---------------
This is obvious. Only digits 0-9 may be present and there must be at least
one digit.
Integer
-------
Like UnsignedInteger but may be prefixed with '-' (ints less than zero).
Position
--------
Specifies (window's) position in 2D space. Syntax is <integer>,<integer>[d]
where <integer> is valid value of Integer type.
Size
----
Syntax is same as Position's syntax, but the values are interpreted as window
size (wxSize type) and not position (wxPosition type).
Style[wxSomeClass]
------------------
List of style flags that can be passed to wxSomeClass' constructor. Flags are
written in same way as in C++ code (e.g. "wxSUNKEN_BORDER", "wxHW_SCROLLBAR_NEVER")
and are delimined with any combination of whitespaces and '|'. Possible flags
are class-dependent and are not described in this technote. Please refer to wxWindows
manual for all styles that given class can accept; if XRC does not accept a flag
listed in wxWindows documentation, it is a bug.
Bitmap
------
Attribute value is interpreted as filename (either absolute or relative to
the location of XRC resource file). In addition, attribute node may have
"stock_id" and "stock_client" properties. Their values may be any of wxArtID (or
wxArtClient respectively) values as used by wxArtProvider (because the user may
define own constants, efectively any string is legal here). Examples are
"wxART_FILE_OPEN" (id) or "wxART_MENU" (client).
Any of "stock_id" or "stock_client" properties or the filename may be omitted. XRC
determines the bitmap to use according to this algorithm:
1. If there is non-empty "stock_id" property, query wxArtProvider for the bitmap
(if there is no "stock_client", use default one, which is usually wxART_OTHER;
exceptions are noted in class-specific sections bellow). If the query fails,
continue to 2.
2. Load the bitmap from the file in attribute value.
Boolean
-------
Boolean value, either "0" (false) or "1" (true).
4. Supported classes
--------------------
====================
Attributes are listed in tables in the following format:
attribute name attribute type default value, if any
[(optional remarks....................
...................................)]
wxBitmap
--------
This is a special case, because it does not create a wxWindow instance but
creates wxBitmap instead. Another exceptional thing is that it does not have
any attributes. Instead, the node itself is interpreted as if it were attribute
of type Bitmap.
Example: <object class="wxBitmap">bitmaps/foo.gif</object>
wxIcon
------
Identical to wxBitmap class, except that it creates wxIcon instead of wxBitmap.
wxButton
--------
position Position -1,-1
size Size -1,-1
style Style[wxButton]
label I18nString
default Boolean false
(Is the button default button?)
wxCalendarCtrl
--------------
position Position -1,-1
size Size -1,-1
style Style[wxCalendarCtrl]
wxCheckBox
----------
position Position -1,-1
size Size -1,-1
style Style[wxCheckBox]
checked Boolean false
wxCheckList
-----------
position Position -1,-1
size Size -1,-1
style Style[wxCheckList]
content (see bellow) (empty)
Optional "content" attribute does not have attribute value. Instead,
arbitrary number of <item> nodes may be rooted under it (the control
is filled with strings contained in these nodes). Each <item>
node must contain I18nString value and may have "checked" property
with possible values "0" or "1" indicating the the item is initially
checked.
Example:
<object class="wxCheckList">
<content>
<item>One</item>
<item checked="1">Two</item>
<item checked="1">Three</item>
<item>Four</item>
</content>
</object>
wxScrolledWindow
----------------
position Position -1,-1
size Size -1,-1
style Style[wxScrolledWindow] wxHSCROLL | wxVSCROLL
5. More features
================
FIXME -- "platform" property handling
TODO
=== EOF ===

View File

@@ -56,6 +56,12 @@ b) Cygwin
Please refer to the Unix section below
c) Other compilers
Borland:
in the wxwindows\src\msw directory run
'make -f makefile.b32 WXUSINGUNIV=1' to build the library and then run
'make -f makefile.b32 WXUSINGUNIV=1' in the sample directory which you wish
to build using the wxUniversal widgets. Use 'SET WXTHEME=GTK' [or WIN32 or METAL]
to test the existing themes
Unfortunately we don't have makefiles for any other compilers yet.
Please contact us if you would like to help us with creating one for the
@@ -115,6 +121,6 @@ itself, namely:
Vadim Zeitlin
This file is accurate for the version 2.3.3 of wxUniversal. It was last
This file is accurate for the version 2.3.4 of wxUniversal. It was last
modified on Apr 15, 2002.

View File

@@ -11,7 +11,7 @@ IMPORTANT NOTE:
When sending bug reports tell us what version of wxWindows you are
using (including the beta) and what compiler on what system. One
example: wxX11 2.3.3, gcc 2.95.4, Redhat 6.2
example: wxX11 2.3.4, gcc 2.95.4, Redhat 6.2
First steps
-----------

View File

@@ -1,7 +1,7 @@
Welcome to wxWindows/X11 2.3.3
Welcome to wxWindows/X11 2.3.4
You have downloaded version 2.3.3 of the X11 port of
You have downloaded version 2.3.4 of the X11 port of
the wxWindows GUI library. This runs on X11 with no
Motif, Xt, GTK+ or any other standard widget set --
instead it uses the wxUniversal widgets. The intention