]> git.saurik.com Git - wxWidgets.git/commitdiff
Some changes in a vain attempt to make Salford C++ work; added FAQ files;
authorJulian Smart <julian@anthemion.co.uk>
Tue, 19 Jan 1999 11:00:22 +0000 (11:00 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Tue, 19 Jan 1999 11:00:22 +0000 (11:00 +0000)
started wxTime documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

82 files changed:
distrib/msw/msw.rsp
docs/html/faq.htm [new file with mode: 0644]
docs/html/faqgen.htm [new file with mode: 0644]
docs/html/faqgtk.htm [new file with mode: 0644]
docs/html/faqmac.htm [new file with mode: 0644]
docs/html/faqmot.htm [new file with mode: 0644]
docs/html/faqmsw.htm [new file with mode: 0644]
docs/html/index.htm
docs/latex/wx/time.tex
docs/msw/install.txt
docs/msw/todo.txt
include/wx/date.h
include/wx/defs.h
include/wx/dirdlg.h
include/wx/image.h
include/wx/list.h
include/wx/msw/bitmap.h
include/wx/msw/setup.h
include/wx/msw/wx.rc
include/wx/ownerdrw.h
include/wx/protocol/protocol.h
include/wx/resource.h
include/wx/socket.h
include/wx/time.h
include/wx/wxprec.h
samples/tab/test.cpp
src/common/date.cpp
src/common/doslex.c
src/common/http.cpp
src/common/image.cpp
src/common/log.cpp
src/common/memory.cpp
src/common/module.cpp
src/common/sckaddr.cpp
src/common/socket.cpp
src/common/string.cpp
src/common/time.cpp
src/common/timercmn.cpp
src/common/tokenzr.cpp
src/common/utilscmn.cpp
src/common/valtext.cpp
src/generic/prop.cpp
src/makeprog.wat
src/msw/app.cpp
src/msw/bitmap.cpp
src/msw/bmpbuttn.cpp
src/msw/button.cpp
src/msw/checkbox.cpp
src/msw/choice.cpp
src/msw/colordlg.cpp
src/msw/dib.cpp
src/msw/dibutils.cpp
src/msw/filedlg.cpp
src/msw/fontdlg.cpp
src/msw/frame.cpp
src/msw/gaugemsw.cpp
src/msw/imaglist.cpp
src/msw/iniconf.cpp
src/msw/listbox.cpp
src/msw/makefile.sl
src/msw/makefile.wat
src/msw/menu.cpp
src/msw/menuitem.cpp
src/msw/metafile.cpp
src/msw/minifram.cpp
src/msw/printwin.cpp
src/msw/radiobox.cpp
src/msw/radiobut.cpp
src/msw/slider95.cpp
src/msw/slidrmsw.cpp
src/msw/statbox.cpp
src/msw/statbr95.cpp
src/msw/stattext.cpp
src/msw/tabctrl.cpp
src/msw/taskbar.cpp
src/msw/tbar95.cpp
src/msw/tbarmsw.cpp
src/msw/textctrl.cpp
src/msw/treectrl.cpp
src/msw/utils.cpp
src/msw/utilsexc.cpp
src/msw/window.cpp

index db1209cb7b7507b7008815ef0163cdf21f16d009..38721864cd4116c85437a7c1f22aa9fef5ff9dfc 100644 (file)
@@ -16,7 +16,8 @@ src/makewat.env
 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
diff --git a/docs/html/faq.htm b/docs/html/faq.htm
new file mode 100644 (file)
index 0000000..1dd0c05
--- /dev/null
@@ -0,0 +1,43 @@
+<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>
diff --git a/docs/html/faqgen.htm b/docs/html/faqgen.htm
new file mode 100644 (file)
index 0000000..2e059f5
--- /dev/null
@@ -0,0 +1,68 @@
+<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>
diff --git a/docs/html/faqgtk.htm b/docs/html/faqgtk.htm
new file mode 100644 (file)
index 0000000..1fe2c35
--- /dev/null
@@ -0,0 +1,47 @@
+<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>
diff --git a/docs/html/faqmac.htm b/docs/html/faqmac.htm
new file mode 100644 (file)
index 0000000..c88ce2f
--- /dev/null
@@ -0,0 +1,37 @@
+<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>
diff --git a/docs/html/faqmot.htm b/docs/html/faqmot.htm
new file mode 100644 (file)
index 0000000..ed76c94
--- /dev/null
@@ -0,0 +1,96 @@
+<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>
diff --git a/docs/html/faqmsw.htm b/docs/html/faqmsw.htm
new file mode 100644 (file)
index 0000000..e187e48
--- /dev/null
@@ -0,0 +1,99 @@
+<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>
index b913d9a099a60b7a92b66500f90c241ab930b8ea..3e684fb1fb03a68ca4b342728b7dbc0cccdbdb91 100644 (file)
@@ -45,6 +45,14 @@ from the <a href="http://wxwin.home.ml.org">wxWindows Web site</a>.<P>
 <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>,
index 8ace4d25f2aa5fba5b56423b49a5e18162d9131e..caeb336b76effed74bffb797b7eeefefe5daad17 100644 (file)
 \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.
 
index b73681831ba16bd87fd940e4d0b539a2c9b13cad..abe454e918c31d5e733b4d022b5067703dc1636f 100644 (file)
@@ -136,6 +136,25 @@ Some functionality is missing using this compiler (see makefile).
 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
 -------------------------------------
 
index 88bb3dcf0b16cae368264be1be2ecf72e8fa2cfe..87c9fcdcd6dfc36e77dc4bff1adc025196f08912 100644 (file)
@@ -8,14 +8,12 @@ HIGH PRIORITY
 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
index 2954266d2799f24b9cd52136be1f5c5cb8b30177..ea1b894c699523004ecfa9ec0761d94ee847ca50 100644 (file)
@@ -52,7 +52,10 @@ class WXDLLEXPORT wxDate: public wxObject
   wxDate (const wxString& dat);
   wxDate (const wxDate &dt);
 
+#ifndef __SALFORDC__
   operator wxString  (void);
+#endif
+
   void operator =   (const wxDate& date);
   void operator =   (const wxString& date);
 
index a332d31490687051aaaea73d7ab0e0bb43ea218d..eb288dc3d66e46c4dcdab66a93c6d95ae602fda5 100644 (file)
     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
 
index 2c84771ea5ca680ce5de5d285ac84c5b8e468c5c..f2d1dbbdf242076d46f5fe3f449437a768cc5c5b 100644 (file)
@@ -2,7 +2,7 @@
 #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"
index efd5feb55b7ae2c8c7a5eb7bb003655bdde903cf..b22b46cd071048673c95c99ad6389eea8451cfd8 100644 (file)
@@ -159,7 +159,11 @@ public:
   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) 
