removed FAQs: they are already available in the website; there's no reason to duplicate them here

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2008-04-03 08:37:20 +00:00
parent 17792930dc
commit 27de83cd5b
15 changed files with 0 additions and 2466 deletions

View File

@@ -1,50 +0,0 @@
<html>
<head>
<title>wxWidgets FAQ</title>
</head>
<body bgcolor=#ffffff text=#000000 vlink="#00376a" link="#00529c" alink="#313063">
<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">
<b>wxWidgets FAQ</b>
</font>
</td>
</tr>
</table>
<p>
Welcome to the wxWidgets FAQ. Please select a category:<p>
<ul>
<li><a href="faqgen.htm">General questions</a>
<li><a href="faqcmn.htm">Questions common to all platforms</a>
<li><a href="faqmsw.htm">MS Windows questions</a>
<li><a href="faqunx.htm">Questions common to all Unix (GTK+/X11/Motif) ports</a>
<li><a href="faqgtk.htm">GTK+ 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>
For further information, please see the
<a href="http://www.wxwidgets.org" target=_top>wxWidgets Web site</a>,
<a href="http://wiki.wxwidgets.org" target=_top>wxWiki</a>
and install.txt (per port), todo.txt (per port), and bugs.txt (all ports) files
in your wxWidgets installation.
<p>
</font>
</body>
</html>

View File

@@ -1,369 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWidgets FAQ: General</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<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">
<b>wxWidgets FAQ: General</b>
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<h3>List of questions in this category</h3>
<ul>
<li><a href="#whatis">What is wxWidgets?</a></li>
<li><a href="#licence">Can I use wxWidgets 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 wxWidgets?</a></li>
<li><a href="#platforms">What platforms are supported by wxWidgets?</a></li>
<li><a href="#specific">How does wxWidgets support platform-specific features?</a></li>
<li><a href="#stl">Does wxWidgets use STL? or the standard string class?</a></li>
<li><a href="#richedit">Is there a rich edit/markup widget for wxWidgets?</a></ li>
<li><a href="#exceptions">How to use C++ exceptions with wxWidgets?</a></ li>
<li><a href="#dev">How is wxWidgets being developed?</a></li>
<li><a href="#distrib">How is wxWidgets 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="#dotnet">What about .NET/Mono?</a></li>
<li><a href="#help">How can I help the project?</a></li>
<li><a href="#newport">How do I start a new port?</a></li>
</ul>
<hr>
<H3><a name="whatis">What is wxWidgets?</a></H3>
wxWidgets is a class library that allows you to compile graphical C++ programs on a range of
different platforms. wxWidgets defines a common API across platforms, but uses the native graphical user interface (GUI) on each platform,
so your program will take on the native &#39;look and feel&#39; that users are familiar with.<P>
Although GUI applications are mostly built programmatically, there are several dialog editors to help
build attractive dialogs and panels. Robert Roebling&#39;s <a href="http://www.roebling.com">wxDesigner</a>
and Anthemion Software&#39;s <a href="http://www.anthemion.co.uk/dialogblocks/" target=_new>DialogBlocks</a>
are two commercial examples, but there are others: see the <a href="lnk_tool.htm">Useful Tools</a> page.<P>
You don&#39;t have to use C++ to use wxWidgets: there is a <a href="http://wxpython.org">Python interface</a> for wxWidgets,
and also a <a href="http://wxperl.sourceforge.net" target=_top>Perl interface</a>.
<P>
<h3><a name="licence">Can I use wxWidgets 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 wxWidgets
conflict with GPL code you may be using or developing with it.
<P>
The conditions for using wxWidgets are the same whether you are a personal, academic
or commercial developer.
<P>
<h3><a name="support">Is there support?</a></h3>
No official support, but the mailing list is very helpful and some people say that
wxWidgets support is better than for much commercial software. The developers are
keen to fix bugs as soon as possible, though obviously there are no guarantees.
<P>
<H3><a name="users">Who uses wxWidgets?</a></H3>
Many organisations - commercial, government, and academic - across the
world. It&#39;s impossible to estimate the true number of users, since
wxWidgets is obtained by many different means, and we cannot monitor
distribution. The mailing list contains around 300-400 entries which is
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 wxWidgets?</a></H3>
<ul>
<li>Windows 3.1, Windows 95/98, Windows NT, Windows 2000, Windows ME.
<li>Linux and other Unix platforms with GTK+.
<li>Unix with Motif or the free Motif clone Lesstif.
<li>Mac OS.
<li>Embedded platforms are being investigated. See the <a href="wxuniv.htm">wxUniversal</a> project.
<li>An OS/2 port is in progress, and you can also compile wxWidgets for GTK+ or Motif
on OS/2.
</ul>
<P>
<H3><a name="specific">How does wxWidgets support platform-specific
features?</a></H3>
This is a hotly-debated topic amongst the developers. My own philosophy
is to make wxWidgets as platform-independent as possible, but allow in a
few classes (functions, window styles) that are platform-specific.
For example, Windows metafiles and Windows 95 taskbar icons have
their own classes on Windows, but nowhere else. Because these classes
are provided and are wxWidgets-compatible, it doesn&#39;t take much
coding effort for an application programmer to add support for
some functionality that the user on a particular platform might otherwise
miss. Also, some classes that started off as platform-specific, such
as the MDI classes, have been emulated on other platforms. I can imagine
that even wxTaskBarIcon may be implemented for Unix desktops one day.
<P>
In other words, wxWidgets is not a &#39;lowest common denominator&#39; approach,
but it will still be possible to write portable programs using the
core API. Forbidding some platform-specific classes would be a stupid
approach that would alienate many potential users, and encourage
the perception that toolkits such as wxWidgets are not up to the demands
of today&#39;s sophisticated applications.<P>
Currently resources such as bitmaps and icons are handled in a platform-specific
way, but it is hoped to reduce this dependence in due course.<P>
Another reason why wxWidgets is not a &#39;lowest common denominator&#39; toolkit is that
some functionality missing on some platform has been provided using generic,
platform-independent code, such as the wxTreeCtrl and wxListCtrl classes.<P>
<H3><a name="stl">Does wxWidgets use STL? or the standard string class?</a></H3>
No. This is a much-discussed topic that has (many times) ended with the conclusion that it is in
wxWidgets&#39; best interests to avoid use of templates. Not all compilers can handle
templates adequately so it would dramatically reduce the number of compilers
and platforms that could be supported. It would also be undesirable to make
wxWidgets dependent on another large library that may have to be downloaded and installed.
In addition, use of templates can lead to executable bloat, which is something
wxWidgets is strenuously trying to avoid.<P>
The standard C++ string class is not used, again because it is not available to all compilers,
and it is not necessarily a very efficient implementation. Also, we retain more flexibility
by being able to modify our own string class. Some compatibility with the string class
has been built into wxString.<P>
There is nothing to stop an application using templates or the string class for its own
purposes. With wxWidgets debugging options on, you may find you get errors when including
STL headers. You can work around it either by switching off memory checking,
or by adding this to a header before you include any STL files:<P>
<PRE>
&#35;ifdef new
&#35;undef new
&#35;endif
</PRE>
<P>
<H3><a name="richedit">Is there a rich edit/markup widget for wxWidgets?</a></H3>
These are the possibilities so far:<P>
<ul>
<li>See <a href="http://www.scintilla.org" target=_top>www.scintilla.org</a> for
a very nice syntax-highlighting editor widget. Robin Dunn has written a wxWidgets wrapper
for this widget, available in the wxWidgets 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 wxWidgets - please see the reference
manual for details, and samples/html.
<li>There are rich edit widgets in both WIN32 and GTK+, but there is currently
no wxWidgets wrapper for these (but text attribute functions are being added in the wxWidgets 2.3.x series).
</ul>
<P>
<h3><a name="exceptions">How to use C++ exceptions with wxWidgets?</a></h3>
wxWidgets library itself is unfortunately <i>not</i> exception-safe (as its
initial version predates, by far, the addition of the exceptions to the C++
language). However you can still use the exceptions in your own code and use
the other libraries using the exceptions for the error reporting together with
wxWidgets.
<p>
There are a few issues to keep in mind, though:
<ul>
<li>You shouldn&#39;t let the exceptions propagate through wxWidgets code,
in particular you should always catch the exceptions thrown by the
functions called from an event handler in the handler itself and not
let them propagate upwards to wxWidgets.
<li>You may need to ensure that the compiler support for the exceptions is
enabled as, considering that wxWidgets itself doesn&#39;t use the
exceptions and turning their support on results in the library size
augmentation of 10% to 20%, it is turned off by default for a few
compilers. Moreover, for gcc (or at least its mingw version) you must
also turn on the RTTI support to be able to use the exceptions, so you
should use <tt>--disable-no_rtti --disable-no_exceptions</tt> options
when configuring the library (attention to the double negation).
</ul>
<p>
<H3><a name="dev">How is wxWidgets being developed?</a></H3>
We are using the <a href="cvs.htm">CVS</a> system to develop and maintain wxWidgets. This allows
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 wxWidgets distribution
directory.<P>
<H3><a name="distrib">How is wxWidgets distributed?</a></H3>
By ftp, and via the <a href="cdrom2.htm">wxWidgets CD-ROM</a>.
<P>
If you are feeling adventurous, you may also check out the sources directly
from <a href="cvs.htm">cvs</a>.
<p>
<!--
<H3><a name="future">What are the plans for the future?</a></H3>
TODO
<p>
-->
<h3><a name="base">What is wxBase?</a></h3>
wxBase is a subset of wxWidgets comprised by the non-GUI classes. It includes
wxWidgets 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 wxWidgets 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 wxWidgets port).
<H3><a name="univ">What is wxUniversal?</a></H3>
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
wxWidgets 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 wxWidgets to a new platform as only the low-level classes must be ported
which make for a small part of the library.
<p>
You may find more about wxUniversal <a href=wxuniv.htm>here</a>.
<H3><a name="jave">What about Java?</a></H3>
The Java honeymoon period is over :-) and people are realising that it cannot
meet all their cross-platform development needs. We don&#39;t anticipate a major threat
from Java, and the level of interest in wxWidgets is as high as ever.<P>
<H3><a name="dotnet">What about .NET/Mono?</a></H3>
Microsoft is spending a lot on promoting the .NET initiative, which
is a set of languages, APIs and web service components for Windows.
Ximian has started an open source version of .NET, mostly for Linux.
C&#35; is Microsoft&#39;s alternative to Java, supporting &#39;managed code&#39;,
garbage collection and various other Java-like language features.<P>
Although this may be attractive to some developers, there
is a variety of reasons why the .NET/Mono combination is unlikely
to make wxWidgets redundant. Please note that the following comments
are Julian Smart&#39;s opinions.<P>
<ol>
<li>Not everyone wants or needs net services.
<li>C++ will be used for a long time to come; compared with C++, C&#35; is a recent development and its future is not certain.
<li>Mono Forms may only target Winelib (at least to begin with), so the end result is not as native as
wxWidgets (I&#39;m aware there is GTK&#35; for use with the C&#35; language).
<li>C&#35; is usually byte-compiled and therefore slower. Plus, .NET adds a layer of overhead to the client computer
that wxWidgets does not require.
<li>Mono hasn&#39;t proven its long-term viability yet (it&#39;s a complex system of components); wxWidgets is ready now.
<li>You may not wish to buy into Microsoft marketing spin and APIs.
<li>Microsoft may at some point sue developers of non-Microsoft .NET implementations. After all,
platform-independence is not in Microsoft&#39;s interest.
<li>.NET might never be implemented on some platforms, especially Mac and embedded variants of Linux.
<li>wxPython and other language variants provide further reasons for wxWidgets to continue.
<li>The same issue exists for Qt: if Qt sales remain strong, it&#39;s a good indication that
the market for a C++-based approach is still there. (Either that, or everyone&#39;s turning to wxWidgets!)
</ol>
There is nothing to stop folk from developing a C&#35; version of the wxWidgets API;
we already have bindings to Python, Perl, JavaScript, Lua, Basic, and Eiffel.
Update: a <a href="http://wxnet.sourceforge.net/" target=_new>wx.NET</a> project is now in progress.
<P>
<H3><a name="help">How can I help the project?</a></H3>
Please check out the <a href="http://www.wxwidgets.org/develop2.htm">Community</a> pages,
in particular the <a href="projects.htm">suggested projects</a>, and
mail the developers&#39; mailing list with your own suggestions.<P>
<H3><a name="newport">How do I start a new port?</a></H3>
Please subscribe to the wx-dev <a href="maillst2.htm">developers&#39; mailing list</a> and
ask if anyone else is interested in helping with the port, or
has specific suggestions. Also please read the <a href="standard.htm">coding standards</a>.
<P>
Each port consists of a platform-specific part (e.g. src/msw, include/wx/msw),
a generic set of widgets and dialogs for when the port doesn&#39;t support
them natively (src/generic, include/wx/generic) and the common code
that all ports use (src/common, include/wx). By browsing the source
you should get a good idea of the general pattern.<P>
Take a port that most closely matches your port, and strip out
the implementation so you have a skeleton port that compiles. Ask on wx-dev
first for the wxStubs port - however, any such predefined skeleton
port may be out of date, so make a judgement on whether to use it.
Perhaps it will still save you time to clean up wxStubs, and
others may benefit from this too.<P>
You will need to define a symbol for the new port, e.g. __WXXBOX__.
Look at files such as wx/defs.h, wx/wxchar.h for areas where you&#39;ll
need to add to existing conditionals to set up wide character
support and other issues. If the GUI runs on a Unix variant,
define the __UNIX__ variable in your makefile.<P>
Then you can start implementing the port, starting with
wxWindow, wxTopLevelWindow, wxFrame, wxDialog so you
can get the minimal sample running as soon as possible.<P>
If GDI objects (wxPen, wxBrush, etc.) are not concepts in your
native GUI, you may wish to use very generic versions of
some of these - see the wxX11 port.<P>
Consider using the wxUniversal widget set as a quick way
to implement wxWidgets on your platform. You only need
to define some basic classes such as device contexts,
wxWindow, wxTopLevelWindow, GDI objects etc. and
the actual widgets will be drawn for you. See wxX11,
wxMGL, and wxMSW/Univ for sample wxUniversal ports.<P>
To begin with, you can use whatever makefiles or project
files work for you. Look at existing makefiles to see what
generic/common/Unix files need to be included. Later, you&#39;ll want to integrate support
for your port into configure (Unix-like systems and gcc under Windows),
and bakefile (for other makefiles on Windows).<P>
Submit your port as patches via SourceForge; you might
wish to separate it into one patch that touches common headers
and source files, and another containing the port-specific code, to make
it much easier for us to review and apply the patches.<P>
Good luck!
</font>
</BODY>
</HTML>

View File

@@ -1,126 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWidgets for GTK FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<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">
<b>wxWidgets for GTK FAQ</b>
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>
and <a href="faqunx.htm">Unix FAQ page</a>.
<hr>
<h3>List of questions in this category</h3>
<ul>
<li><a href="#wxgtk">What is wxWidgets for GTK+?</a></li>
<li><a href="#locale">Why doesn&#39;t reading floating point numbers work when using wxWidgets?</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="#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> not work?</a></li>
<li><a href="#debugging">How do I trace the cause of an X11 error such as BadMatch?</a></li>
</ul>
<hr>
<h3><a name="wxgtk">What is wxWidgets for GTK?</a></h3>
wxWidgets for GTK is a port of wxWidgets to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>,
which is freely available for most flavours of Unix with X. wxWidgets for GTK is
often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>.
<P>
<h3><a name="locale">Why doesn&#39;t reading floating point numbers work when using wxWidgets?</a></h3>
If your program reads the floating point numbers in the format <tt>123.45</tt>
from a file, it may suddenly start returning just <tt>123</tt> instead of the
correct value on some systems -- which is all the more mysterious as the same
code in a standalone program works just fine.
<p>
The explanation is that GTK+ changes the current locale on program startup. If
the decimal point character in the current locale is not the period (for
example, it is comma in the French locale), all the standard C functions won&#39;t
recognize the numbers such as above as floating point ones any more.
<p>
The solution is to either use your own function for reading the floating point
numbers (probably the best one) or to call <tt>setlocale(LC_NUMERIC, "C")</tt>
before reading from file and restore the old locale back afterwards if needed.
<h3><a name="gnome">Does wxGTK have GNOME support?</a></h3>
Currently wxGTK does not have any features that would involve dependence on any desktop
environment&#39;s libraries, so it can work on GNOME, KDE and with other window managers
without installation hassles. Some GNOME and KDE integration features are file based, and
so may be added without dependence on libraries. Other features may be supported in the
future, probably as a separate library.
<P>
<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)
which causes some trouble with wxWidgets&#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.
This problem can be solved by updating GTK with an official distribution of the library.
<P>
<h3><a name="bincompat">What range of Intel Linux platforms will a given application binary be usable on?</h3>
Robert Roebling replies:<P>
&#34;The important thing is the libc version that your app
is linked against. The most recent version is 2.2.5
and programs linked against it will not run with version
2.1.X so that you will fare best if you compile your app
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).&#34;
<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> not 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>
<h3><a name="#debugging">How do I trace the cause of an X11 error such as BadMatch?</h3>
When a fatal X11 error occurs, the application quits with no stack trace.
To find out where the problem is, put a breakpoint on g_log (<tt>b g_log</tt>
in gdb).
<p>
</font>
</BODY>
</HTML>

