src/makeprog.wat
src/makesc.env
src/makeg95.env
-src/makem95.env
+src/makesl.env
+src/makeprog.sl
src/ntwxwin.mak
src/makefile.bcc
src/makefile.dos
--- /dev/null
+<HTML>
+
+<HEAD>
+<TITLE>wxWindows 2 FAQ</TITLE>
+</HEAD>
+
+<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
+
+<font face="Arial, Lucida Sans, Helvetica">
+
+<table width=100% border=4 cellpadding=5 cellspacing=0>
+<tr>
+<td bgcolor="#660000">
+<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
+wxWindows 2 FAQ
+</font>
+</td>
+</tr>
+</table>
+
+<P>
+
+Welcome to the wxWindows FAQ. Please select a category:<P>
+
+<ul>
+<li><a href="faqgen.htm">General questions</a>
+<li><a href="faqgtk.htm">wxWindows 2 for GTK</a>
+<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
+<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
+<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
+</ul>
+
+<P>
+
+For further information, please see the <a href="http://wxwin.home.ml.org" target=_top>wxWindows Web site</a>,
+plus install.txt (per port), todo.txt (per port), and bugs.txt (all ports).
+<P>
+
+</font>
+
+</BODY>
+
+</HTML>
--- /dev/null
+<HTML>
+
+<HEAD>
+<TITLE>wxWindows 2 FAQ: General</TITLE>
+</HEAD>
+
+<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
+
+<font face="Arial, Lucida Sans, Helvetica">
+
+<table width=100% border=4 cellpadding=5 cellspacing=0>
+<tr>
+<td bgcolor="#660000">
+<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
+wxWindows 2 FAQ: General
+</font>
+</td>
+</tr>
+</table>
+
+<P>
+
+See also <a href="faq.htm">top-level FAQ page</a>.
+<hr>
+
+<H3><a name="whatis">What is wxWindows?</a></H3>
+
+wxWindows is a class library that allows you to compile graphical C++ programs on a range of
+different platforms. wxWindows 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 'look and feel' that users are familiar with.<P>
+
+Although GUI applications are mostly built programmatically, there is a dialog editor to help
+build attractive dialogs and panels.<P>
+
+You don't have to use C++ to use wxWindows: wxWindows 1 has been interfaced to several interpreted languages,
+such as CLIPS, Python, Scheme, XLisp and Perl, and there is a Python interface for wxWindows 2.
+<P>
+
+<h3>Can I use wxWindows 2 for both proprietary (commercial) projects, and GPL'ed projects?</h3>
+
+Yes. Please see the <a href="newlicen.htm">licence</a> for details, but basically
+you can distribute proprietary binaries without distributing any source code, and neither will wxWindows
+conflict with GPL code you may be using or developing with it.
+<P>
+The conditions for using wxWindows 2 are the same whether you are a personal, academic
+or commercial developer.
+<P>
+
+<h3>Is there support?</h3>
+
+No official support, but the mailing list is very helpful and some people say that
+wxWindows support is better than for much commercial software. The developers are
+keen to fix bugs as soon as possible, though obviously there are no guarantees.
+<P>
+
+<H3><a name="users">Who uses wxWindows?</a></H3>
+
+Many organisations - commercial, government, and academic - across the
+world. It's impossible to estimate the true number of users, since
+wxWindows 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>
+
+</font>
+
+</BODY>
+
+</HTML>
--- /dev/null
+<HTML>
+
+<HEAD>
+<TITLE>wxWindows 2 for GTK FAQ</TITLE>
+</HEAD>
+
+<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
+
+<font face="Arial, Lucida Sans, Helvetica">
+
+<table width=100% border=4 cellpadding=5 cellspacing=0>
+<tr>
+<td bgcolor="#660000">
+<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
+wxWindows 2 for GTK FAQ
+</font>
+</td>
+</tr>
+</table>
+
+<P>
+
+See also <a href="faq.htm">top-level FAQ page</a>.
+<hr>
+
+<h3>What is wxWindows 2 for GTK?</h3>
+
+wxWindows 2 for GTK is a port of wxWindows 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. wxWindows 2 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>Does wxGTK have GNOME support?</h3>
+
+Currently wxGTK does not have any features that would involve dependence on any desktop
+environment'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>
+
+
+</font>
+
+</BODY>
+
+</HTML>
--- /dev/null
+<HTML>
+
+<HEAD>
+<TITLE>wxWindows 2 for Mac FAQ</TITLE>
+</HEAD>
+
+<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
+
+<font face="Arial, Lucida Sans, Helvetica">
+
+<table width=100% border=4 cellpadding=5 cellspacing=0>
+<tr>
+<td bgcolor="#660000">
+<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
+wxWindows 2 for Mac FAQ
+</font>
+</td>
+</tr>
+</table>
+
+<P>
+
+See also <a href="faq.htm">top-level FAQ page</a>.
+<hr>
+
+<h3>When is wxMac 2 due to be released?</h3>
+
+There is a <a href="http://wxwin.home.ml.org/wxwin/dl_mac2.htm">preview</a> available.
+A beta release can be expected by early Q2 1999. The author of this port
+is Stefan Csomor (csomor@advancedconcepts.ch).
+<P>
+
+</font>
+
+</BODY>
+
+</HTML>
--- /dev/null
+<HTML>
+
+<HEAD>
+<TITLE>wxWindows 2 for Motif FAQ</TITLE>
+</HEAD>
+
+<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
+
+<font face="Arial, Lucida Sans, Helvetica">
+
+<table width=100% border=4 cellpadding=5 cellspacing=0>
+<tr>
+<td bgcolor="#660000">
+<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
+wxWindows 2 for Motif FAQ
+</font>
+</td>
+</tr>
+</table>
+
+<P>
+
+See also <a href="faq.htm">top-level FAQ page</a>.
+<hr>
+
+<h3>What version of Motif do I need?</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).
+
+<P>
+
+<h3>What features are missing or partially implemented?</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>
+
+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>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).
+</ul>
+
+<p>
+
+<h3>Does Dialog Editor work with wxWindows for Motif?</h3>
+
+Suport for Dialog Editor is almost there, but there are some wrinkles to iron
+out. You may find it's useful though: compile it and see.
+<P>
+
+<h3>How do I switch between debugging and release compilation modes?</h3>
+
+Unfortunately the makefile system doesn't currently allow you to compile
+for both simultaneously: you need
+to recompile wxWindows and your application having adjusted make.env. However,
+you could rename the binary and release library archives, and adjust your makefiles
+to use the appropriate one (or change a symbolic link).
+<P>
+
+<h3>Why are windows are not refreshed properly until I resize them?</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>
+#ifdef __WXMOTIF__
+ wxNoOptimize noOptimize;
+ window->SetSize(-1, -1, w, h);
+#endif
+</PRE>
+<P>
+
+
+</font>
+
+</BODY>
+
+</HTML>
--- /dev/null
+<HTML>
+
+<HEAD>
+<TITLE>wxWindows 2 for Windows FAQ</TITLE>
+</HEAD>
+
+<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
+
+<font face="Arial, Lucida Sans, Helvetica">
+
+<table width=100% border=4 cellpadding=5 cellspacing=0>
+<tr>
+<td bgcolor="#660000">
+<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
+wxWindows 2 for Windows FAQ
+</font>
+</td>
+</tr>
+</table>
+
+<P>
+
+See also <a href="faq.htm">top-level FAQ page</a>.
+<hr>
+
+<h3>Is Windows 3.1 supported?</h3>
+
+Yes! 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 Windows 95-specific classes to work, such as wxTaskBar. 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>
+16-bit compilation is supported under Visual C++ 1.5, and Borland BC++ 4 to 5.
+<P>
+
+<h3>What compilers are supported?</h3>
+
+Please see the wxWindows 2 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
+<li>Borland C++ 4.5, 5.0
+<li>Borland C++Builder 1.0, 3.0
+<li>Watcom C++ 10.6 (WIN32)
+<li>Cygwin b20
+<li>Mingw32
+<li>MetroWerks CodeWarrior 4
+</ul>
+<P>
+
+There is a linking problem with Symantec C++ which I hope someone can help solve.
+<P>
+
+<h3>Which is the best compiler to use with wxWindows 2?</h3>
+
+It's partly a matter of taste, but I (JACS) prefer Visual C++ since the debugger is very
+good, it's very stable, the documentation is extensive, and it generates small executables.
+Since project files are plain text, it's easy for me to generate appropriate project files
+for wxWindows samples.<P>
+
+Borland C++ is fine - and very fast - but it's hard (impossible?) to use the debugger without using project files, and
+the debugger is nowhere near up to VC++'s quality. The IDE isn't great.<P>
+
+C++Builder's power isn't really used with wxWindows since it needs integration with its
+own class library (VCL). For wxWindows, I've only used it with makefiles, in which case
+it's almost identical to BC++ 5.0 (the same makefiles can be used).<P>
+
+You can't beat Cygwin's price (free), and you can debug adequately using gdb. However, it'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's standards.<P>
+
+<h3>Is Unicode supported?</h3>
+
+No, 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 below).<P>
+
+<h3>What about Windows CE?</h3>
+
+This is under consideration, though we need to get wxWindows Unicode-aware first.
+There are other interesting issues, such as how to combine the menubar and toolbar APIs
+as Windows CE requires.<P>
+
+
+</font>
+
+</BODY>
+
+</HTML>
<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="faqgtk.htm">wxWindows 2 for GTK</a>
+ <li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
+ <li><a href="faqmot.htm">wxWindows 2 for Motif</a>
+ <li><a href="faqmac.htm">wxWindows 2 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>,
\section{\class{wxTime}}\label{wxtime}
-A class for manipulating times.
-
-TODO.
+Representation of time and date.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
+\wxheading{Data structures}
+
+{\small \begin{verbatim}
+typedef unsigned short hourTy;
+\end{verbatim}}
+
+{\small \begin{verbatim}
+typedef unsigned short minuteTy;
+\end{verbatim}}
+
+{\small \begin{verbatim}
+typedef unsigned short secondTy;
+\end{verbatim}}
+
+{\small \begin{verbatim}
+typedef unsigned long clockTy;
+\end{verbatim}}
+
+{\small \begin{verbatim}
+enum tFormat { wx12h, wx24h };
+\end{verbatim}}
+
+{\small \begin{verbatim}
+enum tPrecision { wxStdMinSec, wxStdMin };
+\end{verbatim}}
+
\wxheading{See also}
\helpref{wxDate}{wxDate}
\latexignore{\rtfignore{\wxheading{Members}}}
+\membersection{wxTime::wxTime}\label{wxtimewxtime}
+
+\func{}{wxTime}{\void}
+
+Initialize the object using the current time.
+
+\func{}{wxTime}{\param{clockTy }{s}}
+
+Initialize the object using the number of seconds that have elapsed since ???.
+
+\func{}{wxTime}{\param{const wxTime\&}{ time}}
+
+Copy constructor.
+
+\func{}{wxTime}{\param{hourTy }{h}, \param{minuteTy }{m}, \param{secondTy }{s = 0}, \param{bool }{dst = FALSE}}
+
+Initialize using hours, minutes, seconds, and whether DST time.
+
+\membersection{wxTime::wxTime}\label{wxtimewxtime}
+
+\func{}{wxTime}{\param{const wxDate\&}{ date}, \param{hourTy }{h = 0}, \param{minuteTy }{m = 0}, \param{secondTy }{s = 0}, \param{bool }{dst = FALSE}}
+
+Initialize using a \helpref{wxDate}{wxdate} object, hours, minutes, seconds, and whether DST time.
+
+\membersection{wxTime::GetDay}\label{wxtimegetday}
+
+\constfunc{int}{GetDay}{\void}
+
+Returns the day of the month.
+
+\membersection{wxTime::GetDayOfWeek}\label{wxtimegetdatofweek}
+
+\constfunc{int}{GetDayOfWeek}{\void}
+
+Returns the day of the week, a number from 0 to 6 where 0 is Sunday and 6 is Saturday.
+
+\membersection{wxTime::GetHour}\label{wxtimegethour}
+
+\constfunc{hourTy}{GetHour}{\void}
+
+Returns the hour in local time.
+
+\membersection{wxTime::GetHourGMT}\label{wxtimegethourgmt}
+
+\constfunc{hourTy}{GetHourGMT}{\void}
+
+Returns the hour in GMT.
+
+\membersection{wxTime::GetMinute}\label{wxtimegetminute}
+
+\constfunc{minuteTy}{GetMinute}{\void}
+
+Returns the minute in local time.
+
+\membersection{wxTime::GetMinuteGMT}\label{wxtimegetminutegmt}
+
+\constfunc{minuteTy}{GetMinuteGMT}{\void}
+
+Returns the minute in GMT.
+
+\membersection{wxTime::GetMonth}\label{wxtimegetmonth}
+
+\constfunc{int}{GetMonth}{\void}
+
+Returns the month.
+
+\membersection{wxTime::GetSecond}\label{wxtimegetsecond}
+
+\constfunc{secondTy}{GetSecond}{\void}
+
+Returns the second in local time or GMT.
+
+\membersection{wxTime::GetSecondGMT}\label{wxtimegetsecondgmt}
+
+\constfunc{secondTy}{GetSecondGMT}{\void}
+
+Returns the second in GMT.
+
+\membersection{wxTime::GetSeconds}\label{wxtimegetseconds}
+
+\constfunc{clockTy}{GetSeconds}{\void}
+
+Returns the number of seconds since ???.
+
+\membersection{wxTime::GetYear}\label{wxtimegetyear}
+
+\constfunc{int}{GetYear}{\void}
+
+Returns the year.
+
+\membersection{wxTime::FormatTime}\label{wxtimeformattime}
+
+\constfunc{char*}{FormatTime}{\void}
+
+Formats the time according to the current formatting options: see \helpref{wxTime::SetFormat}{wxtimesetformat}.
+
+\membersection{wxTime::IsBetween}\label{wxtimeisbetween}
+
+\constfunc{bool}{IsBetween}{\param{const wxTime\& }{a}, \param{const wxTime\& }{b}}
+
+Returns TRUE if this time is between the two given times.
+
+\membersection{wxTime::Max}\label{wxtimemax}
+
+\constfunc{wxTime}{Max}{\param{const wxTime\& }{time}}
+
+Returns the maximum of the two times.
+
+\membersection{wxTime::Min}\label{wxtimemin}
+
+\constfunc{wxTime}{Min}{\param{const wxTime\& }{time}}
+
+Returns the minimum of the two times.
+
+\membersection{wxTime::SetFormat}\label{wxtimesetformat}
+
+\func{static void}{SetFormat}{\param{const tFormat}{ format = wx12h},
+ \param{const tPrecision}{ precision = wxStdMinSec}}
+
+Sets the format and precision.
+
+\membersection{wxTime::operator char*}\label{wxtimestring}
+
+\func{operator}{char*}{\void}
+
+Returns a pointer to a static char* containing the formatted time.
+
+\membersection{wxTime::operator wxDate}\label{wxtimewxdate}
+
+\constfunc{operator}{wxDate}{\void}
+
+Converts the wxTime into a wxDate.
+
+\membersection{wxTime::operator $=$}\label{wxtimeoperator}
+
+\func{void}{operator $=$}{\param{const wxTime\& }{t}}
+
+Assignment operator.
+
+\membersection{wxTime::operator $<$}\label{wxtimeoperatorle}
+
+\constfunc{bool}{operator $<$}{\param{const wxTime\& }{t}}
+
+Less than operator.
+
+\membersection{wxTime::operator $<=$}\label{wxtimeoperatorleq}
+
+\constfunc{bool}{operator $<=$}{\param{const wxTime\& }{t}}
+
+Less than or equal to operator.
+
+\membersection{wxTime::operator $>$}\label{wxtimeoperatorge}
+
+\constfunc{bool}{operator $>$}{\param{const wxTime\& }{t}}
+
+Greater than operator.
+
+\membersection{wxTime::operator $>=$}\label{wxtimeoperatorgeq}
+
+\constfunc{bool}{operator $>=$}{\param{const wxTime\& }{t}}
+
+Greater than or equal to operator.
+
+\membersection{wxTime::operator $==$}\label{wxtimeoperatoreq}
+
+\constfunc{bool}{operator $==$}{\param{const wxTime\& }{t}}
+
+Equality operator.
+
+\membersection{wxTime::operator $!=$}\label{wxtimeoperatorneq}
+
+\constfunc{bool}{operator $!=$}{\param{const wxTime\& }{t}}
+
+Inequality operator.
+
+\membersection{wxTime::operator $+$}\label{wxtimeoperatorplus}
+
+\constfunc{bool}{operator $+$}{\param{long }{sec}}
+
+Addition operator.
+
+\membersection{wxTime::operator $-$}\label{wxtimeoperatorminus}
+
+\constfunc{bool}{operator $-$}{\param{long }{sec}}
+
+Subtraction operator.
+
+\membersection{wxTime::operator $+=$}\label{wxtimeoperatorpluseq}
+
+\constfunc{bool}{operator $+=$}{\param{long }{sec}}
+
+Increment operator.
+
+\membersection{wxTime::operator $-=$}\label{wxtimeoperatorminuseq}
+
+\constfunc{bool}{operator $-=$}{\param{long }{sec}}
+
+Decrement operator.
Add -D__WIN95__ if your SC++ has Windows 95 support, and ignore
Step (2). 16-bit compilation is left as an excercise for the user!
+Salford C++ compilation
+-----------------------
+
+1. Make sure your WXWIN variable is set, and uses the FAT (short
+ name) form.
+2. Edit SALFORDDIR and RESOURCEDIR in src/makesl.env as per
+ notes.
+3. Change directory to wx\src\msw. Type 'mk32 -f makefile.sl all' to
+ make the wxWindows core library.
+4. Change directory to wx\samples\minimal and type 'mk32 -f makefile.sl'
+ to make this sample.
+
+Unfortunately, Salford C++ seems to have problems with its code generation for
+operations on objects, as seen in wxFrame::OnMenuHighlight
+(minimal sample) or wxWindow::SetValidator (mdi sample). Also the
+the debugging version of the library is 90MB, with samples coming in
+at 40MB :-) However, wxWindows at least makes a good test suite for
+improving the compiler.
+
Gnu-Win32 b19/b20/Mingw32 compilation
-------------------------------------
Add further controls and properties to Dialog Editor.
Update manual.
- wxTempFile
wxMsgCatalog etc.
wxRegKey
wxStatusBar95 and wxFrame status bar functions
wxListBox changes (for ownerdraw functionality)
wxThread DONE (except for topic overview)
wxString PARTLY DONE
- Drag and drop (change API if required, e.g. const).
wxBaseArray, other arrays
(wxOwnerDrawn)
Document the include file for each class
wxDate (const wxString& dat);
wxDate (const wxDate &dt);
+#ifndef __SALFORDC__
operator wxString (void);
+#endif
+
void operator = (const wxDate& date);
void operator = (const wxString& date);
typedef unsigned char bool;
#endif
-#if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__) || (defined(__BORLANDC__) && defined(__WIN16__)) || defined(__SC__)
+#if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__) || (defined(__BORLANDC__) && defined(__WIN16__)) || defined(__SC__) || defined(__SALFORDC__)
#define byte unsigned char
#endif
#define _WX_DIRDLG_H_BASE_
#if defined(__WXMSW__)
-#if defined(__WIN16__) || defined(__GNUWIN32__)
+#if defined(__WIN16__) || defined(__GNUWIN32__) || defined(__SALFORDC__)
#include "wx/generic/dirdlgg.h"
#else
#include "wx/msw/dirdlg.h"
bool HasMask() const;
inline wxImage& operator = (const wxImage& image)
- { if (*this == image) return (*this); Ref(image); return *this; }
+ { if ((*this) == image)
+ return (*this);
+ Ref(image);
+ return *this; }
+
inline bool operator == (const wxImage& image)
{ return m_refData == image.m_refData; }
inline bool operator != (const wxImage& image)
// declare a list type named 'name' and containing elements of type 'T *'
// (as a by product of macro expansion you also get wx##name##Node
-// wxNode-dervied type)
+// wxNode-derived type)
//
// implementation details:
-// 1. we define _WX_LIST_ITEM_TYPE_##name typedef to save in it the item type
+// 1. We define _WX_LIST_ITEM_TYPE_##name typedef to save in it the item type
// for the list of given type - this allows us to pass only the list name
// to WX_DEFINE_LIST() even if it needs both the name and the type
//
-// 2. We redefine all not type-safe wxList functions withtype-safe versions
-// which don't take any place (everything is inline), but bring compile
+// 2. We redefine all non-type-safe wxList functions with type-safe versions
+// which don't take any space (everything is inline), but bring compile
// time error checking.
#define WX_DECLARE_LIST_2(T, name, nodetype) \
void SetMask(wxMask *mask) ;
inline wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; }
+
inline bool operator == (const wxBitmap& bitmap) { return m_refData == bitmap.m_refData; }
inline bool operator != (const wxBitmap& bitmap) { return m_refData != bitmap.m_refData; }
wxBitmap GetBitmapForDC(wxDC& dc) const;
};
+
#endif
// _WX_BITMAP_H_
#undef wxUSE_DEBUG_NEW_ALWAYS
#define wxUSE_DEBUG_NEW_ALWAYS 0
+
+#undef wxUSE_THREADS
+#define wxUSE_THREADS 0
+
+#undef wxUSE_DBWIN32
+#define wxUSE_DBWIN32 0
+
+#undef wxUSE_OWNER_DRAWN
+#define wxUSE_OWNER_DRAWN 0
#endif
// Minimal setup e.g. for compiling small utilities
// Standard wxWindows Cursors
//
+#ifdef __SALFORDC__
+WXCURSOR_HAND CURSOR DISCARDABLE WXINCDIR"wx/msw/hand.cur"
+WXCURSOR_BULLSEYE CURSOR DISCARDABLE WXINCDIR"wx/msw/bullseye.cur"
+WXCURSOR_PENCIL CURSOR DISCARDABLE WXINCDIR"wx/msw/pencil.cur"
+WXCURSOR_MAGNIFIER CURSOR DISCARDABLE WXINCDIR"wx/msw/magnif1.cur"
+WXCURSOR_NO_ENTRY CURSOR DISCARDABLE WXINCDIR"wx/msw/noentry.cur"
+WXCURSOR_SIZING CURSOR DISCARDABLE WXINCDIR"wx/msw/size.cur"
+WXCURSOR_ROLLER CURSOR DISCARDABLE WXINCDIR"wx/msw/roller.cur"
+WXCURSOR_WATCH CURSOR DISCARDABLE WXINCDIR"wx/msw/watch1.cur"
+WXCURSOR_PBRUSH CURSOR DISCARDABLE WXINCDIR"wx/msw/pbrush.cur"
+WXCURSOR_PLEFT CURSOR DISCARDABLE WXINCDIR"wx/msw/pntleft.cur"
+WXCURSOR_PRIGHT CURSOR DISCARDABLE WXINCDIR"wx/msw/pntright.cur"
+WXCURSOR_QARROW CURSOR DISCARDABLE WXINCDIR"wx/msw/query.cur"
+WXCURSOR_BLANK CURSOR DISCARDABLE WXINCDIR"wx/msw/blank.cur"
+#else
WXCURSOR_HAND CURSOR DISCARDABLE "wx/msw/hand.cur"
WXCURSOR_BULLSEYE CURSOR DISCARDABLE "wx/msw/bullseye.cur"
WXCURSOR_PENCIL CURSOR DISCARDABLE "wx/msw/pencil.cur"
WXCURSOR_PRIGHT CURSOR DISCARDABLE "wx/msw/pntright.cur"
WXCURSOR_QARROW CURSOR DISCARDABLE "wx/msw/query.cur"
WXCURSOR_BLANK CURSOR DISCARDABLE "wx/msw/blank.cur"
+#endif
//////////////////////////////////////////////////////////////////////////////
//
// Bitmaps
//
+#ifdef __SALFORDC__
+wxDISABLE_BUTTON_BITMAP BITMAP WXINCDIR"wx/msw/disable.bmp"
+#else
wxDISABLE_BUTTON_BITMAP BITMAP "wx/msw/disable.bmp"
-
+#endif
#pragma interface "ownerdrw.h"
#endif
-typedef wxColour wxColor;
-
// No, don't do this: BC++ 5 complains that size_t already been defined.
// typedef unsigned int size_t;
#include <stddef.h>
m_bOwnerDrawn; // true if something is non standard
wxFont m_font; // font to use for drawing
- wxColor m_colText, // color ----"---"---"----
+ wxColour m_colText, // color ----"---"---"----
m_colBack; // background color
wxBitmap m_bmpChecked, // bitmap to put near the item
m_bmpUnchecked; // (checked is used also for 'uncheckable' items)
virtual bool Abort() = 0;
virtual wxInputStream *GetInputStream(const wxString& path) = 0;
virtual wxProtocolError GetError() = 0;
- virtual wxString GetContentType() { return (char *)NULL; }
+ virtual wxString GetContentType() { return wxEmptyString; }
virtual void SetUser(const wxString& WXUNUSED(user)) {}
virtual void SetPassword(const wxString& WXUNUSED(passwd) ) {}
};
#define wxDLG_POINT(x, y, parent, useDlgUnits) (useDlgUnits ? parent->ConvertDialogToPixel(wxPoint(x, y)) : wxPoint(x, y))
#define wxDLG_SIZE(x, y, parent, useDlgUnits) (useDlgUnits ? parent->ConvertDialogToPixel(wxSize(x, y)) : wxSize(x, y))
+#ifdef FindResource
+#undef FindResource
+#endif
+
/*
* Internal format for control/panel item
*/
friend class wxSocketServer;
friend class wxSocketHandler;
+#ifdef __SALFORDC__
+public:
+#endif
+
wxSocketBase(wxSockFlags flags, wxSockType type);
+
+#ifdef __SALFORDC__
+protected:
+#endif
bool _Wait(long seconds, long microseconds, int type);
wxTime(const wxDate&, hourTy h =0, minuteTy m =0, secondTy s=0, bool dst =FALSE);
// Convert to string
+#ifndef __SALFORDC__
operator char * (void);
operator wxDate() const;
+#endif
+
bool operator<(const wxTime& t) const { return sec < t.sec; }
bool operator<=(const wxTime& t) const { return sec <= t.sec; }
bool operator>(const wxTime& t) const { return sec > t.sec; }
// Comment this out if you don't mind slower compilation of the wxWindows
// library
-#ifndef __WXMAC__
+#if !defined(__WXMAC__) && !defined(__SALFORDC__)
#include <windows.h>
#endif
#include "test.h"
// If 1, use a dialog. Otherwise use a frame.
-#define USE_TABBED_DIALOG 0
+#define USE_TABBED_DIALOG 1
MyDialog* dialog = (MyDialog *) NULL;
MyFrame* frame = (MyFrame *) NULL;
// Conversion operations
//////////////////////////////////////////////////////////////
+#ifndef __SALFORDC__
wxDate::operator wxString( void )
{
return FormatDate();
}
+#endif
//////////////////////////////////////////////////////////////
// Date Arithmetic
#ifdef __cplusplus
#include <stdlib.h>
+
+#ifdef __SALFORDC__
+#include <io.h>
+#include <clib.h>
+#else
#include <osfcn.h>
+#endif
+
+#ifdef __cplusplus
+static int yyinput()
+#else
+static int input()
+#endif
/* use prototypes in function declarations */
#define YY_USE_PROTOS
case 1:
# line 60 "lexer.l"
-{yylval.s = strdup(yytext); Return(INTEGER);}
+{yylval.s = strdup((const char*) yytext); Return(INTEGER);}
YY_BREAK
case 2:
# line 62 "lexer.l"
YY_BREAK
case 3:
# line 64 "lexer.l"
-{yylval.s = strdup(yytext); Return(WORD);}
+{yylval.s = strdup((const char*) yytext); Return(WORD);}
YY_BREAK
case 4:
# line 66 "lexer.l"
-{int len = strlen(yytext);
+{int len = strlen((const char*) yytext);
yytext[len-1] = 0;
- yylval.s = strdup(yytext+1);
+ yylval.s = strdup((const char*) (yytext+1));
Return(WORD);}
YY_BREAK
case 5:
# line 71 "lexer.l"
-{yylval.s = strdup(yytext); Return(STRING);}
+{yylval.s = strdup((const char*) yytext); Return(STRING);}
YY_BREAK
case 6:
# line 73 "lexer.l"
{
lex_read_from_string = 1;
lex_buffer = buffer;
- lex_buffer_length = strlen(buffer);
+ lex_buffer_length = strlen((const char*) buffer);
lex_string_ptr = 0;
/* Don't know why this is necessary, but otherwise
* lex only works _once_!
{
wxNode *node = m_headers.Find(header);
if (!node)
- return (char *)NULL;
+ return wxEmptyString;
return *((wxString *)node->Data());
}
while (node)
{
wxImageHandler *handler = (wxImageHandler*)node->Data();
- if (handler->GetName() == name) return handler;
+ if (handler->GetName().Cmp(name) == 0) return handler;
node = node->Next();
}
while (node)
{
wxImageHandler *handler = (wxImageHandler*)node->Data();
- if ( handler->GetExtension() == extension &&
+ if ( (handler->GetExtension().Cmp(extension) == 0) &&
(bitmapType == -1 || handler->GetType() == bitmapType) )
return handler;
node = node->Next();
break;
case wxLOG_Info:
- if ( GetVerbose() )
case wxLOG_Message:
+ if ( GetVerbose() )
DoLogString(str + szString);
// fall through
{
switch ( level ) {
case wxLOG_Info:
- if ( GetVerbose() )
case wxLOG_Message:
+ if ( GetVerbose() )
if ( !m_bErrors ) {
m_aMessages.Add(szString);
m_bHasMessages = TRUE;
# endif
#endif
-#if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ )
+#if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
#include <memory.h>
#endif
#include "wx/hash.h"
#include "wx/listimpl.cpp"
+#ifdef __SALFORDC__
+void wxwxModuleListNode::DeleteData()
+{
+ delete (_WX_LIST_ITEM_TYPE_wxModuleList *)GetData();
+}
+#else
WX_DEFINE_LIST(wxModuleList);
+#endif
IMPLEMENT_CLASS(wxModule, wxObject)
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
-#ifndef __MWERKS__
+
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h>
#endif
bool wxIPV4address::Hostname(const wxString& name)
{
- struct hostent *hostent;
+ struct hostent *theHostent;
struct in_addr *addr;
if (name.IsNull())
return FALSE;
if (!name.IsNumber()) {
- if ((hostent = gethostbyname(name.GetData())) == 0) {
+ if ((theHostent = gethostbyname(name.GetData())) == 0) {
return FALSE;
}
} else {
return TRUE;
}
- addr = (struct in_addr *) *(hostent->h_addr_list);
+ addr = (struct in_addr *) *(theHostent->h_addr_list);
m_addr->sin_addr.s_addr = addr[0].s_addr;
return TRUE;
bool wxIPV4address::Service(const wxString& name)
{
- struct servent *servent;
+ struct servent *theServent;
if (name.IsNull())
return FALSE;
if (!name.IsNumber()) {
- if ((servent = getservbyname(name, "tcp")) == 0)
+ if ((theServent = getservbyname(name, "tcp")) == 0)
return FALSE;
} else {
- if ((servent = getservbyport(atoi(name), "tcp")) == 0) {
+ if ((theServent = getservbyport(atoi(name), "tcp")) == 0) {
m_addr->sin_port = htons(atoi(name));
return TRUE;
}
}
- m_addr->sin_port = servent->s_port;
+ m_addr->sin_port = theServent->s_port;
return TRUE;
}
bool wxIPV6address::Hostname(const wxString& name)
{
- struct hostent *hostent;
+ struct hostent *theHostent;
struct in_addr *addr;
if (name.IsNull())
if (!name.IsNumber()) {
hostent = gethostbyname2((char*) name, AF_INET6);
- if (!hostent)
+ if (!theHostent)
return FALSE;
} else {
// Don't how to do
return FALSE;
}
- addr = (struct in6_addr *) *(hostent->h_addr_list);
+ addr = (struct in6_addr *) *(theHostent->h_addr_list);
m_addr->sin6_addr.s6_addr = addr[0].s6_addr;
return TRUE;
bool wxIPV6address::Service(const char *name)
{
- struct servent *servent;
+ struct servent *theServent;
if (!name || !strlen(name))
return FALSE;
if (!isdigit(*name)) {
- if ((servent = getservbyname((char*) name, "tcp")) == 0)
+ if ((theServent = getservbyname((char*) name, "tcp")) == 0)
return FALSE;
} else {
- if ((servent = getservbyport(atoi(name), "tcp")) == 0) {
+ if ((theServent = getservbyport(atoi(name), "tcp")) == 0) {
m_addr->sin_port = htons(atoi(name));
return TRUE;
}
}
- m_addr->sin_port = servent->s_port;
+ m_addr->sin_port = theServent->s_port;
return TRUE;
}
// Some patch ///// END
/////////////////////////////////////////////////////////////////////////////
+#ifdef GetClassInfo
+#undef GetClassInfo
+#endif
+
// --------------------------------------------------------------
// Module
// --------------------------------------------------------------
#include <string.h>
#include <stdlib.h>
+#ifdef __SALFORDC__
+#include <clib.h>
+#endif
+
#if wxUSE_WCSRTOMBS
#include <wchar.h> // for wcsrtombs(), see comments where it's used
#endif // GNU
psz++;
// fix up data and length
- int nDataLength = GetStringData()->nDataLength - (psz - m_pchData);
+ int nDataLength = GetStringData()->nDataLength - (psz - (const char*) m_pchData);
memmove(m_pchData, psz, (nDataLength + 1)*sizeof(char));
GetStringData()->nDataLength = nDataLength;
}
{
const char *psz = bFromEnd ? strrchr(m_pchData, ch) : strchr(m_pchData, ch);
- return (psz == NULL) ? wxNOT_FOUND : psz - m_pchData;
+ return (psz == NULL) ? wxNOT_FOUND : psz - (const char*) m_pchData;
}
// find a sub-string (like strstr)
{
const char *psz = strstr(m_pchData, pszSub);
- return (psz == NULL) ? wxNOT_FOUND : psz - m_pchData;
+ return (psz == NULL) ? wxNOT_FOUND : psz - (const char*) m_pchData;
}
// ---------------------------------------------------------------------------
wxTimeInitialized = TRUE;
}
sec = wxGetCurrentTime();
+#ifdef __SALFORDC__
+ sec += (unsigned long) 2177452800; /* seconds from 1/1/01 to 1/1/70 */
+#else
sec += 2177452800UL; /* seconds from 1/1/01 to 1/1/70 */
+#endif
}
wxTime::wxTime(hourTy h, minuteTy m, secondTy s, bool dst)
sec += TIME_ZONE; // adjust to GMT
}
+#ifndef __SALFORDC__
wxTime::operator wxDate() const
/*
Convert a wxTime to a local wxDate
date += daycount;
return date;
}
+#endif
bool wxTime::IsBetween(const wxTime& a, const wxTime& b) const
{
return t;
}
+#ifndef __SALFORDC__
wxTime::operator char *(void)
{
return FormatTime();
}
+#endif
void wxTime::SetFormat(const wxTime::tFormat lFormat,
const wxTime::tPrecision lPrecision) {
#endif
#include <time.h>
+
#ifndef __WXMAC__
#include <sys/types.h>
#endif
#endif
#if defined(__linux__) || defined(__SVR4__) || defined(__SYSV__) || defined(__SGI__) || \
- defined(__ALPHA__) || defined(__GNUWIN32__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ defined(__ALPHA__) || defined(__GNUWIN32__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
+ defined(__SALFORDC__)
#include <sys/time.h>
#endif
*dstObserved = tp->tm_isdst;
#else
-#if (((defined(__SYSV__) && !defined(__HPUX__)) || defined(__MSDOS__) || defined(__WXMSW__)) && !defined(__GNUWIN32__) && !defined(__MWERKS__))
-#ifdef __BORLANDC__
+#if (((defined(__SYSV__) && !defined(__HPUX__)) || defined(__MSDOS__) || defined(__WXMSW__))\
+ && !defined(__GNUWIN32__) && !defined(__MWERKS__) )
+#if defined(__BORLANDC__)
/* Borland uses underscores */
*timeZone = _timezone;
*dstObserved = _daylight;
+#elif defined(__SALFORDC__)
+ *timeZone = _timezone;
+ *dstObserved = daylight;
#else
*timeZone = timezone;
*dstObserved = daylight;
pos = FindDelims(m_string, m_delims);
if (pos == -1) {
r_string = m_string;
- m_string = (char *)NULL;
+ m_string = wxEmptyString;
return r_string;
}
#include <sys/stat.h>
#endif
+#ifdef __SALFORDC__
+#include <clib.h>
+#endif
+
// Pattern matching code.
// Yes, this path is deliberate (for Borland compilation)
#ifdef wx_mac /* MATTHEW: [5] Mac doesn't like paths with "/" */
#include <string.h>
#include <stdlib.h>
+#ifdef __SALFORDC__
+#include <clib.h>
+#endif
+
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxTextValidator, wxValidator)
wxProperty::wxProperty(void)
{
- m_propertyRole = (char *)NULL;
+ m_propertyRole = wxEmptyString;
m_propertyValidator = NULL;
m_propertyWindow = NULL;
m_enabled = TRUE;
-erase *.err
-erase *.pch
-erase *.lib
- -erase *.lnk
+ -erase $(LNK)
-erase *.res
-erase *.exe
-erase *.lbc
// if you don't do the same for the Ole calls further down.
// Also, OLE is used not just for drag and drop (it's used by automatn.cpp).
// #if wxUSE_DRAG_AND_DROP
-#if !defined(__GNUWIN32__) && !defined(__SC__)
+#if !defined(__GNUWIN32__) && !defined(__SC__) && !defined(__SALFORDC__)
#include <ole2.h>
#endif
+
// #endif
#include <string.h>
}
*/
-#if !defined(__GNUWIN32__) && !defined(__SC__)
+#if !defined(__GNUWIN32__) && !defined(__SC__) && !defined(__SALFORDC__)
// we need to initialize OLE library
if ( FAILED(::OleInitialize(NULL)) )
wxFatalError(_("Cannot initialize OLE"));
if ( wxDisableButtonBrush )
::DeleteObject( wxDisableButtonBrush ) ;
-#if !defined(__GNUWIN32__) && !defined(__SC__)
+#if !defined(__GNUWIN32__) && !defined(__SC__) && !defined(__SALFORDC__)
::OleUninitialize();
#endif
while ( node )
{
wxBitmapHandler *handler = (wxBitmapHandler *)node->Data();
- if ( handler->GetName() == name )
+ if ( (handler->GetName().Cmp(name) == 0) )
return handler;
node = node->Next();
}
while ( node )
{
wxBitmapHandler *handler = (wxBitmapHandler *)node->Data();
- if ( handler->GetExtension() == extension &&
- (bitmapType == -1 || handler->GetType() == bitmapType) )
+ if ( (handler->GetExtension().Cmp(extension) == 0) &&
+ (bitmapType == -1 || (handler->GetType() == bitmapType)) )
return handler;
node = node->Next();
}
if ( with_marg )
::PatBlt( (HDC) dc, left + m_marginX, top + m_marginY,
right - 2 * m_marginX, bottom - 2 * m_marginY,
- 0xfa0089ul ) ;
- else ::PatBlt( (HDC) dc, left, top, right, bottom, 0xfa0089ul ) ;
-
+#ifdef __SALFORDC__
+ 0xfa0089L ) ;
+#else
+ 0xfa0089UL ) ;
+#endif
+ else ::PatBlt( (HDC) dc, left, top, right, bottom,
+#ifdef __SALFORDC__
+ 0xfa0089L ) ;
+#else
+ 0xfa0089UL ) ;
+#endif
::SelectObject( (HDC) dc, old ) ;
}
int cyf;
char buf[300];
GetWindowText((HWND) GetHWND(), buf, 300);
- GetTextExtent(buf, ¤t_width, &cyf,NULL,NULL,& GetFont());
+ GetTextExtent(buf, ¤t_width, &cyf,NULL,NULL,
+ & this->GetFont());
// If we're prepared to use the existing width, then...
if (width == -1 && ((sizeFlags & wxSIZE_AUTO_WIDTH) != wxSIZE_AUTO_WIDTH))
{
int cx;
int cy;
- wxGetCharSize(GetHWND(), &cx, &cy,& GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
actualWidth = (int)(current_width + 3*cx) ;
}
if ( !str.IsEmpty() )
{
- GetTextExtent(str, ¤t_width, &cyf, NULL, NULL, & GetFont());
+ GetTextExtent(str, ¤t_width, &cyf, NULL, NULL, & this->GetFont());
if (w1 < 0)
w1 = (int)(current_width + RADIO_SIZE);
if (h1 < 0)
int cx; // button font dimensions
int cy;
- wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
int control_width, control_height;
for (i = 0; i < m_noStrings; i++)
{
wxString str(GetString(i));
- GetTextExtent(str, &len, &ht, NULL, NULL, & GetFont());
+ GetTextExtent(str, &len, &ht, NULL, NULL, & this->GetFont());
if ( len > longest)
longest = len;
}
#include <windows.h>
-#ifndef __WIN32__
+#if !defined(__WIN32__) || defined(__SALFORDC__)
#include <commdlg.h>
#endif
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
-#ifndef __MWERKS__
+
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h>
#endif
#include <wx/msw/dibutils.h>
#if defined(__WIN32__)
-#ifndef __MWERKS__
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h> // for _fmemcpy()
#endif
#define _huge
bmf.bfReserved1 = 0;
bmf.bfReserved2 = 0;
bmf.bfOffBits = sizeof(bmf) + (char far*)(DibPtr(lpbi)) - (char far*)lpbi;
-#if defined( __WATCOMC__) || defined(_MSC_VER) || defined(__SC__)
+#if defined( __WATCOMC__) || defined(_MSC_VER) || defined(__SC__) || defined(__SALFORDC__)
if (_hwrite(fh, (LPCSTR)(&bmf), sizeof(bmf))<0 ||
_hwrite(fh, (LPCSTR)lpbi, size)<0) {
_lclose(fh);
#include <windows.h>
-#ifndef __WIN32__
+#if !defined(__WIN32__) || defined(__SALFORDC__)
#include <commdlg.h>
#endif
#include <windows.h>
-#ifndef __WIN32__
+#if !defined(__WIN32__) || defined(__SALFORDC__)
#include <commdlg.h>
#endif
HDC cdc = BeginPaint((HWND) GetHWND(), &ps);
// Erase background before painting or we get white background
- this->MSWDefWindowProc(WM_ICONERASEBKGND,(WORD)ps.hdc,0L);
+ this->MSWDefWindowProc(WM_ICONERASEBKGND,(WORD)(LONG) ps.hdc,0L);
if (the_icon)
{
wxMenuBar *menuBar = GetMenuBar();
if (menuBar)
{
- wxString helpString(menuBar->GetHelpString(event.GetMenuId()));
+// #ifndef __SALFORDC__
+ int menuId = event.GetMenuId();
+ wxString helpString;
+ // This causes a spurious access violation with Salford C++
+ helpString = menuBar->GetHelpString(menuId);
if (helpString != "")
- SetStatusText(helpString);
+ SetStatusText(helpString);
+// #endif
}
}
}
/* get the includes we need */
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <malloc.h>
#endif
#include <stdio.h>
#include "wx/dcclient.h"
#endif
+#include "wx/log.h"
+#include "wx/intl.h"
+
#include "wx/msw/imaglist.h"
#include "wx/msw/private.h"
// always return abs path
s_str = wxCONFIG_PATH_SEPARATOR;
- if ( m_strGroup == (const char*) PATH_SEP_REPLACE ) {
+ if ( m_strGroup == wxString(PATH_SEP_REPLACE) ) {
// we're at the root level, nothing to do
}
else {
int cx; // button font dimensions
int cy;
- wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
float control_width, control_height, control_x, control_y;
#
# Makefile : Builds wxWindows library for Salford C++, WIN32
-# include $(WXDIR)\src\makesl.env
-
-FINAL=0
-SALFORDDIR=i:\salfordc
-
-.SUFFIXES:
-.SUFFIXES: .exe .obj .c .cc .cpp .res .rc .def .lib
-
-#WXDIR = d:\wx2\wxwind~1
-WXDIR = $(WXWIN)
-WXINC = $(WXDIR)\include
-
-# Suffixes
-OBJSUFF=obj
-SRCSUFF=cpp
-
-DEBUGFLAGS = /DEFINE __WXDEBUG__
-
-RC = src
-
-CCC = scc
-CC = scc
-MODEL =
-# If you use win95, assumptions will be made about Win95 icon format etc.
-# so nt_win is probably better for simultaneous Win32s/Win95/NT operation.
-LINKOPTION = nt_win # win95
-BINDCOMMAND = wrc
-WATLIBDIR = $(WATCOMDIR)\lib386\nt
-MINDATA =
-MAXDATA =
-STACK =
-# EXTRALIBS = $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\png.lib $(WXDIR)\lib\xpm.lib &
-# $(WATLIBDIR)\odbc32.lib $(WATLIBDIR)\comctl32.lib $(WATLIBDIR)\comdlg32.lib &
-# $(WATLIBDIR)\ole32.lib $(WATLIBDIR)\oleaut32.lib $(WATLIBDIR)\uuid.lib
-IFLAGS = /INCLUDE $(WXINC) /INCLUDE $(SALFORDDIR)\include
-#RESFLAGS1 = -r -bt=nt /i$(WXDIR)\include
-#RESFLAGS2 = -R $(name) /i$(WXDIR)\include
-
-OPTFLAGS=
-
-# /d1 for line numbers only: anything else produces an enormous wx32.lib
-CPPFLAGS = /WINDOWS /ERROR_NUMBERS /DELETE_OBJ_ON_ERROR /DEFINE WIN32 /DEFINE __WIN32__ /DEFINE __WIN95__ /DEFINE __WINDOWS__ /DEFINE __WXMSW__ /DEFINE __SALFORDC__ $(OPTFLAGS) $(DEBUGFLAGS) $(EXTRACPPFLAGS)
-
-#.cpp.obj:
-# echo Compiling!
-# $(CCC) $(CPPFLAGS) $(IFLAGS) $@ $*.cpp
-
-#.c.obj: # $< # .AUTODEPEND
-# $(CC) $(CPPFLAGS) $(IFLAGS) $@ $*.cpp
-
-
-
-WXLIB = $(WXDIR)\lib
+include ..\makesl.env
LIBTARGET = $(WXLIB)\wx.lib
-DUMMY=dummydll
-# ODBCLIB = ..\..\contrib\odbc\odbc32.lib
-
-EXTRATARGETS = xpm png zlib
-EXTRATARGETSCLEAN = clean_xpm clean_png clean_zlib
+EXTRATARGETS = # xpm png zlib
+EXTRATARGETSCLEAN = # clean_xpm clean_png clean_zlib
GENDIR=$(WXDIR)\src\generic
COMMDIR=$(WXDIR)\src\common
XPMDIR=$(WXDIR)\src\xpm
OLEDIR=ole
MSWDIR=$(WXDIR)\src\msw
-DOCDIR = $(WXDIR)\docs
-
GENERICOBJS= choicdgg.obj \
+ dirdlgg.obj \
gridg.obj \
laywin.obj \
panelg.obj \
layout.obj \
log.obj \
memory.obj \
- mimetype.obj \
module.obj \
object.obj \
prntbase.obj \
wincmn.obj
# Can't compile these yet under Salford C++
+# mimetype.obj \
# odbc.obj \
# db.obj \
# dbtable.obj \
dialog.obj \
dib.obj \
dibutils.obj \
- dirdlg.obj \
filedlg.obj \
font.obj \
fontdlg.obj \
utils.obj \
utilsexc.obj \
wave.obj \
- window.obj \
- xpmhand.obj
+ window.obj
+# No OLE functions for wxDirDialog: use generic one instead
+# dirdlg.obj \
# pnghand.obj \
+# xpmhand.obj \
OLEOBJS = \
droptgt.obj \
automtn.obj
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
-OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(OLEOBJS)
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) # $(OLEOBJS)
all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS)
$(LIBTARGET) : $(OBJECTS)
- %create tmp.lnk
- @%append tmp.lnk archive $(LIBTARGET)
- @for %i in ( $(OBJECTS) ) do @%append tmp.lnk addobj %i
- @%append file
- slink @tmp.lnk
+ slink $$salford.lnk
clean: $(EXTRATARGETSCLEAN)
-erase *.obj
-erase $(LIBTARGET)
-erase *.pch
-erase *.err
- -erase *.lnk
cleanall: clean
gdiobj.obj: $(MSWDIR)\gdiobj.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\gdiobj.cpp /BINARY gdiobj.obj
+helpwin.obj: $(MSWDIR)\helpwin.cpp
+ $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\helpwin.cpp /BINARY helpwin.obj
+
icon.obj: $(MSWDIR)\icon.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\icon.cpp /BINARY icon.obj
imaglist.obj: $(MSWDIR)\imaglist.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\imaglist.cpp /BINARY imaglist.obj
+iniconf.obj: $(MSWDIR)\iniconf.cpp
+ $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\iniconf.cpp /BINARY iniconf.obj
+
joystick.obj: $(MSWDIR)\joystick.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\joystick.cpp /BINARY joystick.obj
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\minifram.cpp /BINARY minifram.obj
msgdlg.obj: $(MSWDIR)\msgdlg.cpp
- $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\msgdlg.cpp /BINARY mdgdlg.obj
+ $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\msgdlg.cpp /BINARY msgdlg.obj
nativdlg.obj: $(MSWDIR)\nativdlg.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\nativdlg.cpp /BINARY nativdlg.obj
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\slidrmsw.cpp /BINARY slidrmsw.obj
slider95.obj: $(MSWDIR)\slider95.cpp
- $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\slider95.cpp /BINARY slider.obj
+ $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\slider95.cpp /BINARY slider95.obj
spinbutt.obj: $(MSWDIR)\spinbutt.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\spinbutt.cpp /BINARY spinbutt.obj
$(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\sckipc.cpp /BINARY sckipc.obj
sckstrm.obj: $(COMMDIR)\sckstrm.cpp
- $(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\sckstrm.cpp /BINARY sockstrm.obj
+ $(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\sckstrm.cpp /BINARY sckstrm.obj
url.obj: $(COMMDIR)\url.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\url.cpp /BINARY url.obj
$(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\matrix.cpp /BINARY matrix.obj
time.obj: $(COMMDIR)\time.cpp
- $(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\time.cpp /BINARY timer.obj
+ $(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\time.cpp /BINARY time.obj
stream.obj: $(COMMDIR)\stream.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\stream.cpp /BINARY stream.obj
colrdlgg.obj: $(GENDIR)\colrdgg.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(GENDIR)\colrdgg.cpp /BINARY colordgg.obj
+dirdlgg.obj: $(GENDIR)\dirdlgg.cpp
+ $(CCC) $(CPPFLAGS) $(IFLAGS) $(GENDIR)\dirdlgg.cpp /BINARY dirdlgg.obj
+
fontdlgg.obj: $(GENDIR)\fontdlgg.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(GENDIR)\fontdlgg.cpp /BINARY fontdlgg.obj
y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
- $(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
-
-# *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
+ $(CC) /ANSI_C $(CPPFLAGS) $(IFLAGS) /DEFINE USE_DEFINE $(COMMDIR)\y_tab.c /BINARY y_tab.obj
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
-xpm: .SYMBOLIC
+xpm:
cd $(WXDIR)\src\xpm
wmake -f makefile.wat all
cd $(WXDIR)\src\msw
-clean_xpm: .SYMBOLIC
+clean_xpm:
cd $(WXDIR)\src\xpm
wmake -f makefile.wat clean
cd $(WXDIR)\src\msw
-png: .SYMBOLIC
+png:
cd $(WXDIR)\src\png
wmake -f makefile.wat all
cd $(WXDIR)\src\msw
-clean_png: .SYMBOLIC
+clean_png:
cd $(WXDIR)\src\png
wmake -f makefile.wat clean
cd $(WXDIR)\src\msw
-zlib: .SYMBOLIC
+zlib:
cd $(WXDIR)\src\zlib
wmake -f makefile.wat all
cd $(WXDIR)\src\msw
-clean_zlib: .SYMBOLIC
+clean_zlib:
cd $(WXDIR)\src\zlib
wmake -f makefile.wat clean
cd $(WXDIR)\src\msw
gdiobj.obj: $(MSWDIR)\gdiobj.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+helpwin.obj: $(MSWDIR)\helpwin.cpp
+ *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+
icon.obj: $(MSWDIR)\icon.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
imaglist.obj: $(MSWDIR)\imaglist.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+iniconf.obj: $(MSWDIR)\iniconf.cpp
+ *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+
joystick.obj: $(MSWDIR)\joystick.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
wxString wxMenu::GetHelpString (int itemId) const
{
wxMenuItem *item = FindItemForId (itemId);
- wxString str("");
- return (item == NULL) ? str : item->GetHelp();
+ if (item)
+ return item->GetHelp();
+ else
+ return wxEmptyString;
}
void wxMenu::ProcessCommand(wxCommandEvent & event)
#include <windows.h>
+#ifdef GetClassInfo
+#undef GetClassInfo
+#endif
+
+#ifdef GetClassName
+#undef GetClassName
+#endif
+
// ============================================================================
// implementation
// ============================================================================
M_METAFILEDATA->m_windowsMappingMode = MM_ANISOTROPIC;
M_METAFILEDATA->m_metafile = 0;
- if (!file.IsNull() && file == "")
+ if (!file.IsNull() && (file.Cmp("") == 0))
M_METAFILEDATA->m_metafile = (WXHANDLE) GetMetaFile(file);
}
#include <string.h>
-#if !defined( __WATCOMC__ ) && !defined( __MWERKS__ )
+#if !defined( __WATCOMC__ ) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
#include <memory.h>
#endif
wxWindow *win = CreateAbortWindow(parent, printout);
wxYield();
-#if defined(__BORLANDC__) || defined(__GNUWIN32__) || !defined(__WIN32__)
+#if defined(__BORLANDC__) || defined(__GNUWIN32__) || defined(__SALFORDC__) || !defined(__WIN32__)
::SetAbortProc((HDC) dc->GetHDC(), (FARPROC) m_lpAbortProc);
#else
::SetAbortProc((HDC) dc->GetHDC(), (int (_stdcall *)
int current_width, cyf;
int cx1,cy1 ;
- wxGetCharSize(m_hWnd, &cx1, &cy1, & GetFont());
+ wxGetCharSize(m_hWnd, &cx1, &cy1, & this->GetFont());
// Attempt to have a look coherent with other platforms:
// We compute the biggest toggle dim, then we align all
// items according this value.
{
// It's a labelled toggle
GetWindowText((HWND) m_radioButtons[i], buf, 300);
- GetTextExtent(buf, ¤t_width, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, ¤t_width, &cyf,NULL,NULL, & this->GetFont());
eachWidth = (int)(current_width + RADIO_SIZE);
eachHeight = (int)((3*cyf)/2);
}
{
// It's a labeled item
GetWindowText((HWND) m_radioButtons[i], buf, 300);
- GetTextExtent(buf, ¤t_width, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, ¤t_width, &cyf,NULL,NULL, & this->GetFont());
// How do we find out radio button bitmap size!!
// By adjusting them carefully, manually :-)
if (label != "")
{
int label_width, label_height;
- GetTextExtent(label, &label_width, &label_height, NULL, NULL, & GetFont());
+ GetTextExtent(label, &label_width, &label_height, NULL, NULL, & this->GetFont());
if (width < 0)
width = (int)(label_width + RADIO_SIZE);
if (height<0)
int cy;
int cyf;
- wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL)
{
int min_len = 0;
GetWindowText((HWND) m_staticMin, buf, 300);
- GetTextExtent(buf, &min_len, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, &min_len, &cyf,NULL,NULL, & this->GetFont());
int max_len = 0;
GetWindowText((HWND) m_staticMax, buf, 300);
- GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & this->GetFont());
if (m_staticValue)
{
int new_width = (int)(wxMax(min_len, max_len));
{
int min_len;
GetWindowText((HWND) m_staticMin, buf, 300);
- GetTextExtent(buf, &min_len, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, &min_len, &cyf,NULL,NULL, & this->GetFont());
int max_len;
GetWindowText((HWND) m_staticMax, buf, 300);
- GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & this->GetFont());
if (m_staticValue)
{
int cy;
int cyf;
- wxGetCharSize(GetHWND(), &cx, &cy,& GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy,& this->GetFont());
if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL)
{
int min_len = 0;
GetWindowText((HWND) m_staticMin, buf, 300);
- GetTextExtent(buf, &min_len, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, &min_len, &cyf,NULL,NULL, & this->GetFont());
int max_len = 0;
GetWindowText((HWND) m_staticMax, buf, 300);
- GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & this->GetFont());
if (m_staticValue)
{
int new_width = (int)(wxMax(min_len, max_len));
{
int min_len;
GetWindowText((HWND) m_staticMin, buf, 300);
- GetTextExtent(buf, &min_len, &cyf,NULL,NULL,& GetFont());
+ GetTextExtent(buf, &min_len, &cyf,NULL,NULL,& this->GetFont());
int max_len;
GetWindowText((HWND) m_staticMax, buf, 300);
- GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & GetFont());
+ GetTextExtent(buf, &max_len, &cyf,NULL,NULL, & this->GetFont());
if (m_staticValue)
{
int cy;
int cyf;
- wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
GetTextExtent(wxGetWindowText(m_hWnd), ¤t_width, &cyf,
- NULL,NULL, & GetFont());
+ NULL,NULL, & this->GetFont());
if ( w1 < 0 )
w1 = current_width + 3*cx;
if ( h1 < 0 )
#ifdef __WIN95__
#include "wx/log.h"
-
#include "wx/generic/statusbr.h"
#include "wx/msw/statbr95.h"
#include <commctrl.h>
#endif
+#ifdef GetClassInfo
+#undef GetClassInfo
+#endif
+
+#ifdef GetClassName
+#undef GetClassName
+#endif
+
#if wxUSE_NATIVE_STATUSBAR
#if !USE_SHARED_LIBRARY
int cyf;
::GetWindowText((HWND) GetHWND(), buf, 300);
- GetTextExtent(buf, ¤t_width, &cyf, NULL, NULL, & GetFont());
+ GetTextExtent(buf, ¤t_width, &cyf, NULL, NULL, & this->GetFont());
int ww, hh;
GetSize(&ww, &hh);
{
int cx;
int cy;
- wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
actualWidth = (int)(current_width + cx) ;
}
::ScreenToClient((HWND) parent->GetHWND(), &point);
}
- GetTextExtent(label, &w, &h, NULL, NULL, & GetFont());
+ GetTextExtent(label, &w, &h, NULL, NULL, & this->GetFont());
MoveWindow((HWND) GetHWND(), point.x, point.y, (int)(w + 10), (int)h,
TRUE);
SetWindowText((HWND) GetHWND(), (const char *)label);
#if defined(__WIN95__)
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include "malloc.h"
#endif
#include <wx/msw/gnuwin32/extra.h>
#endif
+#ifdef __SALFORDC__
+#include <shellapi.h>
+#endif
+
LRESULT APIENTRY _EXPORT wxTaskBarIconWindowProc( HWND hWnd, unsigned msg,
UINT wParam, LONG lParam );
#if wxUSE_BUTTONBAR && wxUSE_TOOLBAR && defined(__WIN95__)
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include "malloc.h"
#endif
#if wxUSE_BUTTONBAR && wxUSE_TOOLBAR
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include "malloc.h"
#endif
-#ifndef __MWERKS__
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h>
#endif
+
#include <stdlib.h>
#include "wx/tbarmsw.h"
#if defined(__BORLANDC__) && !defined(__WIN32__)
#include <alloc.h>
#else
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <malloc.h>
#endif
#define farmalloc malloc
int cx; // button font dimensions
int cy;
- wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+ wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
int control_width, control_height, control_x, control_y;
// positions as signed shorts. Now load in one chunk...
// Note use of 'farmalloc' as in Borland 3.1 'size_t' is 16-bits...
+#ifdef __SALFORDC__
+ struct _stat stat_buf;
+ if (stat((char*) (const char*) file, &stat_buf) < 0)
+ return FALSE;
+#else
struct stat stat_buf;
if (stat(file, &stat_buf) < 0)
return FALSE;
+#endif
+
// char *tmp_buffer = (char*)farmalloc(stat_buf.st_size+1);
// This may need to be a bigger buffer than the file size suggests,
// if it's a UNIX file. Give it an extra 1000 just in case.
#if defined(__WIN95__)
#include "wx/log.h"
+#include "wx/dynarray.h"
#include "wx/imaglist.h"
+#include "wx/msw/treectrl.h"
#include "wx/msw/private.h"
#undef GetClassInfo
#endif
-#include "wx/msw/treectrl.h"
-
// Bug in headers, sometimes
#ifndef TVIS_FOCUSED
#define TVIS_FOCUSED 0x0001
#include <ctype.h>
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <direct.h>
+
#ifndef __MWERKS__
#include <dos.h>
#endif
http://ftp.digital.com/pub/micro/NT/WinSite/programr/dbwin32.zip
*/
-#ifndef __MWERKS__
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <process.h>
#endif
WaitForSingleObject(heventDBWIN, INFINITE);
/* write it to the shared memory */
-#if defined( __BORLANDC__ ) || defined( __MWERKS__ )
+#if defined( __BORLANDC__ ) || defined( __MWERKS__ ) || defined(__SALFORDC__)
*((LPDWORD)lpszSharedMem) = getpid();
#else
*((LPDWORD)lpszSharedMem) = _getpid();
#include <ctype.h>
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <direct.h>
#ifndef __MWERKS__
#include <dos.h>
if (childWin->IsKindOf(CLASSINFO(wxControl)))
{
wxControl *item = (wxControl *)childWin;
- if (item->m_windowId == id)
+ if (item->GetId() == id)
return item;
else
{
void wxWindow::OnEraseBackground(wxEraseEvent& event)
{
+ if (!GetHWND())
+ return;
+
RECT rect;
::GetClientRect((HWND) GetHWND(), &rect);
- HBRUSH hBrush = ::CreateSolidBrush(PALETTERGB(GetBackgroundColour().Red(), GetBackgroundColour().Green(), GetBackgroundColour().Blue()));
+ COLORREF ref = PALETTERGB(m_backgroundColour.Red(), m_backgroundColour.Green(), m_backgroundColour.Blue()) ;
+ HBRUSH hBrush = ::CreateSolidBrush(ref);
int mode = ::SetMapMode((HDC) event.GetDC()->GetHDC(), MM_TEXT);
// ::GetClipBox((HDC) event.GetDC()->GetHDC(), &rect);