index 5f762e1625ed996073bfe10883a9c15663eb5937..b5789828662db1b3244ad35185aa4cd2e8b574fa 100644 (file)
@@ -322,15 +322,15 @@ private:
 
 // 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)                                \
index 46c1c5b951bd3dba163fcaab2bf41fdaf4093947..ba8dc5ade1249d625509d43d4beb26c6aa216bc5 100644 (file)
@@ -169,6 +169,7 @@ public:
   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; }
 
@@ -208,5 +209,6 @@ public:
   wxBitmap GetBitmapForDC(wxDC& dc) const;
 
 };
+
 #endif
   // _WX_BITMAP_H_
index a80f9d6243d1e7ac8e2488f2705b682b74e1186f..3c75cb1d7e7b2e6d6b827320ab298fe520f87642 100644 (file)
 
 #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
index a118da0480772e55b0382ec01599c8847f28a9f4..23c577ae53655f9468f02ccf83663ab37fd36c6a 100644 (file)
@@ -77,6 +77,21 @@ END
 // 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"
@@ -90,6 +105,7 @@ WXCURSOR_PLEFT          CURSOR  DISCARDABLE     "wx/msw/pntleft.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
 
 //////////////////////////////////////////////////////////////////////////////
 //
@@ -105,6 +121,9 @@ WXCURSOR_BLANK          CURSOR  DISCARDABLE     "wx/msw/blank.cur"
 // Bitmaps
 //
 
+#ifdef __SALFORDC__
+wxDISABLE_BUTTON_BITMAP         BITMAP  WXINCDIR"wx/msw/disable.bmp"
+#else
 wxDISABLE_BUTTON_BITMAP         BITMAP  "wx/msw/disable.bmp"
-
+#endif
 
index ee4c4650304cb939bda10e8cb6b3fd426f8ccf49..5a742f3dda790cece7e2ddd628b67b78a5b3ff51 100644 (file)
@@ -16,8 +16,6 @@
 #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>
@@ -126,7 +124,7 @@ private:
             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)
index b6729536903305abdead539cc9508af24313bbca..608c8f1f068d9dfb11de81d3f33e8cf553ce2966 100644 (file)
@@ -69,7 +69,7 @@ public:
   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) ) {}
 };
index 347386024cc0b816e946ebda89e08f9a1580a789..74fa153f012886bbcccfea4e73b4eddb0ca8eea4 100644 (file)
 #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
  */
index 99422550b4fea59c94176b7c8e4b7defb7650399..ebd5a5ecd68aceed4ca4919d360c59eab16d2bb7 100644 (file)
@@ -211,7 +211,15 @@ protected:
   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);
   
index 45d51a675221d680a1ea83adac326ea590c9eea5..a0137da9320c29f8b903dae358e2052d1cd792d5 100644 (file)
@@ -55,8 +55,11 @@ public:
     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; }
index b7c00c4f704549b8fbd3aec4164352e3ff1c509b..0643443e9d7413214ff569e7cace69124a19f4df 100644 (file)
@@ -27,7 +27,7 @@
 
 // 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
 