View File

@@ -1,238 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWidgets for Mac FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<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">
<b>wxWidgets for Mac FAQ</b>
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<h3>List of questions in this category</h3>
<ul>
<li><a href="#release">Where should I download wxMac from?</a></li>
<li><a href="#macplat">Which Mac platforms are supported?</a></li>
<li><a href="#compilers">What compilers are supported?</a></li>
<li><a href="#conflicts">What can I do if I get conflicts between different installed versions of wxWidgets?</a></li>
<li><a href="#filetypes">How does CVS handle file types/creators under Mac OS 8.x /9.x?</a></li>
<li><a href="#filetypesx">How does CVS handle file types/creators under Mac OS X? </a></li>
<!--
<li><a href="#cwpro53">What steps are required to build wxMac using CodeWarrior Pro 5.3?</a></li>
-->
<li><a href="#buildx">What steps are required to build wxMac under Mac OS X?</a></li>
<li><a href="#settings">What important settings are required in the CodeWarrior Project Preferences?</a></li>
<li><a href="#smarterrors">What are the smart preprocessing errors with the Apple Developer Tools?</a></li>
<li><a href="#aboutmenu">How does wxMac support the standard Apple About menu item and Help menu?</a></li>
<li><a href="#findericon">How do I add an icon to my application?</a></li>
<li><a href="#switching">How can I easily switch between different versions of wxWidgets in CodeWarrior?</a></li>
</ul>
<hr>
<h3><a name="release">Where should I download wxMac from?</a></h3>
Please see the <a href="dl_mac2.htm">downloads page</a>.
<P>
The author of this port is <a href="mailto:csomor@advancedconcepts.ch">Stefan Csomor</a>.
<P>
<h3><a name="macplat">Which Mac platforms are supported?</a></h3>
wxWidgets can be used to develop and deliver applications on Mac OS X and Mac Classic (e.g. Mac OS 8.x/9.x) both as Carbon and non-Carbon applications.
However the Mac OS X port is the most actively developed one, and Mac Classic will not be supported
after 2.6. wxMac works best with Mac OS X 10.3 and above.
<P>
<h3><a name="compilers">What compilers are supported?</a></h3>
Under Classic Mac OS, MetroWerks CodeWarrior Pro 6 (or above) is required to build wxMac.
<P>
Under Mac OS X, the Developer Tools are sufficient to build wxMac. CodeWarrior Pro 6 can also be used to build the Carbon targets.
<P>
<h3><a name="conflicts">What can I do if I get conflicts between different installed versions of wxWidgets?</a></h3>
Some versions of Mac OS X install an older version of wxMac than the one you may be using
for development. This can cause conflicts, such as link errors when building your
applications. A user reports:<p>
<blockquote>
I got it to work. I removed the original wxMac build-release folder
and recompiled wxMac following instructions in your book. I then ran
"sudo make install" which I didn't do the first time. I figured I
could now run wx-config --cxxflags from my home directory because
/usr/local/bin/wx-config was in my $PATH. However, OSX 10.4 installed
a version of wxWidgets. When I ran wx-config I was getting wx 2.5
libs instead of the 2.6.1 libs I just compiled. When I ran
"/usr/local/bin/wx-config --cxxflags" and "/usr/local/bin/wx-config --libs"
and pasted that output into XCode preferences, everything worked fine.
</blockquote>
<p>
<h3><a name="filetypes">How does CVS handle file types/creators under Mac OS 8.x/9.x?</a></h3>
Before checking out the wxWidgets code using a CVS client under Mac OS 8.x/9.x, be sure your computer is set up to treat <code>xpm</code> and <code>xbm</code> images correctly:
<ul>
<li>bring up the Internet control panel, select the <i>Advanced Options</i> tab, click on the <i>File Mapping</i> icon from the list at the left and see if there are is an entry for ".xpm" files and another for ".xbm".
<li>if an entry exists, click <i>Change...</i> and make sure <i>File Type</i> is <code>TEXT</code> (just those four capital letters); correct it if necessary. If there is no entry, make one with type set to <code>TEXT</code> and creator set to anything you like; reasonable choices include <code>GKON</code> (Graphic Converter) or <code>CWIE</code> (CodeWarrior).
<li>if you want to edit <code>xpm</code> or <code>xbm</code> files in CodeWarrior, set up a file mapping in the CodeWarrior project settings for analogous to ".h" files.
</ul>
<P>
<h3><a name="filetypesx">How does CVS handle file types/creators under Mac OS X?</a></h3>
The Mac OS X CVS client does not handle file types and creators at all (just like every Unix command line CVS client). This is an issue only when the checked out files will also be used under Mac OS 8.x/9.x.
<P>
All files checked out under Mac OS X will be untyped and CodeWarrior will not recognize them correctly. To correct this, use the autotyper provided in the CVS sources:
<ul>
<li>decode and decompress the file <code>wxWidgets/docs/mac/TypeAsMetrowerksText.sea.hqx</code>
<li>drag the wxWidgets CVS sandbox directory onto the autotyper and most of the files will be typed according to the file extension
</ul>
<P>
<!--
<h3><a name="cwpro53">What steps are required to build wxMac using CodeWarrior Pro 5.3?</a></h3>
The latest build for Carbon support lead to a few changes that you will have to follow in order to successfully compile the code.
This is also necessary even if you don&#39;want to build the Carbon targets.
<ol>
<li>you need CodeWarrior Pro 5.3, i.e. 5.0 with all the upgrades
<li>you have to download the Universal Interfaces 3.3.2 or later from the Apple Developer web site, Universal Interfaces 3.4 is required for Carbon Printing support
<li>put the Universal folder into the MacOS Support folder and replace older versions
<li>remove from the MacOS Support folder the separate OpenTransport folder
<li>open the file MacOS Support:MacHeaders:MacHeaders.c and add the line
<pre>#include &lt;ControlDefinitions.h&gt;</pre>
after the line
<pre>#include &lt;Controls.h&gt;</pre>
<li>rebuild all MacHeaders from the MacHeaders.mcp project in the same folder
</ol>
<P>
Build the projects (<code>makemac6.mcp</code> for CodeWarrior Pro 6; <code>makemac.mpc</code> for CodeWarrior Pro 5) in the following five directories:
<ul>
<li>wxWidgets:src:
<li>wxWidgets:src:jpeg:
<li>wxWidgets:src:png:
<li>wxWidgets:src:tiff:
<li>wxWidgets:src:zlib:
</ul>
<P>
-->
<h3><a name="buildx">What steps are required to build wxMac under Mac OS X?</a></h3>
You need to have the Apple Developer Tools installed. The Developer Tools CD is one of the 3 CDs that are delivered with Mac OS X but must be installed in addition to the default Mac OS X installation.
<P>
Building wxMac completely without configure is not supported.
<P>
Building wxWidgets directly in the CVS sandbox is not recommended. Instead, wxWidgets should be built in a directory configured relatively to the CVS sandbox.
For instance, to build wxMac with configure, start in the base wxWidgets directory and type:
<ul>
<li><code>mkdir macbuild</code>
<li><code>cd macbuild</code>
<li><code>../configure</code> <b>or</b> <code>../configure --enable-debug</code>
<li><code>make</code>
</ul>
<P>
<h3><a name="settings">What important settings are required in the CodeWarrior Project Preferences?</a></h3>
For some reasons the CodeWarrior project settings may get changed and this may lead to the inability to compile a certain target. In order to verify the settings click on the target tab, double click on the respective target and then select the following items on the tree-view on the left. Here are the important checks:
<ol>
<li>under <code>Target/Access Paths</code>, make sure the first user include does not have a folder icon for recursive search.
<li> under <code>Language Settings/C/C++ Language</code>, make sure that the only checked items are:
<ul>
<li><code>Enable C++ Exceptions</code>
<li><code>Enable RTTI</code>
<li><code>Enable bool Support</code>
<li><code>Enable wchar_t Support</code>
<li><code>Relaxed Pointer Type Rules</code>
<li><code>Use Unsigned Chars</code>
</ul>
<li>under <code>Language Settings/C/C++ Warnings</code>, make sure that the only checked items are:
<ul>
<li><code>Illegal Pragmas</code>
<li><code>Extended Error Checking</code>
<li><code>Inconsistent Use of 'class' and 'struct' Keywords</code>
<li><code>Hidden Virtual Functions</code> but be aware that the framework itself has some of these beauty spots
</ul>
<li>under <code>Linker/PPC Linker</code>, make sure that the following items are checked:
<ul>
<li><code>Dead-strip Static Initialization Code</code> in order to avoid including libraries that are not needed, especially as things like <a href="http://developer.apple.com/opengl/index.html">OpenGL</a> get added to the projects and sources
</ul>
</ol>
<P>
<h3><a name="smarterrors">What are the smart preprocessing errors with the Apple Developer Tools?</a></h3>
Smart preprocessing is activated with the <code>-cpp-precomp</code> option and allows much faster preprocessing of the source files by loading precompiled Carbon header files. This option speeds up the compilation of wxMac by a factor of 2 at least.
When compiling wxMac using the Apple Developer Tools, the following error is displayed for certain files:
<ul>
<li><code>cpp-precomp: warning: errors during smart preprocessing, retrying in basic mode</code>
</ul>
This error is due to the smart precompiler which does not fully understand C++ syntax and reverts to basic preprocessing when a smart preprocessing error occurs.
This error can sometimes be corrected or avoided by modifying the source code. However, leaving these errors is not a problem since the preprocessor automatically switches to basic preprocessing if necessary.
<P>
<h3><a name="aboutmenu">How does wxMac support the standard Apple About menu item and Help menu?</a></h3>
Because wxWidgets does not have a specific API for the <i>About</i> menu item or the <i>Help</i> menu, the Mac OS port uses some static variables to help the engine make the right decisions:
<ul>
<li>It assumes that the <i>About</i> menu item is part of a <i>Help</i> menu.
<li>The title of the <i>Help</i> menu is stored in <code>wxApp::s_macHelpMenuTitleName</code>, it defaults to "&amp;Help", but you can change it in your constructor to your specific menu title.
<li>The item Id of the <i>About</i> menu is stored in <code>wxApp::s_macAboutMenuItemID</code>, it defaults to <code>wxID_ABOUT</code>, but can be changed as well to suit your needs.
<li>The other items of the wxWidgets help menu are appended to the Mac OS <i>Help</i> menu and the translation of Ids is handled transparently for your application.
</ul>
<P>
<h3><a name="findericon">How do I add an icon to my application?</a></h3>
If you have Mac OS X, you have the icns editor somewhere in the
Utilities folder. Create an icon using this tool and DeRez it, so that you have a .r
file with a 'icns' resource with id (-16455). Include this .r file in
your project and in the CodeWarrior Settings add a check mark under Linker:Output
Flags/Finder Flags/Has Custom Icon.
<P>
<h3><a name="switching">How can I easily switch between different versions of wxWidgets in CodeWarrior?</a></h3>
Sometimes you want to test your application against different versions
of wxWidgets, for example a stable version of wxWidgets versus a development version.
The easiest way to do this is to create a symbolic path.<P>
Under Edit-Preferences in General:Source Trees, type a name (for example WXWIN)
and choose a path for it. Now reselect your include and lib paths for a last
time, in the settings for each configuration, but make them relative to the symbolic name.
<P>
From now on you can just change the path associated with the symbolic name.
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,84 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWidgets for Motif FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<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">
<b>wxWidgets for Motif FAQ</b>
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>
and <a href="faqunx.htm">Unix FAQ page</a>.
<hr>
<h3>List of questions in this category</a></h3>
<ul>
<li><a href="#versiob">What version of Motif do I need?</a></li>
<li><a href="#missing">What features are missing or partially implemented?</a></li>
<li><a href="#refresh">Why are windows are not refreshed properly until I resize them?</a></li>
</ul>
<hr>
<h3><a name="versiob">What version of Motif do I need?</a></h3>
You will need version 1.2 or above. Version 2 should also be fine. Some people
have had a positive experience with <a href="www.lesstif.org" target=_top>Lesstif</a>,
a free Motif clone. (Note from Julian Smart - I use the Linux version of MetroLink Motif 1.2.4).
<P>
<h3><a name="missing">What features are missing or partially implemented?</a></h3>
The following classes are not yet implemented: wxSpinButton, wxCheckListBox, wxJoyStick,
wxGLCanvas.<P>
The following classes are not likely to be implemented because there is no sensible
equivalent on Motif: wxMiniFrame, wxTaskBar.<P>
These features are not yet implemented:<P>
<ul>
<li>Clipboard and drag and drop support are currently under development.
<li>Support for selection of specific visuals.
<li>Wide character support (but when Unicode is supported under Windows, this support will
be relatively easy to add).
<li>Configurable colour/font settings (they are currently hard-wired in wxSystemSettings).
<li>A help system (please use wxHelpController and Netscape instead). An HTML widget and help
system is in preparation.
</ul>
<p>
<h3><a name="refresh">Why are windows are not refreshed properly until I resize them?</a></h3>
Very occasionally you can experience this glitch, probably because sometimes the
window tries to resize and repaint itself before the final size is known. The workaround
is to add code like this after window creation and initialization:<P>
<PRE>
&#35;ifdef __WXMOTIF__
wxNoOptimize noOptimize;
window-&#62;SetSize(-1, -1, w, h);
&#35;endif
</PRE>
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,576 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWidgets for Windows FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<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">
<b>wxWidgets for Windows FAQ</b>
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<h3>List of questions in this category</h3>
<ul>
<li><a href="#platforms">Which Windows platforms are supported?</a></li>
<li><a href="#wince">What about Windows CE?</a></li>
<li><a href="#winxp">What do I need to do for Windows XP?</a></li>
<li><a href="#compilers">What compilers are supported?</a></li>
<li><a href="#bestcompiler">Which is the best compiler to use with wxWidgets?</a></li>
<li><a href="#unicode">Is Unicode supported?</a></li>
<li><a href="#doublebyte">Does wxWidgets support double byte fonts (Chinese/Japanese/Korean etc.)?</a></li>
<li><a href="#dll">Can you compile wxWidgets as a DLL?</a></li>
<li><a href="#exesize">How can I reduce executable size?</a></li>
<li><a href="#mfc">Is wxWidgets compatible with MFC?</a></li>
<li><a href="#setuph">Why do I get errors about setup.h not being found?</a></li>
<li><a href="#asuffix">Why do I get errors about FooBarA when I only use FooBar in my program?</a></li>
<li><a href="#newerrors">Why my code fails to compile with strange errors about new operator?</a></li>
<li><a href="#mfcport">How do I port MFC applications to wxWidgets?</a></li>
<li><a href="#crash">Why do I sometimes get bizarre crash problems using VC++ 5/6?</a></li>
<li><a href="#makefiles">How are the wxWidgets makefiles edited under Windows?</a></li>
<li><a href="#vcdebug">How do you use VC++&#39;s memory leak checking instead of that in wxWidgets?</a></li>
<li><a href="#shortcutproblem">Why are menu hotkeys or shortcuts not working in my application?</a></li>
<li><a href="#regconfig">Why can I not write to the HKLM part of the registry with wxRegConfig?</a></li>
<li><a href="#access">Is MS Active Accessibility supported?</a></li>
<li><a href="#dspfmt">Why does Visual C++ complain about corrupted project files?</a></li>
<li><a href="#crtmismatch">Visual C++ gives errors about multiply defined symbols, what can I do?</a></li>
<li><a href="#directx">Why do I get compilation errors when using wxWidgets with DirectShow?</a></li>
<li><a href="#handlewm">How do I handle Windows messages in my wxWidgets program?</a></li>
</ul>
<hr>
<h3><a name="platforms">Which Windows platforms are supported?</a></h3>
wxWidgets can be used to develop and deliver applications on Windows 95, Windows 98, Windows NT,
Windows 2000, Windows XP, and Windows Vista. A Windows CE
port is also available (see below).<P>
16-bit compilation is only supported for wxWidgets 2.4 and previous versions,
using Visual C++ 1.5 and Borland BC++ 4 to 5.
<P>
wxWidgets for Windows will also compile on Unix with gcc using Wine from <a href="http://www.winehq.org" target=_top>WineHQ</a>.
The resulting executables are Unix binaries that work with the Wine Windows API emulator.<P>
You can also compile wxWidgets for Windows on Unix with Cygwin or Mingw32, resulting
in executables that will run on Windows. So in theory you could write your applications
using wxGTK or wxMotif, then check/debug your wxWidgets for Windows
programs with Wine, and finally produce an ix86 Windows executable using Cygwin/Mingw32,
without ever needing a copy of Microsoft Windows. See the Technical Note on the Web site detailing cross-compilation.<P>
<h3><a name="wince">What about Windows CE?</a></h3>
This port supports Pocket PC 2002/2003 and MS Smartphone 2002/2003, using
Embedded Visual C++ 3 or 4. For further information, see the wxMSW section in
the wxWidgets Reference Manual, and also the <a href="http://www.wxwidgets.org/embedded.htm#wxwince">wxEmbedded</a> page.<P>
<h3><a name="winxp">What do I need to do for Windows XP?</a></h3>
From wxWidgets 2.5, the XP manifest is included in wx/msw/wx.rc and
so your application will be themed automatically so long as you include wx.rc
in your own .rc file.<P>
For versions of wxWidgets below 2.5, you need to provide the manifest
explicitly, as follows.<p>
In the same directory as you have your executable (e.g. foo.exe) you
put a file called foo.exe.manifest in which you have something like
the following:
<pre>
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0"&gt;
&lt;assemblyIdentity
processorArchitecture="x86"
version="5.1.0.0"
type="win32"
name="foo.exe"/&gt;
&lt;description&gt;Foo program&lt;/description&gt;
&lt;dependency&gt;
&lt;dependentAssembly&gt;
&lt;assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/&gt;
&lt;/dependentAssembly&gt;
&lt;/dependency&gt;
&lt;/assembly&gt;
</pre>
If you want to add it to your application permanently,
you can also include it in your .rc file using this
line:<P>
<PRE>
1 24 "winxp.manifest"
</PRE>
For an explanation of this syntax, please see
<a href="http://delphi.about.com/library/bluc/text/uc111601a.htm" target=_new>this
article</a>.
<P>
<h3><a name="compilers">What compilers are supported?</a></h3>
Please see the wxWidgets for Windows install.txt file for up-to-date information, but
currently the following are known to work:<P>
<ul>
<li>Visual C++ 1.5, 4.0, 5.0, 6.0, 7.0, 7.1
<li>Borland C++ 4.5, 5.0, 5.5
<li>Borland C++Builder 1.0, 3.0, X
<li>Watcom C++ 10.6 (Win32), OpenWatcom 1.0
<li>Cygwin (using configure)
<li>Mingw32
<li>MetroWerks CodeWarrior (many versions)
<li>Digital Mars 8.34+
</ul>
<P>
<h3><a name="bestcompiler">Which is the best compiler to use with wxWidgets?</a></h3>
It&#39;s partly a matter of taste, but some people prefer Visual C++ since the debugger is very
good, it&#39;s very stable, the documentation is extensive, and it generates small executables.
Since project files are plain text, it&#39;s easy for me to generate appropriate project files
for wxWidgets samples.<P>
Borland C++ is fine - and very fast - but it&#39;s hard (impossible?) to use the debugger without using project files, and
the debugger is nowhere near up to VC++&#39;s quality. The IDE isn&#39;t great.<P>
C++Builder&#39;s power isn&#39;t really used with wxWidgets since it needs integration with its
own class library (VCL). For wxWidgets, I&#39;ve only used it with makefiles, in which case
it&#39;s almost identical to BC++ 5.0 (the same makefiles can be used).<P>
You can&#39;t beat Cygwin&#39;s price (free), and you can debug adequately using gdb. However, it&#39;s
quite slow to compile since it does not use precompiled headers.<P>
CodeWarrior is cross-platform - you can debug and generate Windows executables from a Mac, but not
the other way around I think - but the IDE is, to my mind, a bit primitive.<P>
Watcom C++ is a little slow and the debugger is not really up to today&#39;s standards.<P>
Among the free compilers the best choice seem to be Borland C++ command line
tools and mingw32 (port of gcc to Win32). Both of them are supported by
wxWidgets. However BC++ has trouble compiling large executables statically,
so you need to dynamically link the wxWidgets libraries.<p>
<h3><a name="unicode">Is Unicode supported?</a></h3>
Yes, Unicode is fully supported under Windows NT/2000 and there is limited
support for it under Windows 9x using <a
href="http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx">MSLU</a>.
<p>
<h3><a name="doublebyte">Does wxWidgets support double byte fonts (Chinese/Japanese/Korean etc.)?</a></h3>
For Japanese under Win2000, it seems that wxWidgets has no problems working
with double byte char sets (meaning DBCS, not Unicode). First you have to
install Japanese support on your Win2K system and choose for ANSI translation
<tt>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage=932</tt>
(default is 1252 for Western). Then you can see all the Japanese letters in
wxWidgets applications.
<p>
<h3><a name="dll">Can you compile wxWidgets as a DLL?</a></h3>
Yes (using the Visual C++ or Borland C++ makefile), but be aware that distributing DLLs is a thorny issue
and you may be better off compiling statically-linked applications, unless you&#39;re
delivering a suite of separate programs, or you&#39;re compiling a lot of wxWidgets applications
and have limited hard disk space.<P>
With a DLL approach, and with different versions and configurations of wxWidgets
needing to be catered for, the end user may end up with a host of large DLLs in his or her Windows system directory,
negating the point of using DLLs. Of course, this is not a problem just associated with
wxWidgets!
<P>
<h3><a name="exesize">How can I reduce executable size?</a></h3>
You can compile wxWidgets as a DLL (see above, VC++/BC++ only at present). You should also
compile your programs for release using non-debugging and space-optimisation options, but
take with VC++ 5/6 space optimisation: it can sometimes cause problems.<P>
If you want to distribute really small executables, you can
use <a href="http://www.un4seen.com/petite/" target=_top>Petite</a>
by Ian Luck. This nifty utility compresses Windows executables by around 50%, so your 500KB executable
will shrink to a mere 250KB. With this sort of size, there is reduced incentive to
use DLLs. Another good compression tool (probably better than Petite) 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 wxWidgets, so as your application becomes more
complex, the overhead becomes proportionally less significant. And thirdly, trading executable compactness
for the enormous increase in productivity you get with wxWidgets is almost always well worth it.<P>
If you have a really large executable compiled with MinGW (for example 20MB) then
you need to configure wxWidgets to compile without debugging information: see
docs/msw/install.txt for details. You may find that using configure instead
of makefile.g95 is easier, particularly since you can maintain debug and
release versions of the library simultaneously, in different directories.
Also, run &#39;strip&#39; after linking to remove all traces of debug info.
<P>
<H3><a name="mfc">Is wxWidgets compatible with MFC?</a></H3>
There is a sample which demonstrates MFC and wxWidgets code co-existing in the same
application. However, don&#39;t expect to be able to enable wxWidgets windows with OLE-2
functionality using MFC.<P>
<H3><a name="setuph">Why do I get errors about setup.h not being found?</a></H3>
When you build the wxWidgets library, setup.h is copied
from include/wx/msw/setup.h to e.g. lib/vc_msw/mswd/wx/setup.h (the path
depends on the configuration you&#39;re building). So you need to add
this include path if building using the static Debug library:<P>
lib/vc_lib/mswd<P>
or if building the static Release library, lib/vc_lib/msw.<P>
See also the <a href="http://wiki.wxwidgets.org/wiki.pl?Table_Of_Contents">wxWiki Contents</a>
for more information.<P>
<H3><a name="asuffix">Why do I get errors about FooBarA when I only use FooBar in my program?</H3>
If you get errors like
<p>
<center>
<tt>no matching function for call to &#39;wxDC::DrawTextA(const char[5], int,
int)&#39;</tt>
</center>
<p>
or similar ones for the other functions, i.e. the compiler error messages
mention the function with the <tt>&#39;A&#39;</tt> suffix while you didn&#39;t
use it in your code, the explanation is that you had included
<tt>&#60;windows.h&#062;</tt> header which redefines many symbols to have such
suffix (or <tt>&#39;W&#39;</tt> in the Unicode builds).
<p>
The fix is to either not include <tt>&#60;windows.h&#62;</tt> at all or include
<tt>"wx/msw/winundef.h"</tt> immediately after it.
<H3><a name="newerrors">Why my code fails to compile with strange errors about new operator?</a></H3>
The most common cause of this problem is the memory debugging settings in
<tt>wx/msw/setup.h</tt>. You have several choices:
<ul>
<li> Either disable overloading the global operator new completely by
setting <tt>wxUSE_GLOBAL_MEMORY_OPERATORS</tt> and
<tt>wxUSE_DEBUG_NEW_ALWAYS</tt> to 0 in this file
<li> Or leave them on but do <tt>#undef new</tt> after including any
wxWidgets headers, like this the memory debugging will be still on
for wxWidgets sources but off for your own code
</ul>
Notice that IMHO the first solution is preferable for VC++ users who can use
the <a href="#vcdebug">VC++ CRT memory debugging features</a> instead.
<H3><a name="mfcport">How do I port MFC applications to wxWidgets?</a></H3>
Set up your interface from scratch using wxWidgets (especially <a href="http://www.robeling.de" target=_top>wxDesigner</a>
or <a href="http://www.anthemion.co.uk/dialogblocks/" target=_new>DialogBlocks</a> --
it&#39;ll save you a <i>lot</i> of time) and when you have a shell prepared, you can start
&#39;pouring in&#39; code from the MFC app, with appropriate
modifications. This is the approach I have used, and I found
it very satisfactory. A two-step process then - reproduce the bare
interface first, then wire it up afterwards. That way you deal
with each area of complexity separately. Don&#39;t try to think MFC
and wxWidgets simultaneously from the beginning - it is easier to
reproduce the initial UI by looking at the behaviour of the MFC
app, not its code.
<H3><a name="crash">Why do I sometimes get bizarre crash problems using VC++ 5/6?</a></H3>
Some crash problems can be due to inconsistent compiler
options (and of course this isn&#39;t limited to wxWidgets).
If strange/weird/impossible things start to happen please
check (dumping IDE project file as makefile and doing text comparison
if necessary) that the project settings, especially the list of defined
symbols, struct packing, etc. are exactly the same for all items in
the project. After this, delete everything (including PCH) and recompile.<P>
VC++ 5&#39;s optimization code seems to be broken and can
cause problems: this can be seen when deleting an object Dialog
Editor, in Release mode with optimizations on. If in doubt,
switch off optimisations, although this will result in much
larger executables. It seems possible that the library can be created with
strong optimization, so long as the application is not strongly
optimized. For example, in wxWidgets project, set to &#39;Minimum
Size&#39;. In Dialog Editor project, set to &#39;Customize: Favor Small
Code&#39; (and no others). This will then work.<P>
<H3><a name="makefiles">How are the wxWidgets makefiles edited under Windows?</a></H3>
wxWidgets 2.5.x and above uses Bakefile to generate makefiles, which
is described in technical note 16 under docs/tech in your distribution.<p>
For 2.4.x, there is a system written by Vadim Zeitlin that
generates the makefiles from templates using tmake.<P>
Here are Vadim&#39;s notes on tmake:<P>
<blockquote>
To use these new makefiles, you don&#39;t need anything (but see below).
However, you should NOT modify them because these files will be
rewritten when I regenerate them using tmake the next time. So, if
you find a problem with any of these makefiles (say, makefile.b32)
you&#39;ll need to modify the corresponding template (b32.t in this
example) and regenerate the makefile using tmake.<P>
tmake can be found at
<a href="http://www.troll.no/freebies/tmake.html" target=_new>www.troll.no/freebies/tmake.html</a>.
It&#39;s a Perl5 program and so it needs Perl (doh). There is a binary for
Windows (available from the same page), but I haven&#39;t used it, so
I don&#39;t know if it works as flawlessly as "perl tmake" does (note
for people knowing Perl: don&#39;t try to run tmake with -w, it won&#39;t
do you any good). Using it extremely simple: to regenerate makefile.b32
just go to distrib/msw/tmake and type<P>
<pre>tmake -t b32 wxwin.pro -o ../../src/msw/makefile.b32</pre><P>
The makefiles are untested - I don&#39;t have any of Borland, Watcom or
Symantec and I don&#39;t have enough diskspace to recompile even with
VC6 using makefiles. The new makefiles are as close as possible to the
old ones, but not closer: in fact, there has been many strange things
(should I say bugs?) in some of makefiles, some files were not compiled
without any reason etc. Please test them and notify me about any problems.
Better yet, modify the template files to generate the correct makefiles
and check them in.<P>
The templates are described in tmake ref manual (1-2 pages of text)
and are quite simple. They do contain some Perl code, but my Perl is
primitive (very C like) so it should be possible for anybody to make
trivial modifications to it (I hope that only trivial modifications
will be needed). I&#39;ve tagged the ol makefiles as MAKEFILES_WITHOUT_TMAKE
in the cvs, so you can always retrieve them and compare the new ones,
this will make it easier to solve the problems you might have.<P>
Another important file is filelist.txt: it contains the list of all
files to be compiled. Some of them are only compiled in 16/32 bit mode.
Some other are only compiled with some compilers (others can&#39;t compile
them) - all this info is contained in this file.<P>
So now adding a new file to wxWidgets is as easy as modifying filelist.txt
(and Makefile.ams for Unix ports) and regenerating the makefiles - no
need to modify all files manually any more.<P>
Finally, there is also a file vc6.t which I use myself: this one
generates a project file for VC++ 6.0 (I didn&#39;t create vc5.t because
I don&#39;t need it and can&#39;t test it, but it should be trivial to create
one from vc6.t - probably the only things to change would be the
version number in the very beginning and the /Z option - VC5 doesn&#39;t
support edit-and=continue). This is not an officially supported way
of building wxWidgets (that is, nobody guarantees that it will work),
but it has been very useful to me and I hope it will be also for
others. To generate wxWidgets.dsp run<P>
<pre>tmake -t vc6 wxwin.pro -o ../../wxWidgets.dsp</pre><P>
Then just include this project in any workspace or open it from VC IDE
and it will create a new workspace for you.<P>
If all goes well, I&#39;m planning to create a template file for Makefile.ams
under src/gtk and src/motif and also replace all makefiles in the samples
subdirectories with the project files from which all the others will be
generated. At least it will divide the number of files in samples
directory by 10 (and the number of files to be maintained too).
</blockquote>
<P>
<H3><a name="vcdebug">How do you use VC++&#39;s memory leak checking instead of that in wxWidgets?</a></H3>
Vadim Zeitlin:
<pre>
On the VC++ level, it&#39;s just the matter of calling _CrtSetDbgFlag() in the very
beginning of the program. In wxWidgets, this is done automatically when
compiling with VC++ in debug mode unless wxUSE_GLOBAL_MEMORY_OPERATORS or
__NO_VC_CRTDBG__ are defined - this check is done in wx/msw/msvcrt.h which
is included from app.cpp which then calls wxCrtSetDbgFlag() without any
ifdefs.
This works quite well: at the end of the program, all leaked blocks with their
malloc count are shown. This number (malloc count) can be used to determine
where exactly the object was allocated: for this it&#39;s enough to set the variable
_crtBreakAlloc (look in VC98\crt\srs\dbgheap.c line 326) to this number and
a breakpoint will be triggered when the block with this number is allocated.
For simple situations it works like a charm. For something more complicated
like reading uninitialized memory a specialized tool is probably better...
Regards,
VZ
</pre>
<P>
<H3><a name="shortcutproblem">Why are menu hotkeys or shortcuts not working in my application?</a></H3>
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.<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>
Currently this is not possible because the wxConfig family of classes is
supposed to deal with per-user application configuration data, and HKLM is
only supposed to be writeable by a user with Administrator privileges. In theory,
only installers should write to HKLM. This is still a point debated by the
wxWidgets developers. There are at least two ways to work around it if you really
need to write to HKLM.<P>
First, you can use wxRegKey directly, for example:
<pre>
wxRegKey regKey;
wxString idName(wxT("HKEY_LOCAL_MACHINE\\SOFTWARE\\My Company\\My Product\\Stuff\\"));
idName += packid;
regKey.SetName(idName);
{
wxLogNull dummy;
if (!regKey.Create())
{
idName = wxT("HKEY_CURRENT_USER\\SOFTWARE\\My Company\\My Product\\Stuff\\");
idName += packid;
regKey.SetName(idName);
if (!regKey.Create())
return FALSE;
}
}
if (!regKey.SetValue(wxT("THING"), (long) thing)) err += 1;
regKey.Close();
</pre>
Or, you can employ this trick suggested by Istvan Kovacs:
<pre>
class myGlobalConfig : public wxConfig
{
myGlobalConfig() :
wxConfig ("myApp", "myCompany", "", "", wxCONFIG_USE_GLOBAL_FILE)
{};
bool Write(const wxString& key, const wxString& value);
}
bool myGlobalConfig::Write (const wxString& key, const wxString& value)
{
wxString path = wxString ("SOFTWARE\\myCompany\\myApp\\") + wxPathOnly(key);
wxString new_path = path.Replace ("/", "\\", true);
wxString new_key = wxFileNameFromPath (key);
LocalKey().SetName (wxRegKey::HKLM, path);
return wxConfig::Write (new_key, value);
}
</pre>
<H3><a name="#access">Is MS Active Accessibility supported?</a></H3>
This is being worked on. Please see <a href="http://www.wxwidgets.org/access.htm">this page</a>
for the current status.
<P>
<h3><a name="#dspfmt">Why does Visual C++ complain about corrupted project files?</a></h3>
If you have downloaded the wxWidgets sources from the cvs using a Unix cvs
client or downloaded a daily snapshot in <tt>.tar.gz</tt> format, it is likely
that the project files have Unix line endings (LF) instead of the DOS ones (CR
LF). However all versions of Visual C++ up to and including 7.1 can only open
the files with the DOS line endings, so you must transform the files to this
format using any of the thousands ways to do it.
<p>
Of course, another possibility is to always use only the Windows cvs client
and to avoid this problem completely.
<p>
<h3><a name="#crtmismatch">Visual C++ gives errors about multiply defined symbols, what can I do?</a></h3>
If you get errors like this
<pre>
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _xxxxxx already defined in LIBCD.lib(yyyyy.obj)
</pre>
when linking your project, this means that you used different versions of CRT
(C Run-Time) library for wxWindows (or possibly another library) and the main
project. Visual C++ provides static or dynamic and multithread safe or not
versions of CRT for each of debug and release builds, for a total of 8
libraries. You can choose among them by going to the "Code generation"
page/subitem of the "C++" tab/item in the project proprieties dialog in VC6/7.
<p>
To avoid problems, you <strong>must</strong> use the same one for all
components of your project. wxWindows uses multithread safe DLL version of the
CRT which is a good choice but may be problematic when distributing your
applications if you don&#39;t include the CRT DLL in your installation -- in this
case you may decide to switch to using a static CRT version. If you build with
<tt>wxUSE_THREADS == 0</tt> you may also use the non MT-safe version as it is
slightly smaller and faster.
<p>
But the most important thing is to use the <strong>same</strong> CRT setting for
all components of your project.
<h3><a name="#directx">Why do I get compilation errors when using wxWidgets with DirectShow?</a></h3>
If you get errors when including Microsoft DirectShow or DirectDraw headers,
the following message from Peter Whaite could help:
<blockquote>
&gt; This causes compilation errors within DirectShow:
&gt;
&gt; wxutil.h(125) : error C2065: &#39;EXECUTE_ASSERT&#39; : undeclared identifier
&gt; amfilter.h(1099) : error C2065: &#39;ASSERT&#39; : undeclared identifier
The reason for this is that __WXDEBUG__ is also used by the DXSDK (9.0
in my case) to &#39;#pragma once&#39; the contents of
DXSDK/Samples/C++/DirectShow/BaseClasses/wxdebug.h. So if __WXDEBUG__
is defined, then wxdebug.h doesn&#39;t get included, and the assert macros
don&#39;t get defined. You have to #undef __WXDEBUG__ before including the
directshow baseclass&#39;s &lt;streams.h&gt;.
</blockquote>
<h3><a name="#handlewm">How do I handle Windows messages in my wxWidgets program?</a></h3>
To handle a Windows message you need to override a virtual
<tt>MSWWindowProc()</tt> method in a wxWindow-derived class. You should then
test if <tt>nMsg</tt> parameter is the message you need to process and perform
the necessary action if it is or call the base class method otherwise.
</font>
</BODY>
</HTML>

View File

@@ -1,51 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWidgets for X11 FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<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">
<b>wxWidgets for X11 FAQ</b>
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>
and <a href="faqunx.htm">Unix FAQ page</a>.
<hr>
<h3>List of questions in this category</a></h3>
<ul>
<li><a href="#needed">What do I need to compile wxX11?</a></li>
<li><a href="#missing">What features are missing or partially implemented?</a></li>
</ul>
<hr>
<h3><a name="needed">What do I need to compile wxX11?</a></h3>
For desktop compilation, you only need X11 (not Xt, GTK+ or any other widget set).
For embedded use, Tiny-X should work fine too.
There is incomplete support for Microwindows (the Nano-X API).
<P>
<h3><a name="missing">What features are missing or partially implemented?</a></h3>
The following classes and features are not yet implemented: wxSpinCtrl, wxSocket, wxToggleButton, clipboard classes,
drag and drop classes, tooltips.<P>
</font>
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1000 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

View File

@@ -1,374 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWidgets Documentation</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#63659C" LINK="#313063" ALINK="#313063">
<font face="Arial, Lucida Sans, Helvetica">
<a name="top"></a>
<IMG src="logo.gif" align=right hspace=10 vspace=0>
<b>Welcome to wxWidgets, the premi&egrave;re cross-platform GUI C++ framework.</b><P>
This is an index of
the plain text, HTML, Windows Help and Acrobat documentation: availability depends on what you've
downloaded from the <a href="http://www.wxwidgets.org">wxWidgets Web site</a>.<br clear=all><P>
<CENTER>
<FONT size=-1>
[<a href="#install">Install</a>]
[<a href="#manuals">Manuals</a>]
[<a href="#technotes">Technical Notes</a>]
[<a href="#samples">Samples</a>]
[<a href="#demos">Demos</a>]
</FONT>
</CENTER>
<P>
<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">
<b><a name="install">Installation and release notes</a></b>
</font>
</td>
</tr>
</table>
<P>
Unless you installed a binary version of wxWidgets using RPMs,
you will probably have to compile the wxWidgets library first.
Please read the platform-specific readme.txt and install.txt
for how to do this.
<P>
<ul>
<li>ReadMe: <a href="../readme.txt"><b>General ReadMe</b></a>,
<a href="../msw/readme.txt">wxMSW</a>,
<a href="../gtk/readme.txt">wxGTK</a>,
<a href="../mac/readme.txt">wxMac</a>,
<a href="../cocoa/readme.txt">wxCocoa</a>,
<a href="../mgl/readme.txt">wxMGL</a>,
<a href="../motif/readme.txt">wxMotif</a>,
<a href="../x11/readme.txt">wxX11</a>,
<a href="../univ/readme.txt">Univ</a>
<li>Installation:
<a href="../msw/install.txt">wxMSW</a>,
<a href="../gtk/install.txt">wxGTK</a>,
<a href="../motif/install.txt">wxMotif</a>,
<a href="../x11/install.txt">wxX11</a>,
<a href="../mac/install.txt">wxMac</a>,
<a href="../cocoa/install.txt">wxCocoa</a>,
<a href="../mgl/install.txt">wxMGL</a>,
<a href="../os2/install.txt">wxOS2</a>
<li><a href="../changes.txt"><b>General change log</b></a>
<li>Licence: <a href="../preamble.txt">Preamble</a>,
<a href="../licence.txt">Licence</a>,
<a href="../licendoc.txt">Documentation Licence</a>,
<a href="../lgpl.txt">L-GPL</a>,
<a href="../gpl.txt">GPL</a>
<li><a href="faq.htm"><B>FAQ</B></a>:
<ul>
<li><a href="faqgen.htm">General questions</a>
<li><a href="faqcmn.htm">Questions common to all platforms</a>
<li><a href="faqmsw.htm">wxWidgets for Windows</a>
<li><a href="faqgtk.htm">wxWidgets for GTK+</a>
<li><a href="faqmot.htm">wxWidgets for Motif</a>
<li><a href="faqx11.htm">wxWidgets for X11</a>
<li><a href="faqmac.htm">wxWidgets for Mac</a>
</ul>
<li>ToDo: <a href="../todo.txt"><b>General ToDo</b></a>,
<a href="../gtk/todo.txt">wxGTK</a>,
<a href="../motif/todo.txt">wxMotif</a>,
<a href="../mac/todo.txt">wxMac</a>
</ul>
Further platform-specific notes:
<ul>
<li> wxMSW: <a href="../msw/winxp.txt">Windows XP</a>
</ul>
<P>
<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">
<b><a name="manuals">wxWidgets manuals</a></b>
</font>
</td>
</tr>
</table>
<P>
To use manuals in wxHTML Help form (extension htb), you can use the <b>HelpView</b>
application, either compiling it from utils/helpview in the distribution,
or downloading a binary, for example from <a href="http://www.storylinescentral.com/helpview.htm">here</a>.<P>
<table border=0 cellpadding=5 cellspacing=0>
<tr>
<td align=center bgcolor="#E0E0E0">
<B>HTML</B>
</td>
<td align=center bgcolor="#E0E0E0">
<B>WinHelp</B>
</td>
<td align=center bgcolor="#E0E0E0">
<B>MS HTML Help</B>
</td>
<td align=center bgcolor="#E0E0E0">
<B>wxHTML Help</B>
</td>
<td align=center bgcolor="#E0E0E0">
<B>PDF</B>
</td>
</tr>
<tr>
<td align=center>
<a href="wx/wx_contents.html">wxWidgets Reference</a>
</td>
<td align=center>
<a href="../winhelp/wx.hlp">wxWidgets Reference</a>
</td>
<td align=center>
<a href="../htmlhelp/wx.chm">wxWidgets Reference</a>
</td>
<td align=center>
<a href="../htb/wx.htb">wxWidgets Reference</a>
</td>
<td align=center>
<a href="../pdf/wx.pdf">wxWidgets Reference</a>
</td>
</tr>
<tr>
<td align=center>
<a href="tex2rtf/t2rtf.htm">Tex2RTF</a>
</td>
<td align=center>
<a href="../winhelp/tex2rtf.hlp">Tex2RTF</a>
</td>
<td align=center>
<a href="../htmlhelp/tex2rtf.chm">Tex2RTF</a>
</td>
<td align=center>
<a href="../htb/tex2rtf.htb">Tex2RTF</a>
</td>
<td align=center>
<a href="../pdf/tex2rtf.pdf">Tex2RTF</a>
</td>
</tr>
</table>
<P>
<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">
<b><a name="technotes">Technical notes</a></b>
</font>
</td>
</tr>
</table>
<P>
<ul>
<li><a href="../tech/index.txt">Index of technical notes</a>
<li><a href="../tech/">Technical notes</a>
<li><a href="platform.htm">Platforms supported</a>
<li><a href="i18n.htm">Languages supported by wxWidgets</a>
</ul>
<P>
<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">
<b><a name="samples">Samples</a></b>
</font>
</td>
</tr>
</table>
<P>
Each of the following samples demonstrates one or more aspect of wxWidgets.<P>
<ul>
<li><a href="../../samples/access">access</a>: Active Accessiblity sample (Windows only).
<li><a href="../../samples/animate">animate</a>: shows the wxAnimationCtrl class.
<li><a href="../../samples/artprov">artprov</a>: shows how you can customize the look of standard
wxWidgets dialogs by replacing default bitmaps/icons with your own versions.
<li><a href="../../samples/aui">aui</a>: wxAui (docking subsystem) sample.
<li><a href="../../samples/calendar">calendar</a>: a sample to test the wxCalendarCtrl class.
<li><a href="../../samples/caret">caret</a>: a sample to test the wxCaret class.
<li><a href="../../samples/checklst">checklst</a>: demonstrates wxCheckListBox on
supported platforms (currently Windows and GTK only).
<li><a href="../../samples/collpane">collpane</a>: shows the wxCollapsiblePane class.
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
defaults to wxRegConfig on WIN32 (optionally wxIniConfig), and wxFileConfig on other platforms.
<li><a href="../../samples/console">console</a>: demonstrates a console application using
console-mode (no-GUI) compilation of wxWidgets.
<li><a href="../../samples/controls">controls</a>: sample showing a variety of controls, including
wxNotebook.
<li><a href="../../samples/db">db</a>: wxODBC sample.
<li><a href="../../samples/debugrpt">debugrpt</a>: wxDebugReport sample.
<li><a href="../../samples/dialogs">dialogs</a>: shows some of the common dialogs available -- wxFontDialog,
wxColourDialog, wxFileDialog, wxDirDialog, wxMessageBox, wxTextEntryDialog, wxSingleChoiceDialog.
For printing-related dialogs, see the printing sample.
<li><a href="../../samples/dialup">dialup</a>: wxDialUpManager demo.
<li><a href="../../samples/display">display</a>: wxDisplay demo.
<li><a href="../../samples/dnd">dnd</a>: demonstrates drag and drop on supported platforms.
<li><a href="../../samples/docview">docview</a>: demonstrates use of the document view classes,
using wxFrame.
<li><a href="../../samples/docvwmdi">docvwmdi</a>: demonstrates use of the document view classes,
using wxMDIParentFrame, wxMDIChildFrame.
<li><a href="../../samples/dragimag">dragimag</a>: wxDragImage demo.
<li><a href="../../samples/drawing">drawing</a>: tests device context drawing.
<li><a href="../../samples/dynamic">dynamic</a>: shows how to connect events to member functions
dynamically.
<li><a href="../../samples/editlbox">erase</a>: shows the wxEditableListBox class.
<li><a href="../../samples/erase">erase</a>: Window erasing sample.
<li><a href="../../samples/event">event</a>: demonstrates event handling.
<li><a href="../../samples/except">exept</a>: demonstrates exception handling.
<li><a href="../../samples/exec">exec</a>: demonstrates wxExecute.
<li><a href="../../samples/font">font</a>: tests fonts, font enumerator, font encodings.
<li><a href="../../samples/grid">grid</a>: demonstrates the wxGrid class.
<li><a href="../../samples/help">help</a>: shows how to use wxHelpController.
<li><a href="../../samples/html">html</a>: a number of demos for the wxHTML class library, used inside
applications and also as a help facility.
<ul>
<li><a href="../../samples/html/about">about</a>: shows use of a wxHTML widget inside an About box.
<li><a href="../../samples/html/help">help</a>: shows use of wxHtmlHelpController to display wxHTML help.
<li><a href="../../samples/html/helpview">helpview</a>: a stand-alone wxHTML help viewer for any .htb book.
<li><a href="../../samples/html/printing">printing</a>: shows how easy it is to preview and print HTML files.
<li><a href="../../samples/html/test">test</a>: general wxHTML test application.
<li><a href="../../samples/html/virtual">virtual</a>: demonstrates the virtual file system feature.
<li><a href="../../samples/html/widget">widget</a>: demonstrates the use of controls in HTML pages.
<li><a href="../../samples/html/zip">zip</a>: shows how help files can be packaged in zip archives.
</ul>
<li><a href="../../samples/htlbox">htlbox</a>: demonstrates wxHtmlListBox.
<li><a href="../../samples/image">image</a>: shows off the cross-platform wxImage class.
<li><a href="../../samples/ipc">ipc</a>: shows the DDE-like protocol in action, both using real
DDE on Windows, and TCP/IP on all platforms. Edit <a href="../../samples/ipc/ddesetup.h">ddesetup.h</a>
to switch between compilation modes.
<li><a href="../../samples/internat">internat</a>: use of wxWidgets' internationalization support.
<li><a href="../../samples/joytest">joytest</a>: tests the wxJoystick class (currently Windows and GTK only).
<li><a href="../../samples/keyboard">keyboard</a>: tests keyboard support.
<li><a href="../../samples/layout">layout</a>: shows the constraint layout system in action.
<li><a href="../../samples/listctrl">listctrl</a>: demonstrates the wxListCtrl (implemented natively on
WIN32, and using a generic version on other platforms).
<li><a href="../../samples/menu">menu</a>: tests menus.
<li><a href="../../samples/mediaplayer">mediaplayer</a>: demonstrates wxMediaCtrl, for playing movies and audio files in a window.
<li><a href="../../samples/mdi">mdi</a>: shows off the MDI (Multiple Document Interface) classes. On Windows, the regular MDI
scheme is used whereby child windows have full sizing and moving rights within the main
window. On other platforms, tabbed windows are used, where the children are always maximized.
<li><a href="../../samples/memcheck">memcheck</a>: demonstrates the memory checking/debugging facilities.
<li><a href="../../samples/mfc">mfc</a>: shows how to use MFC and wxWidgets code in the same application (Windows only).
To compile this, you must edit include/wx/wxprec.h, comment out the windows.h inclusion, and recompile wxWidgets.
<li><a href="../../samples/minifram">minifram</a>: demonstrates a frame with a small title bar. On
platforms that don't support it, a normal-sized title bar is displayed.
<li><a href="../../samples/minimal">minimal</a>: just shows a frame, a menubar, and a statusbar. About as
small a wxWidgets application as you can get.
<li><a href="../../samples/mobile">mobile</a>: mini applications for embedded platforms.
<li><a href="../../samples/multimon">multimon</a>: demo showing how to use multiple monitors.
<li><a href="../../samples/nativdlg">nativdlg</a>: shows how wxWidgets can load a standard Windows
dialog resource, translating the controls into wxWidgets controls (Windows only).
<li><a href="../../samples/notebook">notebook</a>: shows the wxNotebook (tabbed window) control.
<li><a href="../../samples/oleauto">oleauto</a>: a little OLE automation controller (Windows only; requires
Excel to be present).
<li><a href="../../samples/ownerdrw">ownerdrw</a>: demonstrates owner-draw menus and controls (Windows only).
<li><a href="../../samples/png">png</a>: demonstrates PNG loading.
<li><a href="../../samples/printing">printing</a>: shows printing and previewing.
<li><a href="../../samples/propsize">propsize</a>: demonstrates proportional sizer classes.
<li><a href="../../samples/regtest">regtest</a>: tests the low-level Windows registry functions (Windows only).
<li><a href="../../samples/render">render</a>: shows how to use wxRenderer to implement controls consistent with the
platform's native look.
<li><a href="../../samples/richtext">richtext</a>: demonstrates wxRichTextCtrl.
<li><a href="../../samples/rotate">rotate</a>: demonstrates interpolated and non-interpolated
rotation of a wxImage.
<li><a href="../../samples/sashtest">sashtest</a>: demonstrates use of the wxSashWindow class to allow
the user to resize subwindows.
<li><a href="../../samples/scroll">scroll</a>: demonstrates wxScrolledWindow.
<li><a href="../../samples/scrollsub">scrollsub</a>: demonstrates the use of wxScrolledWindow to scroll
an embedded window.
<li><a href="../../samples/shaped">shaped</a>: demonstrates non-rectangular windows using wxFrame::SetShape.
<li><a href="../../samples/sockets">sockets</a>: demonstrates the TCP/IP family of classes.
<li><a href="../../samples/sound">sound</a>: demonstrates use of wxSound.
<li><a href="../../samples/splash">splash</a>: demonstrates use of the wxSplashScreen class.
<li><a href="../../samples/splitter">splitter</a>: demonstrates the wxSplitterWindow class.
<li><a href="../../samples/statbar">statbar</a>: demonstrates the wxStatusBar class.
<li><a href="../../samples/taskbar">taskbar</a>: demonstrates the wxTaskBarIcon class, for
adding icons to the system tray. Windows only, but may eventually be implemented for other desktop
environments that use this metaphor.
<li><a href="../../samples/text">text</a>: demonstrates single and multiline text controls,
and clipboard operations.
<li><a href="../../samples/thread">thread</a>: tests the family of classes for doing thread
programming.
<li><a href="../../samples/toolbar">toolbar</a>: demonstrates wxToolBar.
<li><a href="../../samples/treectrl">treectrl</a>: demonstrates wxTreeCtrl.
<li><a href="../../samples/typetest">typetest</a>: tests various data type classes, including
wxTime, wxDate and wxVariant.
<li><a href="../../samples/validate">validate</a>: shows simple use of validation.
<li><a href="../../samples/vscroll">vscroll</a>: shows use of wxVScrolledWindow.
<li><a href="../../samples/widgets">widgets</a>: shows a lot of control classes.
<li><a href="../../samples/wizard">wizard</a>: demonstrates the wxWizard class.
<li><a href="../../samples/xrc">xrc</a>: demonstrates the XRC resource system.
</ul>
<P>
<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">
<b><a name="demos">Demos</a></b>
</font>
</td>
</tr>
</table>
<P>
The following are fully-fledged applications.<P>
<ul>
<li><a href="../../demos/bombs">bombs</a>: minesweeper-like game.
<li><a href="../../demos/dbbrowse">dbbrowse</a>: ODBC database browser application.
<li><a href="../../demos/forty">forty</a>: a great little card game by Chris Breeze.
<li><a href="../../demos/fractal">fractal</a>: fractal mountains by Andrew Davison.
<li><a href="../../demos/life">life</a>: the game of Life by J. H. Conway, implemented in wxWidgets by Guillermo Rodriguez Garcia.
<li><a href="../../demos/poem">poem</a>: a little poetry display program.
</ul>
</font>
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -1,389 +0,0 @@
<HTML>
<HEAD>
<TITLE>News</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=0 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#C4ECF9">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#000000">
News
</font>
</td>
</tr>
</table>
<H3>July 28th, 2000</H3><P>
<ul>
<li>Vaclav Slavik has recently written an
<a href="http://www.root.cz/clanek.phtml?id=425" target=_top>article about wxWindows</a> for a Czech ezine.
<li>Hurray! There is a lot of traffic on the wxStudio mailing list, and
Gerd Mueller has offered to make the <a href="http://www.softwarebuero.de" target=_top>WipeOut</a> IDE
open source and merge it with wxStudio.
</ul>
<H3><a name="release2_2_0">July 9th, 2000</H3><P>
<ul>
<li><a href="download.htm" target=wxmain>wxWindows 2.2.0</a> is the result of many
fixes and enhancements to 2.1, and is an official stable release.
</ul>
<H3><a name="release2_1_16">June 4th, 2000</H3><P>
<ul>
<li><a href="download.htm" target=wxmain>wxWindows 2.1.16</a> contains fixes
for wxGTK, wxMSW and wxMotif. It is hoped that this is the last release before the stable 2.2 version.
</ul>
<H3><a name="release2_1_15">March 28th, 2000</H3><P>
<ul>
<li><a href="download.htm" target=wxmain>wxWindows 2.1.15</a> contains a few fixes
for wxGTK and wxMSW. wxMSW and wxMotif users who already have 2.1.14 do not need to rush to
download this version! The fixes in the patch file (see main download page) contain the
major differences between 2.1.14 and 2.1.15.
</ul>
<H3><a name="release2_1_14">March 21st, 2000</H3><P>
<ul>
<li><a href="download.htm" target=wxmain>wxWindows 2.1.14</a> is now available for Windows, Motif and GTK.
Again, great strides have been made since the previous official version (2.1.11), and 2.2 will be the next official
stable version. Many things have been fixed and added but <a href="newver.htm">here are some highlights</a>.
<li>Robin Dunn is contributing a wxStyledTextCtrl, a wrapper around the <a href="http://www.scintilla.org/" target=_new>Scintilla</a>
styled text edit control. It can be used to provide syntax highlighting for various languages, and other applications.
A snapshot of this work in progress, stc.zip, is provided on the ftp site alongside the latest wxWindows release.
<li>Guilhem Lavaux has reworked his MMedia sound and video class library and started its documentation;
it too is available alongside the latest release as mmedia.zip.
</ul>
<H3>January 14th, 2000</H3><P>
<ul>
<li>Mumit Khan of Mingw32 fame has been testing wxWindows against Mingw32,
to eliminate some bugs in both products and get wxWindows compilation as a DLL working
for Mingw32.
<li>Vadim has added his wxDateTime and wxCalendarCtrl classes and samples to the CVS archive.
<li>TIFF support has been added, and wxImage speeded up.
<li>Guillermo Rodriguez Garcia has added a new Game of Life demo.
<li>The DDE sample now works in socket mode, at last.
<li>Vadim has got clipboard copy and paste working for metafiles, by adding an enhanced
metafile class.
<li>The wxWindows web site is now hosted on SourceGear's server, with a bug tracker and
other facilities to follow shortly.
</ul>
<H3><a name="release2_1_11">November 9th, 1999</a></H3><P>
<a href="download.htm" target=wxmain>wxWindows 2.1.11</a> is now available for Windows, Motif and GTK.
The final 2.2 public release will have further bug fixes, but 2.1.11 is pretty stable - a big improvement
on 2.0.1 and better than previous snapshots. Here are a few of the features that make it well worth the upgrade:<P>
<ul>
<li> Numerous bug fixes and consistency improvements.
<li> Further samples.
<li> Factoring out of some code into base classes, for easier
maintenance.
<li> Ability to compile library in console (non-GUI) mode.
<li> Integration of wxHTML widget and help controller into
wxWindows. wxHTML allows HTML viewing and printing (wxGTK
and wxMSW, partial support in wxMotif).
<li> New classes wxChrono, wxDialUpManager, wxFontEnumerator,
wxWizard, wxStaticLine, etc.
<li> wxShowTip for showing 'startup tips' to the user.
<li> wxSocket and wxThread classes rewritten.
<li> New, consistent drag and drop API (not wxMotif).
<li> Better-looking dialogs in wxGTK; native message box used
in wxMotif.
<li> wxSizers reimplemented and used to specify window layout
for some generic dialogs.
<li> New, more sophisticated wxGrid class (in beta). The old grid
class can still be used.
<li> Text alignment options in wxStaticText.
<li> wxImage class extended to read PCX and GIF files.
<li> Documentation improvements.
<li> Revised configure system for wxGTK and wxMotif; tmake-based
system for generating wxMSW makefiles.
<li> Installer for Windows as alternative to zip archives.
</ul>
<H3>August 6th, 1999</H3><P>
Today, a snapshot release of the MSW and the GTK ports has been
made. The two snapshots are synchronized and have been tested
for several weeks and should thus be considered to be quite stable.
Among the many new features that have appeared since version 2.0
was release are:
<ul>
<li> A great number of incompatibilities between the GTK and the MSW port have been removed. This
holds especially true for the way, time and order, controls send notifications to the user program.
<li> Practically all widgets have been updated, removing bugs or adding missing features to
specific ports (mostly the GTK port).
<li> The GTK port now supports GTK version 1.2 as well as 1.0, giving access to the many new
features, such as e.g. menu accelerators.
<li> Many of the non-GUI classes have been reworked and new ones added, the stream classes
having undergone a complete rewrite.
<li> The addition of code to handle Unicode has begun and is in an advanced state.
<li> The Python bindings (wxPython) have been largely improved and updated to the newest
API and features.
</ul>
<H3>July 31st, 1999</H3><P>
We are glad to announce the start of the work on the new wxWindows port - wxBeOS
which will implement wxWindows 2 API for <A HREF="http://www.be.com">BeOS</A>.
Thanks to Be for donating licenses to wxWindows project to make it possible.
<P>
If you're interested in helping with this new port, please write to wxWindows
developers mailing list!
<H3>May 27th, 1999</H3><P>
<ul>
<li>Beta 1 of <a href="dl_mac2.htm">wxWindows 2 for Mac</a> has been released, thanks to Stefan Csomor's amazing efforts.
<li>Work continues on the development branch of wxWindows 2 for MSW, GTK and Motif. Vadim has been reworking the
MSW implementation to solve some internal design problems, as well as factoring out base classes to make
development easier.
<li>Work on consistent drag and drop support in GTK and MSW continues.
</ul>
<H3>March 1st, 1999</H3><P>
wxWindows 2 launch day!<P>
<ul>
<li>wxWindows 2 officially launched, after more than two years' development of
the API and ports to Windows, GTK and Motif (Mac to follow).
<a href="download.htm">Download</a> wxWindows 2.
</ul>
<H3>November 26th 1998</H3><P>
<ul>
<li><a href="ftp://www.remstar.com/pub/wxwin/1.68E">wxWindows 1.68E</a> contains minor bug fixes and now compiles with MS VC++ 6.0, and
(hopefully) BC++ 5.0, as well as Cygwin b20.
<li>The latest <a href="ftp://www.remstar.com/pub/wxwin/2.0.1">wxWindows 2.0 alpha</a> shows good progress
on the Motif port, with a tabbed MDI implementation, a nice wxToolBar class and most
major classes working. wxWindows 2.0 for Windows now works with VC++ 6.0, BC++ 5.0 and
Cygwin b20. There's a problem linking with Mingw32, I don't know why this is, perhaps
something to do with differences in the way pragmas are handled.
<li>There is also good progress with Stefan Csomor's wxMac 2.0: watch this space. A preview
is available <a href="http://www.advanced.ch/wxwin/wxmac_d1.zip">here</a>.
<li>Work is finally underway on a <a href="wxide.htm">wxWindows IDE</a>!
<li>Aleksandras Gluchovas is working on a docking window implementation and the results
are pretty impressive so far. Here's a <a href="http://www.soften.ktu.lt/~alex/fl_screenshot.gif">screenshot</a>;
source code is <a href="http://www.soften.ktu.lt/~alex/fl_src_0_1.zip">here</a> and a WIN32 executable
is <a href="http://www.soften.ktu.lt/~alex/fl_demo_exe_0_1.zip">here</a>. The source also includes
work on persistent storage classes.
</ul>
<H3>September 13th 1998</H3><P>
<ul>
<li>The main ftp site is now <a href="ftp://www.remstar.com/pub/wxwin">www.remstar.com/pub/wxwin</a>,
since the AIAI site is no longer available for uploads.
</ul>
<H3>August 23rd 1998</H3><P>
<ul>
<li>wxGTK and wxMSW 2.0 progress continues apace. The API is being unified quite successfully,
and most of the samples now compile under both ports.
<li>We are looking for <a href="sponsor.htm">sponsorship</a> of wxMotif 2.0.
</ul>
<H3>April 28th 1998</H3><P>
<ul>
<li>wxWindows 1.68C has been released. This mainly provides compatibility with Gnu-Win32 b19
and Mingw32.
<li>wxWindows 2.0 beta 9 has been released. Again, this provides Gnu-Win32 b19/Mingw32 compatibility
plus a few small bug fixes.
</ul>
<H3>March 22nd 1998</H3><P>
<ul>
<li>The mailing list addresses have changed: please see the <a href="maillist2.htm">mailing list page</a>
for details. You may need to re-subscribe if you subscribed since February 1998.
</ul>
<H3>January 5th 1998</H3><P>
<ul>
<li>Happy New Year!
<li>wxWindows 1.68B is available.
<li>wxWindows 2.0 has another port in progress - <a href="http://www.freiburg.linux.de/~wxxt" target=_top>wxGTK</a>,
by Robert Roebling (see also the information on the same page about Robert's FADE desktop
environment project).
<li>The Windows and Xt/Motif ports to 2.0 are progressing well. A large proportion of the documentation
has been done. One of the main things to resolve is how transformations (such as scaling
and translation) will be done in 2.0, but we're heading towards agreement.
<li>There is a new <a href="http://wxwin.projects.ml.org" target=_top>wxWindows Developers Site</a> in preparation, for people developing ports of
wxWindows. There are newsgroups and a wxwin-developers mailing list.
<li>40 wxWindows CD-ROMs have been sold, mostly outside the U.K.
<li>Antonia Charlotte Smart was born on November 1st 1997. Naturally, she's as cute as her parents.
</ul>
<H3>August 13th 1997</H3><P>
<ul>
<li>Added <a href="getstart.htm">Getting Started</a> page for new users.
<li>There's a good review of wxWindows by Oliver Niedung and Stefan Gunther in
<I>iX</I>, a German computer magazine.
</ul>
<H3>July 24th 1997</H3><P>
<ul>
<li>wxWindows 1.67 <a href="download.htm" target=wxmain>released</a>.
</ul>
<H3>July 22nd 1997</H3><P>
<ul>
<li>wxWindows 1.67 is nearly there...
<li>Check out <a href="apps/forty/forty.htm">Forty Thieves</a>, a great card game
by Chris Breeze of Hitachi Europe Limited.
</ul>
<H3>July 16th 1997</H3><P>
<ul>
<li>Jobst Schmalenbach has set up Australian mirrors of the wxWindows ftp and Web sites:
please see the <a href="mirrors.htm">Mirrors</a> page.
<li>Arthur Tetzlaff-Deas is starting to look afresh at a port of wxWindows 2.0 to
NeXTStep. This is more relevant now that the NeXT OS will be essential to the Apple Mac's future.
<li>The next release of wxWindows for Motif/XView/Windows should be within the next two weeks or so. I have abandoned
documentation in wxHelp form in favour of the much better quality HTML format, which I
will be including with the distribution from now on.
</ul>
<H3>July 7th 1997</H3><P>
<ul>
<li>For news on wxWindows 2.0 development, please see <a href="coming.htm">What's coming next?</a>
- developments include DLL and experimental Netscape Plugin support. The estimate for a release
date has been put back to October 1997 - to be out of the way before Smart Jr. arrives in November...
<li>Negotiations with a U.S. company about development of wxWindows into a commercial product
fell through, since it was not possible to agree about the continuation of a version
of wxWindows that maintains the free, collaborative spirit that currently exists.
</ul>
<H3>May 18th 1997</H3><P>
<ul>
<li>wxWindows 2.0 development (mostly for the Windows platform) is on track thanks to funding for wxWin-related consultancy
- thank you to those concerned! This work is still on the free version of 2.0, although an additional
commercial version may be developed sometime in the future. Markus Holzem continues to generously donate
his spare time for Motif/Xt developments, and Greg Whitehead is looking into the Mac version of 2.0.
<li>Guilhem Lavaux has contributed a first version of
<a href="ftp://www.remstar.com/pub/wxwin/contrib/wxsocket">wxSocket</a>, a set of classes for
network programming based on work by Andrew Davison. Currently this works on Motif/Xt and is coded but not yet tested
for Windows. The wxIPC classes on the UNIX side have been rewritten to take advantage of the new
classes. wxSocket is a great contribution that will be a part of wxWindows 2.0. Meanwhile, do check
it out and help Guilhem debug and develop it further.
<li>Other noteworthy contributions in recent weeks include a patch for using bitmap
<a href="ftp://www.remstar.com/pub/wxwin/contrib/unixmask">masks</a> on X for transparency
effects - another Lavaux effort! - plus <a href="ftp://www.remstar.com/pub/wxwin/contrib/wxthread">thread</a> classes
by Wolfram Gloger, updates to <a href="ftp://www.remstar.com/pub/wxwin/ports/xt">wxXt</a> by Markus Holzem,
a start at <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/wxole">OLE control</a> support by Norbert Grotz,
an improved <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/winstmod">Winstall</a> by Stefan Hammes,
and <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/wxpref">wxPreferences</a> by Bart Jourquin
to simulate .ini files on UNIX.<P>
Check out the <A href="contrib2.htm">Contributions</a> page for more.
</ul>
<P>
<H3>May 8th 1997</H3><P>
<ul>
<li>Hitachi Europe Limited have used wxWindows both to implement and to illustrate
their WebReuser tool - a link to <a href="http://www.stablesoft.com">their pages</a> has been
added to the <a href="apps.htm">Applications</a> page.
<li>Another interesting link in the Applications page is
<a href="http://www.softwarebuero.de/wipeout-eng.html">WipeOut</a>, a C++ integrated development
environment for Linux.
<li>Fixes to make wxWindows 1.66F work with VC++ 5.0 are in the
<A href="ftp://www.remstar.com/pub/wxwin/ports/msvc50">ports/msvc50</a>
directory.
</ul>
<P>
<H3>April 20th 1997</H3><P>
<ul>
<li>wxWindows is listed in the <a href="http://SAL.KachinaTech.COM/">Scientific Applications on Linux</a> index</a>,
<a href="http://SAL.KachinaTech.COM/F/5/WXWINDOWS.html">here</a>.
<li>There is a new page for <a href="issues.htm">issues with the current release</a> which I would
encourage you to read.
<li>The wxWindows Web pages can be switched to non-frames mode, for those who find frames irritating
(and who use browsers that don't implement Back properly :-)).
<li>The <A href="contrib.htm">Contrib</a> page has some new entries.
<li>wxWindows 2.0 progress is steady.
<li><a href="mailto:grw@market.net">Greg Whitehead</a> is taking a look at what's involved for a Mac port of 2.0, possibly using MetroWerks' PowerPlant
classes to speed up development.
</ul>
<P>
<H3>March 13th 1997</H3><P>
<ul>
<li>Check out C-LAB's <a href="http://www.c-lab.de/~lipuser/lip" TARGET=_top>Lean Integration Platform</a> written in wxWindows/wxLisp: it's
a multi-platform workflow tool. Nice Web pages!
<li>I've written some <a href="prepare.htm">tips</a> to help you code for easy porting to wxWindows 2.0.
<li>wxWin 2.0 progress: I've eliminated the need for the dreaded CTL3D library for Windows 95 applications.
New MDI classes are working, plus wxStatusBar, wxScrolledWindow. Markus is starting work on the Motif
port, with wxXt 2.0 as a second priority. But <a href="sponsors.htm">financial help</a> to keep
the momentum going is needed!
</ul>
<P>
<H3>February 25th 1997</H3><P>
<ul>
<li>Yura Bidus (yari_b@automedi.com) has successfully adapted wxWindows 1.66B to compile as a DLL under
Borland C++. He will be patching 1.66F and investigating using VC++ for building the DLL.
<li>Early experiments indicate that application files using wxWindows 2.0
and GNU-WIN32 will be at least twice as fast to compile as 1.66, due to elimination of base classes
and restructuring to avoid including windows.h.
</ul>
<P>
<H3>January 29th 1997</H3><P>
<ul>
<li><a href="ftp://www.remstar.com/pub/wxwin/1.66F_internal">wxWindows 1.66F</a> has been semi-released
for people to test before the official release. It works with GNU-WIN32, and contains miscellaneous bug fixes.
<li>ITA, Inc. have sent a debugged and
enhanced <a href="ftp://www.remstar.com/pub/wxwin/ports/mac/ita">Mac port</a> (building on 1.61).
<li>Markus Holzem and Julian Smart are designing wxWindows 2.0, which should make wxWindows into a force
to be reckoned with against other free and commercial libraries. The <a href="coming.htm">What's coming next?</a>
page will shortly contain more details.
<li>The <a href="maillist.htm">mailing lists</a> are up and running again, with new subscription and discussion
list addresses.
</ul>
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,209 +0,0 @@
<html>
<head>
<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>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" VLINK="#00376A" LINK="#00529C" ALINK="#313063">
<font face="Arial, Lucida Sans, Helvetica">
<table align=center width=100% border=0 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#004080" align=left height=24 background="images/bluetitlegradient.gif">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
<b>Supported Platforms</b>
</font>
</td>
</tr>
</table>
</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 always mean that the platform is not supported, but may just
wxWindows hasn&#39;t been tested on it recently (the table is being updated for
wxWindows 2.5.1 currently).
<p>
See also:
<ul>
<li><A HREF="http://www.lpthe.jussieu.fr/~zeitlin/wxWindows/daily/">daily rebuilds page</A> for some of the platforms mentioned below;
<li>the list of <a href="supported.htm">support classes</a> in each platform;
<li>the <a href="embedded.htm">wxEmbedded page</a> which describes embedded platforms supported
or in progress.
</ul>
<p>
If you have tested wxWindows on a platform not mentioned here, please tell us about your experience on our mailing list!
We would especially like to have information about compiling wxGTK on other Unix variants, such as IRIX, DG-UX,
other flavours of BSD, ... Please note that you will generally need GNU make
(also known as <tt>gmake</tt>) to compile wxWindows, native make programs
often don&#39;t work.
<p>
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#004080" colspan=5> <font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF"> wxWindows 2 Platforms </font> </td>
</tr>
<tr bgcolor="#dedede">
<td align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Platform </font> </td>
<td align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Compiler </font> </td>
<td align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Status </font> </td>
<td align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Tested by </font> </td>
<td align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Remarks </font> </td>
</tr>
<tr>
<td align=center valign=center rowspan=8>Win32<br>(Win 9x/NT/2K)</td>
<td>Visual C++ 4.2/5.x/6.0</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ, JS</td><td>Project files are provided for all versions except 4.2</td>
<tr> <td>Borland C++ 5.0</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td><br></td><td>Also works with free command line Borland C++ 5.5</td>
<tr> <td>Mingw32</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>GRG, VZ</td><td>Cross compilation from Linux works as well<br>
Version 2.95.2 recommended, otherwise some (included) patches must be applied<br>
Memory debugging code doesn&#39;t seem to work well</td>
<tr> <td>Cygwin</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Stephane Junique<br>Andrea Venturoli</td><td>tested under NT 4, cross-compiling for mingw also works</td>
<tr> <td>Watcom C++ 10</td><td align=center><IMG SRC="images/somewhat.gif" ALT=Almost></td><td>JS</td><td>Tested with 10.6: works, but wxImage seems to be broken<br>no support for JPEG, TIFF or OpenGL</td>
<tr> <td>Watcom C++ 11</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Markus Neifer</td><td>Tested with 11.0b under win95</td>
<tr> <td>Open Watcom 1.0</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Chris Elliott</td><td>Tested with 1.0 under W2K(?)</td>
<tr> <td>Digital Mars (was Symantec C++)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Chris Elliott</td><td>Tested with 8.34beta</td>
</tr>
<tr bgcolor="#f0f0f0">
<td align=center valign=center>Win64<br>(Windows XP/2003)</td>
<td>Visual C++ 7.1</td><td align=center><img src="images/no.gif" alt=No></td><td>&nbsp;</td><td>Some minor corrections not done yet but will be in time for 2.6.0...</td>
</tr>
<tr>
<td align=center valign=center rowspan=2>Win16<br>(Windows 3.1)</td>
<td>Visual C++ 1.52</td><td align=center><IMG SRC="images/somewhat.gif" ALT=Ok></td><td><br></td>
<td rowspan=2 valign=center>Some features are missing (OLE related classes, threads, ...)<br>
Borland C++ can&#39;t cope with ODBC, resources and new wxGrid class.<br>
<b>Last working version is wxWindows 2.2.7,
support for Win16 has been abandoned in 2.4.x.
and all traces of Win16 code were removed
after cvs BEFORE_WIN16_REMOVAL tag</b></td>
<tr> <td>Borland C++ 4.0/5.0</td><td align=center><IMG SRC="images/somewhat.gif" ALT=Ok></td><td>JS</td>
</tr>
<tr bgcolor="#f0f0f0">
<td align=center valign=center rowspan=4>Linux x86</td>
<td>wxGTK with gcc 2.7.2</td><td align=center><IMG SRC="images/no.gif" ALT=Unknown></td><td><br></td><td>Might work, but nobody uses it any more</td>
<tr bgcolor="#f0f0f0"> <td>wxGTK with gcc 2.95--3.3</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ, RR</td><td><br></td>
<tr bgcolor="#f0f0f0"> <td>wxMotif</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td><br></td><td>with <a href="http://www.lesstif.org">LessTif</a> 0.87</td>
<tr bgcolor="#f0f0f0"> <td>wxMotif</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" align=center colspan=5> All BSD systems tests are for wxGTK using gcc. </td>
<tr>
<td align=center valign=center rowspan=1>FreeBSD</td>
<td>all versions between 3.2 and 5.1 x86</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ</td><td><br></td>
</tr>
<tr>
<td 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 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 bgcolor="#f0f0f0">
<td align=center valign=center rowspan=6>Solaris</td>
<td>wxMotif with Sun CC 4.2</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ</td><td>Thread support must be disabled on system with not MT-safe X11</td>
<tr bgcolor="#f0f0f0"> <td>wxMotif with gcc</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td><br></td><td><br></td>
<tr bgcolor="#f0f0f0"> <td>wxGTK with Sun CC 4.2</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>&nbsp;</td><td><br></td>
<tr bgcolor="#f0f0f0"> <td>wxGTK with gcc</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td><br></td><td><br></td>
<tr bgcolor="#f0f0f0"> <td>wxGTK with Sun CC 5.0 and 6.1 (Solaris 7 and 8)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Jiri Mracek</td><td>You have to edit line 2079 in glib.h to fix GTK+ error</td>
<tr bgcolor="#f0f0f0"> <td>wxGTK 2.5.1 with Sun CC 6.2 (Solaris 6 and 8)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Carl Godkin</td><td>Using GNU make</td>
</tr>
<tr>
<td align=center valign=center rowspan=4>AIX</td>
<td>wxGTK 2.2.9 with gcc 3.0.4</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Ian Brown</td><td>Shared library building doesn&#39;t work, use <tt>--disable-shared</tt></td>
<tr> <td>wxGTK 2.3.3 with xlC (AIX 4.3.2)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Irvin Probst</td><td>Both static and shared wxGTK libraries work, but only with static GTK+ and GLib</td>
<tr> <td>wxMotif with xlC 3.1.4.0 (AIX 4.2)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td>
<td>Bernhard Eck</td>
<td>Some problems with OpenGL and native X server</td>
<tr> <td>wxX11 2.4.2 with xlC 6 (AIX 5.1)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Swengtoo</td><td>In 2.4.2 you need to remove parentheses from the configure line containing AIX_CXX_LD; you should also use GNU make</td>
</tr>
<tr bgcolor="#f0f0f0">
<td align=center valign=center rowspan=5>HP-UX</td>
<tr bgcolor="#f0f0f0">
<td>HP-UX 10.20 wxGTK with HP CC A.10.22<br>or HP aCC B3910B A.01.18</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Staf Verhaegen</td>
<td>you need to add <tt>-Aa -D_HPUX_SOURCE</tt> to <tt>CFLAGS</tt></td>
<tr bgcolor="#f0f0f0"> <td>HP-UX 10.20 wxGTK with gcc</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Julian Albo Garcia</td><td><br></td>
<tr bgcolor="#f0f0f0"> <td>HP-UX 11i v1 PA-RISC, wxMotif 2.5.4, tried aCC A.03.57 and g++ 3.4.2</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Ian, Mike</td>
<td>For a 32-bit PA-RISC build, if you want to use <tt>SHLIB_PATH</tt> to make it easier to use
wxWidgets without installing it, then add <tt>LDFLAGS=-Wl,+s</tt><br>
If you want to compile the test suite then aCC A.03.57 requires <tt>CXX='aCC -AA'</tt><br>
aCC can also be used as the C compiler instead of cc by adding <tt>CC='aCC -Ae'</tt>
</td>
<tr bgcolor="#f0f0f0"> <td>HP-UX 11i v2 IA64, wxMotif 2.5.4, aCC A.06.00</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Mike</td><td><br></td>
</tr>
<tr>
<td align=center valign=center rowspan=6>IRIX</td>
<tr> <td bgcolor="#fafafa" colspan=5>
Note that all entries use MIPSPro 7.3 compiler on IRIX 6.5 with <tt>-mips3 -n32</tt> flags if not mentioned otherwise.
Also note that you need to set <tt>LD_LIBRARYN32_PATH</tt> under IRIX to run wxWindows programs.
</td>
<tr> <td>wxGTK 2.2</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Ian</td><td>You may need to use <tt>--disable-catch_segvs</tt> if you get compiler error in utilsunx.cpp</td>
<tr> <td>wxGTK 2.5</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Carl Godkin</td><td><br></td>
<tr> <td rowspan=2>wxMotif</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>David Marshall</td><td>On IRIX 6.5.6 (Indigo2, 64bit), with SGI Motif 1.2</td>
<tr> <td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Ian</td><td><br></td>
</tr>
<tr bgcolor="#f0f0f0">
<td align=center valign=center rowspan=1>SCO UnixWare</td>
<td>wxGTK with gcc</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>William Suetholz</td><td>UnixWare 2.1.3 with UnixWare 7 compatibility PTF</td>
</tr>
<tr>
<td align=center valign=center rowspan=1>DEC OSF/1</td>
<td>wxGTK with gcc</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Fabrice Didierjean</td><td>OSF1 4.0 on Dec Alpha<br>
you may need to run configure with <tt>--host=alpha-dec-osf switch</tt></td>
</tr>
<tr bgcolor="#f0f0f0">
<td align=center valign=center>OS/2</td>
<td><br></td><td align=center><IMG SRC="images/no.gif" ALT=No></td><td><br></td><td>Starting with wxWidgets-2.9.0, wxWidgets supports Unicode builds only. Unfortunately, Unicode support is currently insufficient in all C libraries on OS/2, so only wxWidgets-2.8.x can be used.</td>
</tr>
<tr>
<td align=center valign=center rowspan=1>OpenVMS</td>
<td>wxGTK with Compaq-C++ V6.2 (OpenVMS Alpha 7.3)</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>Jouk Jansen</td><td><br></td>
</tr>
<tr bgcolor="#f0f0f0">
<td align=center valign=center rowspan=1>Linux S/390</td>
<td>wxGTK with gcc 2.95.2</td><td align=center><IMG SRC="images/yes.gif" ALT=Ok></td><td>VZ</td><td>2.3.1+ only</td>
</tr>
<tr>
<td align=center valign=center rowspan=4>Mac OS</td>
<tr><td>wxMac CFM (OS 8.6+)</td><td align=center><img src="images/yes.gif" alt=Ok></td><td>SC</td><td>with Metrowerks CodeWarrior 8.3</td></tr>
<tr><td>wxMac Mach-O (OS X)</td><td align=center><img src="images/yes.gif" alt=Ok></td><td>SC</td><td>CodeWarrior or Apple DevTools (gcc)</td></tr>
<tr><td>wxCocoa (OS X)</td><td align=center><img src="images/somewhat.gif" alt="Somewhat"></td><td>DE</td><td>Apple DevTools (gcc)</td></tr>
</tr>
</table>
<br>
<hr>
Contact <A HREF="mailto:zeitlin@dptmaths.ens-cachan.fr">Vadim Zeitlin</A> with
any comments/suggestions.
</font>
</body>
</html>
<!-- vi: set tw=0: !-->