distrib/msw/tardist
distrib/gtk/*
+locale/*.po
+locale/*.mo
+
docs/readme.txt
docs/install.txt
docs/release.txt
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).
+a free Motif clone. (Note from Julian Smart - I use the Linux version of MetroLink Motif 1.2.4).
<P>
The following classes are not likely to be implemented because there is no sensible
equivalent on Motif: wxMiniFrame, wxTaskBar.<P>
-wxNotebook works for smaller dialogs (see notebook sample) but has some problems
-with a more complex situation (see the controls sample: initial resizing is very apparent).
-<P>
-
These features are not yet implemented:<P>
<ul>
-<li>Clipboard and drag and drop support are currently under development. Motif clipboard support
-should work, but currently for text only.
+<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>OnEraseBackground.
-<li>OnPaint optimization and backing pixmap.
-<li>A help system (please use wxHelpController and Netscape instead).
+<li>A help system (please use wxHelpController and Netscape instead). An HTML widget and help
+system is in preparation.
</ul>
<p>
<h3>Which Windows platforms are supported?</h3>
-wxWindows can be used to develop and deliver applications on Windows 3.1, Win32s,
+wxWindows 2 can be used to develop and deliver applications on Windows 3.1, Win32s,
Windows 95, Windows 98, and Windows NT. A Windows CE version is being looked into (see below).<P>
wxWindows 2 is designed to make use of WIN32 features and controls. However, unlike Microsoft,
we have not forgotten users of 16-bit Windows. Most features
work under Windows 3.1, including wxTreeCtrl and wxListCtrl using the generic implementation.
-However, don't expect very Windows-specific classes to work, such as wxTaskBarIcon. The wxRegConfig
+However, don't expect very Windows-95-specific classes to work, such as wxTaskBarIcon. The wxRegConfig
class doesn't work either because the Windows 3.1 registry is very simplistic. Check out the 16-bit
makefiles to see what other files have been left out.
<P>
<h3>Is Unicode supported?</h3>
-No, although there are other internationalisation features.<P>
+Not yet, although there are other internationalisation features.<P>
However, the issues surrounding Unicode support have been looked into so we know
what we need to do, and have some header files ready to use containing appropriate
type definitions. Just about every file in wxWindows will need changes, due to the
pervasive nature of characters and character arrays. Unicode support is needed
-for the port to Windows CE (see above).<P>
+for the port to Windows CE (see above), and will probably be added in time for version 2.1.<P>
<h3>Can you compile wxWindows 2 as a DLL?</h3>
<H3>How can I reduce executable size?</H3>
You can compile wxWindows 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.<P>
+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>
Statically-linked wxWindows 2 programs are smaller than wxWindows 1.xx programs, because of the way
wxWindows 2 has been designed to reduce dependencies between classes, and other
will shrink to a mere 250KB. With this sort of size, there is reduced incentive to
use DLLs.<P>
-
-<H3>Will wxWindows be compatible with MFC?</H3>
+<H3>Is wxWindows compatible with MFC?</H3>
There is a sample which demonstrates MFC and wxWindows code co-existing in the same
application. However, don't expect to be able to enable wxWindows windows with OLE-2
wx200msw.zip Windows-specific source code
wx200mot.zip Motif-specific source code
wx200gtk.zip GTK-specific source code
+wx200stubs.zip Stubs ('empty port') source. Needs
+ wx200gen.zip/wxgen.tgz.
wx200doc.zip Documentation source code (not required)
wx200hlp.zip WinHelp documentation
wx200pdf.zip Acrobat PDF documentation
wx200bc.zip Borland C++ 5 project files
wx200cw.zip Metrowerks CodeWarrior 4.1 project files
+The tarred, gzip archive comprises the following (or similar
+names). Not all of these files are available in all distributions, due
+to space restrictions.
+
+wxgtk.tgz All wxGTK source and samples
+wxmotif.tgz All wxMotif source and samples
+wxstubs.tgz Stubs ('empty port') source. Needs
+ wx200gen.zip/wxgen.tgz.
+wxgen.tgz Generic code and samples (common to all ports)
+wxpdf.tgz Acrobat PDF documentation
+wxhtml.tgz HTML documentation
+wxdocsrc.tgz Documentation source
+
Installation
------------
virtual wxWindow *CreateAbortWindow(wxWindow *parent, wxPrintout *printout);
virtual void ReportError(wxWindow *parent, wxPrintout *printout, char *message);
- inline wxPrintData& GetPrintData() { return m_printData; };
- inline bool GetAbort() { return sm_abortIt; }
+ inline wxPrintData& GetPrintData() const { return (wxPrintData&) m_printData; };
+ inline bool GetAbort() const { return sm_abortIt; }
///////////////////////////////////////////////////////////////////////////
// OVERRIDES
virtual bool OnPrintPage(int page) = 0;
virtual void GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
- inline virtual wxString GetTitle() { return m_printoutTitle; }
+ inline virtual wxString GetTitle() const { return m_printoutTitle; }
- inline wxDC *GetDC() { return m_printoutDC; }
+ inline wxDC *GetDC() const { return m_printoutDC; }
inline void SetDC(wxDC *dc) { m_printoutDC = dc; }
inline void SetPageSizePixels(int w, int h) { m_pageWidthPixels = w; m_pageHeightPixels = h; }
- inline void GetPageSizePixels(int *w, int *h) { *w = m_pageWidthPixels; *h = m_pageHeightPixels; }
+ inline void GetPageSizePixels(int *w, int *h) const { *w = m_pageWidthPixels; *h = m_pageHeightPixels; }
inline void SetPageSizeMM(int w, int h) { m_pageWidthMM = w; m_pageHeightMM = h; }
- inline void GetPageSizeMM(int *w, int *h) { *w = m_pageWidthMM; *h = m_pageHeightMM; }
+ inline void GetPageSizeMM(int *w, int *h) const { *w = m_pageWidthMM; *h = m_pageHeightMM; }
inline void SetPPIScreen(int x, int y) { m_PPIScreenX = x; m_PPIScreenY = y; }
- inline void GetPPIScreen(int *x, int *y) { *x = m_PPIScreenX; *y = m_PPIScreenY; }
+ inline void GetPPIScreen(int *x, int *y) const { *x = m_PPIScreenX; *y = m_PPIScreenY; }
inline void SetPPIPrinter(int x, int y) { m_PPIPrinterX = x; m_PPIPrinterY = y; }
- inline void GetPPIPrinter(int *x, int *y) { *x = m_PPIPrinterX; *y = m_PPIPrinterY; }
+ inline void GetPPIPrinter(int *x, int *y) const { *x = m_PPIPrinterX; *y = m_PPIPrinterY; }
- inline virtual bool IsPreview() { return m_isPreview; }
+ inline virtual bool IsPreview() const { return m_isPreview; }
inline virtual void SetIsPreview(bool p) { m_isPreview = p; }
MyCanvas *myCanvas = (MyCanvas *) NULL;
-// A macro needed for some compilers (AIX) that need 'main' to be defined
-// in the application itself.
-IMPLEMENT_WXWIN_MAIN
-
// `Main program' equivalent, creating windows and returning main app frame
bool MyApp::OnInit(void)
{
#include "test.h"
-// A macro needed for some compilers (AIX) that need 'main' to be defined
-// in the application itself.
-IMPLEMENT_WXWIN_MAIN
-
IMPLEMENT_APP(MyApp)
wxPropertyValidatorRegistry myListValidatorRegistry;
menu_bar->Append(tree_menu, "&Tree");
SetMenuBar(menu_bar);
- // Make a panel with a message
m_treeCtrl = new MyTreeCtrl(this, TreeTest_Ctrl,
wxDefaultPosition, wxDefaultSize,
wxTR_HAS_BUTTONS | wxSUNKEN_BORDER);
wxHelpController *HelpController = NULL;
-// A macro needed for some compilers (AIX) that need 'main' to be defined
-// in the application itself.
-IMPLEMENT_WXWIN_MAIN
-
IMPLEMENT_APP(MyApp)
MainWindow *TheMainWindow = NULL;
of.lpstrFileTitle = titleBuffer;
of.nMaxFileTitle = MAXFILE + 1 + MAXEXT; // Windows 3.0 and 3.1
+ // Convert forward slashes to backslashes (file selector doesn't like
+ // forward slashes)
+ size_t i = 0;
+ size_t len = m_dir.Length();
+ for (i = 0; i < len; i++)
+ if (m_dir[i] == '/')
+ m_dir[i] = '\\';
+
of.lpstrInitialDir = (const char *) m_dir;
of.Flags = msw_flags;
-
//=== Like Alejandro Sierra's wildcard modification >>===================
/*
In wxFileSelector you can put, instead of a single wild_card,
filterBuffer += "|";
// Replace | with \0
- for ( unsigned int i = 0; i < filterBuffer.Len(); i++ ) {
+ for (i = 0; i < filterBuffer.Len(); i++ ) {
if ( filterBuffer.GetChar(i) == '|' ) {
filterBuffer[i] = '\0';
}