index 5c9fd419e3535a1d06c1af4dcf73a1365fe96007..be7797a5c354c0f515059662578463c7024d44da 100644 (file)
@@ -24,7 +24,7 @@
 #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;
index 3aaf3d2f479b5e43eb5ad240f92f58f86e905f0c..5bc7dbd22a8f1a16feb12dbe2ae473e00e8e92fc 100644 (file)
@@ -159,10 +159,12 @@ void wxDate::operator = (const wxString& dat)
 // Conversion operations
 //////////////////////////////////////////////////////////////
 
+#ifndef __SALFORDC__
 wxDate::operator wxString( void )
 {
   return FormatDate();
 }
+#endif
 
 //////////////////////////////////////////////////////////////
 // Date Arithmetic
index 67e789afba7751228df67303e4be33b297c094f1..08572e333c19ba3c45ec5de1d296622ca608fc48 100644 (file)
 #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
@@ -520,7 +532,7 @@ do_action:  /* this label is used only to access EOF actions */
 
 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"
@@ -528,18 +540,18 @@ Return(EXP);
        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"
@@ -1180,7 +1192,7 @@ void LexFromString(char *buffer)
 {
   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_!
index c8f8b79a04427ed11892820a63d402a1a698b51d..80c8bf09e848954e5edeb23e38cfc7595d2a29f6 100644 (file)
@@ -88,7 +88,7 @@ wxString wxHTTP::GetHeader(const wxString& header)
 {
   wxNode *node = m_headers.Find(header);
   if (!node)
-    return (char *)NULL;
+    return wxEmptyString;
 
   return *((wxString *)node->Data());
 }
index a4f18c0975cf16798de8d1b7a5abc3ef5129d475..853182a88823874600560bbbfef263b7063c41dd 100644 (file)
@@ -401,7 +401,7 @@ wxImageHandler *wxImage::FindHandler( const wxString& name )
     while (node)
     {
         wxImageHandler *handler = (wxImageHandler*)node->Data();
-        if (handler->GetName() == name) return handler;
+        if (handler->GetName().Cmp(name) == 0) return handler;
 
         node = node->Next();
     }
@@ -414,7 +414,7 @@ wxImageHandler *wxImage::FindHandler( const wxString& extension, long bitmapType
     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();
index 35add23be23e87e9c617295761b039adf51908a9..e83c4bc1e17557563e04bb71a82723c54f2702e4 100644 (file)
@@ -330,8 +330,8 @@ void wxLog::DoLog(wxLogLevel level, const char *szString)
       break;
 
     case wxLOG_Info:
-      if ( GetVerbose() )
     case wxLOG_Message:
+      if ( GetVerbose() )
         DoLogString(str + szString);
       // fall through
 
@@ -481,8 +481,8 @@ void wxLogGui::DoLog(wxLogLevel level, const char *szString)
 {
   switch ( level ) {
     case wxLOG_Info:
-      if ( GetVerbose() )
     case wxLOG_Message:
+      if ( GetVerbose() )
         if ( !m_bErrors ) {
           m_aMessages.Add(szString);
           m_bHasMessages = TRUE;
index e89bd8835c7ecf758a47dc93ccf8921f9f530ac7..81245b504f2178305b82504f5223afb975d54a82 100644 (file)
@@ -49,7 +49,7 @@
 #  endif
 #endif
 
-#if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ )
+#if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
 #include <memory.h>
 #endif
 
index 5a65c70b940e411664d506e19ed5f185de2f2eaf..f1d0bebed748271964c2af7a3f90eb2601d75392 100644 (file)
 #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)
 
index b61afc01a44aca9141d48f6958b4ccea8e51a892..9fa736fdd5ae0210f65cbd1d021e59484cd0a1bf 100644 (file)
@@ -26,7 +26,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
-#ifndef __MWERKS__
+
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
 #include <memory.h>
 #endif
 
@@ -114,14 +115,14 @@ const wxSockAddress& wxIPV4address::operator =(const wxSockAddress& addr)
 
 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 {
@@ -136,7 +137,7 @@ bool wxIPV4address::Hostname(const wxString& name)
     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;
@@ -150,22 +151,22 @@ bool wxIPV4address::Hostname(unsigned long addr)
 
 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;
 }
 
@@ -254,7 +255,7 @@ const wxSockAddress& wxIPV6address::operator =(const wxSockAddress& addr)
 
 bool wxIPV6address::Hostname(const wxString& name)
 {
-  struct hostent *hostent;
+  struct hostent *theHostent;
   struct in_addr *addr;
   
   if (name.IsNull())
@@ -262,14 +263,14 @@ bool wxIPV6address::Hostname(const wxString& name)
   
   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;
@@ -283,22 +284,22 @@ bool wxIPV6address::Hostname(unsigned char addr[16])
 
 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;
 }
 
index ef8e6fd1e979fe7a26b6c0392e7e12eb9d1d64fb..6b1d1992a21ab8f9d7b799616aa015b6cc9b5f36 100644 (file)
@@ -185,6 +185,10 @@ int PASCAL FAR __WSAFDIsSet(SOCKET fd, fd_set FAR *set)
 // Some patch ///// END
 /////////////////////////////////////////////////////////////////////////////
 
+#ifdef GetClassInfo
+#undef GetClassInfo
+#endif
+
 // --------------------------------------------------------------
 // Module
 // --------------------------------------------------------------
index de7834e389dabafc2b658b116ac4a3bcb4181088..d9937efe17bd82315152f9e1e65c666234e264f0 100644 (file)
 #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
@@ -871,7 +875,7 @@ wxString& wxString::Trim(bool bFromRight)
         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;
     }
@@ -919,7 +923,7 @@ int wxString::Find(char ch, bool bFromEnd) const
 {
   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)
@@ -927,7 +931,7 @@ int wxString::Find(const char *pszSub) const
 {
   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;
 }
 
 // ---------------------------------------------------------------------------
index 3d458c4e6d996aceee8f70b152d1f4f4e3f486bb..3b9ce52b58112b8878a012d4a36b165e8cd329dd 100644 (file)
@@ -104,7 +104,11 @@ wxTime::wxTime()
         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)
@@ -152,6 +156,7 @@ wxTime::wxTime(const wxDate& date, 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
@@ -164,6 +169,7 @@ wxTime::operator wxDate() const
         date += daycount;
         return date;
 }
+#endif
 
 bool wxTime::IsBetween(const wxTime& a, const wxTime& b) const
 {
@@ -315,10 +321,12 @@ wxTime wxTime::Min(const wxTime& t) const
                  return t;
 }
 
+#ifndef __SALFORDC__
 wxTime::operator char *(void)
 {
   return FormatTime();
 }
+#endif
 
 void wxTime::SetFormat(const wxTime::tFormat lFormat,
                                                          const wxTime::tPrecision lPrecision) {
index ca30cb5be1d37cc0f823afb70e9ca96bbc1ee061..369b3b73d2be8a98c0a7db6bc2bd870aeb41873d 100644 (file)
@@ -33,6 +33,7 @@
 #endif
 
 #include <time.h>
+
 #ifndef __WXMAC__
 #include <sys/types.h>
 #endif
@@ -42,7 +43,8 @@
 #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
 
@@ -147,11 +149,15 @@ bool wxGetLocalTime(long *timeZone, int *dstObserved)
   *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;
index 9fb4a543809c7f8af44a20531aa4f82b017a809c..34079c0f66f4edf028519479b0639a6577b657d0 100644 (file)
@@ -93,7 +93,7 @@ wxString wxStringTokenizer::NextToken()
   pos = FindDelims(m_string, m_delims);
   if (pos == -1) {
     r_string = m_string;
-    m_string = (char *)NULL;
+    m_string = wxEmptyString;
     
     return r_string;
   }
index 2b2e7d65acda8e74db286f13cb65709bdf150f49..fc82bca82c348233741d15691a439a63cfe228cb 100644 (file)
 #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 "/" */
index 299ef6042a2ef87015936cbd45bbfdea53477dad..c3139ccfb6d404471f2c297dd23ea243a201535b 100644 (file)
 #include <string.h>
 #include <stdlib.h>
 
+#ifdef __SALFORDC__
+#include <clib.h>
+#endif
+
 #if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxTextValidator, wxValidator)
 
index 44843a918e5bc1ca4aa326983599b0c1c1aa7614..fa9b47d0965175af9d9992c9036a7ac4e7f68c71 100644 (file)
@@ -808,7 +808,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxProperty, wxObject)
 
 wxProperty::wxProperty(void)
 {
-  m_propertyRole = (char *)NULL;
+  m_propertyRole = wxEmptyString;
   m_propertyValidator = NULL;
   m_propertyWindow = NULL;
   m_enabled = TRUE;
index c36dce6abfc20298938823ff1d5a88857d997504..7814ef4947ccee41b1586a7e04960feea6e09ef8 100644 (file)
@@ -32,7 +32,7 @@ clean:   .SYMBOLIC
     -erase *.err
     -erase *.pch
     -erase *.lib
-    -erase *.lnk
+    -erase $(LNK)
     -erase *.res
     -erase *.exe
     -erase *.lbc
index 8913359f9b52240efea05947c439e338b5c40055..a1b24b0f1ac19544378713d105f33c14ba2d4312 100644 (file)
 // 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>
@@ -207,7 +208,7 @@ bool wxApp::Initialize()
     }
 */
 
-#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"));
@@ -524,7 +525,7 @@ void wxApp::CleanUp()
   if ( wxDisableButtonBrush )
     ::DeleteObject( wxDisableButtonBrush ) ;
 
-#if !defined(__GNUWIN32__) && !defined(__SC__)
+#if !defined(__GNUWIN32__) && !defined(__SC__) && !defined(__SALFORDC__)
   ::OleUninitialize();
 #endif
 
index f51174c5b3fc960156ee43288efe0fca0e12a6b3..4372ee26a476dbb08d89d76ee64625ee31ebde63 100644 (file)
@@ -338,7 +338,7 @@ wxBitmapHandler *wxBitmap::FindHandler(const wxString& name)
   while ( node )
   {
     wxBitmapHandler *handler = (wxBitmapHandler *)node->Data();
-    if ( handler->GetName() == name )
+    if ( (handler->GetName().Cmp(name) == 0) )
       return handler;
     node = node->Next();
   }
@@ -351,8 +351,8 @@ wxBitmapHandler *wxBitmap::FindHandler(const wxString& extension, long bitmapTyp
   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();
   }
index f21e4ff954c70ae03a35324da9cf2aec1db9be21..ef88967086133445d697be1191004726e0e65f1a 100644 (file)
@@ -253,9 +253,17 @@ void wxBitmapButton::DrawButtonDisable( WXHDC dc, int left, int top, int right,
     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 ) ;
 }
 
index 6b88286368886a4c9e1f8c8f1c75a0c4ca0a96b1..fce544bd25e3ef67f40f920a1d92f3d75be76053 100644 (file)
@@ -118,7 +118,8 @@ void wxButton::SetSize(int x, int y, int width, int height, int sizeFlags)
   int cyf;
   char buf[300];
   GetWindowText((HWND) GetHWND(), buf, 300);
-  GetTextExtent(buf, &current_width, &cyf,NULL,NULL,& GetFont());
+  GetTextExtent(buf, &current_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))
@@ -127,7 +128,7 @@ void wxButton::SetSize(int x, int y, int width, int height, int sizeFlags)
   {
     int cx;
     int cy;
-    wxGetCharSize(GetHWND(), &cx, &cy,GetFont());
+    wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
     actualWidth = (int)(current_width + 3*cx) ;
   }
   
index 0fe5de314e27d2a209188efd51f9371a4a72c8bf..1461cf6f4f202ba375b58d6bc97f4bc37f34cdb5 100644 (file)
@@ -144,7 +144,7 @@ void wxCheckBox::SetSize(int x, int y, int width, int height, int sizeFlags)
 
   if ( !str.IsEmpty() )
   {
-    GetTextExtent(str, &current_width, &cyf, NULL, NULL, & GetFont());
+    GetTextExtent(str, &current_width, &cyf, NULL, NULL, & this->GetFont());
     if (w1 < 0)
       w1 = (int)(current_width + RADIO_SIZE);
     if (h1 < 0)
index d36ce7fe087572c7d068adf4dce5fba9b28fd445..26b67c9d366b5965a9989aea9b65ffa139550e11 100644 (file)
@@ -205,7 +205,7 @@ void wxChoice::SetSize(int x, int y, int width, int height, int sizeFlags)
 
   int cx; // button font dimensions
   int cy;
-  wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+  wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
 
   int control_width, control_height;
 
@@ -233,7 +233,7 @@ void wxChoice::SetSize(int x, int y, int width, int height, int sizeFlags)
       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;
       }
index 3bc03e60994c3cdd1e0ede1f75a887d56eb1223f..d9cbc6a244f7a5b843b89793ade826daadb1bb79 100644 (file)
@@ -36,7 +36,7 @@
 
 #include <windows.h>
 
-#ifndef __WIN32__
+#if !defined(__WIN32__) || defined(__SALFORDC__)
 #include <commdlg.h>
 #endif
 
index ed29152759e35732ec46d39c20e227acef3f64f1..7e5d0959de518e953b2927976d3897f71bda9ab2 100644 (file)
@@ -41,7 +41,8 @@
 #include <windows.h>
 #include <stdio.h>
 #include <stdlib.h>
-#ifndef __MWERKS__
+
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
 #include <memory.h>
 #endif
 
index f592823605afdddd16eec07d5922d7b9fe481986..6921a9247293b3b6204f78f9d7c7bc97cde0fef1 100644 (file)
@@ -32,7 +32,7 @@
 #include <wx/msw/dibutils.h>
 
 #if defined(__WIN32__)
-#ifndef __MWERKS__
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
     #include <memory.h>             // for _fmemcpy()
 #endif
         #define _huge
@@ -133,7 +133,7 @@ int DibWriteFile(LPSTR szFile, LPBITMAPINFOHEADER lpbi)
   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);
index 4a97a16e14f4e587c554bc22081a6d06daed473e..30d397bf4fc07320ceef4999236879c9eddc3732 100644 (file)
@@ -32,7 +32,7 @@
 
 #include <windows.h>
 
-#ifndef __WIN32__
+#if !defined(__WIN32__) || defined(__SALFORDC__)
 #include <commdlg.h>
 #endif
 
index d2c23a9d410b806d9958e65a71e2ee8d0687f3f9..69a1daa4673b88f5934d85f2611f15453e92b2d2 100644 (file)
@@ -31,7 +31,7 @@
 
 #include <windows.h>
 
-#ifndef __WIN32__
+#if !defined(__WIN32__) || defined(__SALFORDC__)
 #include <commdlg.h>
 #endif
 
index 6382aba2f9f23eb59b7f4456e43ef2f8cfded848..090bf260e2d1468b35a53248a01fc8e1eb86ae27 100644 (file)
@@ -648,7 +648,7 @@ bool wxFrame::MSWOnPaint(void)
       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)
       {
@@ -894,9 +894,14 @@ void wxFrame::OnMenuHighlight(wxMenuEvent& event)
       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
       }
     }
   }
index f2d9d22743b5790cb59a660c3bfed2df9a0389da..515dbe7b5d276902a11085487ed186e7ad852ce7 100644 (file)
@@ -655,7 +655,7 @@ void FAR PASCAL Draw3DLine(HDC hdc, WORD x, WORD y, WORD nLen,
 
 
 /* get the includes we need */
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include <malloc.h>
 #endif
 #include <stdio.h>
index 4d969b52aba987b89fa8cbe906109c0ec37c80d4..7cdad3e830455ab03de1fee6808975d510c665b6 100644 (file)
@@ -29,6 +29,9 @@
 #include "wx/dcclient.h"
 #endif
 
+#include "wx/log.h"
+#include "wx/intl.h"
+
 #include "wx/msw/imaglist.h"
 #include "wx/msw/private.h"
 
index 6676582e63461786bb5679781d3d634473d2de11..cc607851816f813f60235b70e1142fbd764c9405 100644 (file)
@@ -154,7 +154,7 @@ const wxString& wxIniConfig::GetPath() const
   // 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 {
index d5348816b6eb283c2ba7ce20b127158179b0e651..2b973f90d25c484a6144bf46fe50e18b79b014e4 100644 (file)
@@ -498,7 +498,7 @@ void wxListBox::SetSize(int x, int y, int width, int height, int sizeFlags)
   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;
 
index 0bf8a3c46a67494526722779244d797358f72183..0259a517a5d75bab5d86530ec1af45a8058db1be 100644 (file)
@@ -5,75 +5,19 @@
 #
 # 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 \
@@ -116,7 +60,6 @@ COMMONOBJS = cmndata.obj \
   layout.obj \
   log.obj \
   memory.obj \
-  mimetype.obj \
   module.obj \
   object.obj \
   prntbase.obj \
@@ -156,6 +99,7 @@ COMMONOBJS = cmndata.obj \
   wincmn.obj
 
 # Can't compile these yet under Salford C++
+#  mimetype.obj \
 #  odbc.obj \
 #  db.obj \
 #  dbtable.obj \
@@ -187,7 +131,6 @@ MSWOBJS = \
   dialog.obj \
   dib.obj \
   dibutils.obj \
-  dirdlg.obj \
   filedlg.obj \
   font.obj \
   fontdlg.obj \
@@ -242,10 +185,12 @@ MSWOBJS = \
   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 \
@@ -256,23 +201,18 @@ OLEOBJS = \
   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
 
@@ -383,12 +323,18 @@ gaugemsw.obj:     $(MSWDIR)\gaugemsw.cpp
 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
 
@@ -417,7 +363,7 @@ minifram.obj:     $(MSWDIR)\minifram.cpp
   $(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
@@ -471,7 +417,7 @@ slidrmsw.obj:     $(MSWDIR)\slidrmsw.cpp
   $(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
@@ -683,7 +629,7 @@ sckipc.obj:     $(COMMDIR)\sckipc.cpp
   $(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
@@ -701,7 +647,7 @@ matrix.obj:     $(COMMDIR)\matrix.cpp
   $(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
@@ -743,6 +689,9 @@ choicdgg.obj:     $(GENDIR)\choicdgg.cpp
 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
 
@@ -911,9 +860,7 @@ zutil.obj: zutil.c zutil.h zlib.h zconf.h
 
 
 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
@@ -921,32 +868,32 @@ $(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.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
index af978287650e478b9165a8ee9d11cb557497a94f..a125464921cacad65efeb75895fa815ec0871a7d 100644 (file)
@@ -335,12 +335,18 @@ gaugemsw.obj:     $(MSWDIR)\gaugemsw.cpp
 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) $<
 
index 6809100b60750f473fcd29cecfac8dcfe3a5db6c..2278e11d3f45c0b34362b7f23374296b8df1c6d2 100644 (file)
@@ -486,8 +486,10 @@ void wxMenu::SetHelpString(int itemId, const wxString& helpString)
 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)
index e56a02e039e2041eda111d6781bc2921671f7c9c..916819d272beeb9dd78ae7ee8ba6368212fcec11 100644 (file)
 
 #include <windows.h>
 
+#ifdef GetClassInfo
+#undef GetClassInfo
+#endif
+
+#ifdef GetClassName
+#undef GetClassName
+#endif
+
 // ============================================================================
 // implementation
 // ============================================================================
index 921cac0ab584e35cc25b9fbf6634fd8ce0880230..d750762bb69ac4df2a46b97fc9edc80dd30b4adb 100644 (file)
@@ -72,7 +72,7 @@ wxMetafile::wxMetafile(const wxString& file)
 
     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);
 }
 
index 8192f2009255c71c738581d072032aab559db5e4..cabb6e5edec80841697107119ed9cdc8cfdd1f3e 100644 (file)
@@ -89,7 +89,7 @@ wxMiniFrame::~wxMiniFrame(void)
 
 #include <string.h>
 
-#if !defined( __WATCOMC__ ) && !defined( __MWERKS__ )
+#if !defined( __WATCOMC__ ) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
 #include <memory.h>
 #endif
 
index 31cf9641ce117035fa9853d85c47dc23e57cce82..f66d48fde26e475e109b0245249a5aee37cce352 100644 (file)
@@ -172,7 +172,7 @@ bool wxWindowsPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt
   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 *)
index dd9e9421fac28831ef28b594d3b2c097ed3d6ea3..87a1f95af00c9c066626e210f55000b7a122d1cd 100644 (file)
@@ -409,7 +409,7 @@ void wxRadioBox::SetSize(int x, int y, int width, int height, int sizeFlags)
   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.
@@ -425,7 +425,7 @@ void wxRadioBox::SetSize(int x, int y, int width, int height, int sizeFlags)
     {
       // It's a labelled toggle
       GetWindowText((HWND) m_radioButtons[i], buf, 300);
-      GetTextExtent(buf, &current_width, &cyf,NULL,NULL, & GetFont());
+      GetTextExtent(buf, &current_width, &cyf,NULL,NULL, & this->GetFont());
       eachWidth = (int)(current_width + RADIO_SIZE);
       eachHeight = (int)((3*cyf)/2);
     }
@@ -505,7 +505,7 @@ void wxRadioBox::SetSize(int x, int y, int width, int height, int sizeFlags)
     {
       // It's a labeled item
       GetWindowText((HWND) m_radioButtons[i], buf, 300);
-      GetTextExtent(buf, &current_width, &cyf,NULL,NULL, & GetFont());
+      GetTextExtent(buf, &current_width, &cyf,NULL,NULL, & this->GetFont());
 
       // How do we find out radio button bitmap size!!
       // By adjusting them carefully, manually :-)
index be2195e2bc6be1700d7d6fc57ad7f8f5c0f2a3de..eb067a09a39640229660e6e47fa5471617d5eae7 100644 (file)
@@ -115,7 +115,7 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id,
   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)
index 9047d9bd7cd68b2ffe878153aa57c69e6a8ad160..f572ef6eebf6be335570bd38f5ab609bc23873c1 100644 (file)
@@ -370,7 +370,7 @@ void wxSlider95::SetSize(int x, int y, int width, int height, int sizeFlags)
   int cy;
   int cyf;
 
-  wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+  wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
 
   if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL)
   {
@@ -379,12 +379,12 @@ void wxSlider95::SetSize(int x, int y, int width, int height, int sizeFlags)
     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));
@@ -440,11 +440,11 @@ void wxSlider95::SetSize(int x, int y, int width, int height, int sizeFlags)
        {
     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)
     {
index 452f520fa6f36caf5daeb99ab27e09bfd6c9fb75..3ce6a0b075d23b7d68d7249aa84072d21d2decaa 100644 (file)
@@ -342,7 +342,7 @@ void wxSliderMSW::SetSize(int x, int y, int width, int height, int sizeFlags)
   int cy;
   int cyf;
 
-  wxGetCharSize(GetHWND(), &cx, &cy,& GetFont());
+  wxGetCharSize(GetHWND(), &cx, &cy,& this->GetFont());
 
   if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL)
   {
@@ -351,12 +351,12 @@ void wxSliderMSW::SetSize(int x, int y, int width, int height, int sizeFlags)
     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));
@@ -402,11 +402,11 @@ void wxSliderMSW::SetSize(int x, int y, int width, int height, int sizeFlags)
        {
     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)
     {
index eb82270972f24a35402388ca42ec610053aa0823..0be462b295667065d7f678ba416eec9f7b675ca3 100644 (file)
@@ -131,10 +131,10 @@ void wxStaticBox::SetSize(int x, int y, int width, int height, int sizeFlags)
   int cy;
   int cyf;
 
-  wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+  wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
 
   GetTextExtent(wxGetWindowText(m_hWnd), &current_width, &cyf,
-                NULL,NULL, & GetFont());
+                NULL,NULL, & this->GetFont());
   if ( w1 < 0 )
    w1 = current_width + 3*cx;
   if ( h1 < 0 )
index 5f98b771806a05e87707defc36f02bbbe5a571be..1499d2463e10c83a48e267b62b09eb9c76aeac0a 100644 (file)
@@ -30,7 +30,6 @@
 #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
index 5c9a0cfea54de3c4ac57973f27a65f986f5e7ba2..47638caa1bde92c5b91fe25bfd24675e137e3674 100644 (file)
@@ -116,7 +116,7 @@ void wxStaticText::SetSize(int x, int y, int width, int height, int sizeFlags)
   int cyf;
 
   ::GetWindowText((HWND) GetHWND(), buf, 300);
-  GetTextExtent(buf, &current_width, &cyf, NULL, NULL, & GetFont());
+  GetTextExtent(buf, &current_width, &cyf, NULL, NULL, & this->GetFont());
 
   int ww, hh;
   GetSize(&ww, &hh);
@@ -128,7 +128,7 @@ void wxStaticText::SetSize(int x, int y, int width, int height, int sizeFlags)
   {
     int cx;
     int cy;
-    wxGetCharSize(GetHWND(), &cx, &cy, & GetFont());
+    wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
     actualWidth = (int)(current_width + cx) ;
   }
 
@@ -161,7 +161,7 @@ void wxStaticText::SetLabel(const wxString& label)
     ::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);
index 0a83802f7b700d274bff787cae4e83d9cb51d589..6f0a4dd47f34b90d701fe930a2d5294c82e3f6f0 100644 (file)
@@ -26,7 +26,7 @@
 
 #if defined(__WIN95__)
 
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include "malloc.h"
 #endif
 
index 68c7ac60aa166b993a29445e3c85e88604635fa4..809c2b7af8b877a2e452a1408dd86616643af3d8 100644 (file)
 #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 );
 
index 83347ece08366ff01422d6d24f15a56f6876415e..fbf1a2848a2441b45b9733527bdb34ef2266bdcf 100644 (file)
@@ -26,7 +26,7 @@
 
 #if wxUSE_BUTTONBAR && wxUSE_TOOLBAR && defined(__WIN95__)
 
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include "malloc.h"
 #endif
 
index cfbe78c95d78507dac44ef3ab43601eaaa2d8482..625cfafd027a263917451ac4d6b745b060d83f17 100644 (file)
 
 #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"
index 614be2e193084f1011ac9da7c906a6fbc3ed4dd0..0d1a52dc6ffd4a4467b26ed4c41615496ccdb246 100644 (file)
@@ -56,7 +56,7 @@
 #if defined(__BORLANDC__) && !defined(__WIN32__)
 #include <alloc.h>
 #else
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include <malloc.h>
 #endif
 #define farmalloc malloc
@@ -335,7 +335,7 @@ void wxTextCtrl::SetSize(int x, int y, int width, int height, int sizeFlags)
   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;
 
@@ -535,9 +535,16 @@ bool wxTextCtrl::LoadFile(const wxString& file)
       // 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.
index 07b86000b98f931efb22862e57083c3673950e25..f33b099016901eee9aafec36b5c731daa9f4f3c2 100644 (file)
@@ -34,7 +34,9 @@
 #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"
 
@@ -58,8 +60,6 @@
 #undef GetClassInfo
 #endif
 
-#include "wx/msw/treectrl.h"
-
 // Bug in headers, sometimes
 #ifndef TVIS_FOCUSED
     #define TVIS_FOCUSED            0x0001
index 877a9b4aca72e1ce1e9df589a1ffbbccbd96a388..c12877f753fa3bc221830f908c8cb221da9479b3 100644 (file)
@@ -34,8 +34,9 @@
 
 #include <ctype.h>
 
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include <direct.h>
+
 #ifndef __MWERKS__
 #include <dos.h>
 #endif
@@ -981,7 +982,7 @@ To download dbwin32, see e.g.:
 http://ftp.digital.com/pub/micro/NT/WinSite/programr/dbwin32.zip
 */
 
-#ifndef __MWERKS__
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
 #include <process.h>
 #endif
 
@@ -1060,7 +1061,7 @@ void OutputDebugStringW95(const char* lpOutputString, ...)
     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();
index 25edebce1da676752bc0781d290f7eb4f359fa34..4cf07e8861e699a590c2a95a2968732af6eb3712 100644 (file)
@@ -33,7 +33,7 @@
 
 #include <ctype.h>
 
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include <direct.h>
 #ifndef __MWERKS__
 #include <dos.h>
index 9d1f5e24e160169d258ddad4031c8ae1de06c343..45ca481c75270823df0044605c3aeee3bfad49ca 100644 (file)
@@ -125,7 +125,7 @@ wxWindow *wxWindow::FindItem(int id) const
         if (childWin->IsKindOf(CLASSINFO(wxControl)))
         {
             wxControl *item = (wxControl *)childWin;
-            if (item->m_windowId == id)
+            if (item->GetId() == id)
                 return item;
             else
             {
@@ -3102,10 +3102,14 @@ bool wxWindow::MSWOnEraseBkgnd (WXHDC pDC)
 
 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);