Some changes in a vain attempt to make Salford C++ work; added FAQ files;

started wxTime documentation.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
1999-01-19 11:00:22 +00:00
parent 15d5ab6757
commit ce3ed50dbe
82 changed files with 951 additions and 205 deletions

View File

@@ -16,7 +16,8 @@ src/makewat.env
src/makeprog.wat src/makeprog.wat
src/makesc.env src/makesc.env
src/makeg95.env src/makeg95.env
src/makem95.env src/makesl.env
src/makeprog.sl
src/ntwxwin.mak src/ntwxwin.mak
src/makefile.bcc src/makefile.bcc
src/makefile.dos src/makefile.dos

43
docs/html/faq.htm Normal file
View File

@@ -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>

68
docs/html/faqgen.htm Normal file
View File

@@ -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>

47
docs/html/faqgtk.htm Normal file
View File

@@ -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>

37
docs/html/faqmac.htm Normal file
View File

@@ -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>

96
docs/html/faqmot.htm Normal file
View File

@@ -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>

99
docs/html/faqmsw.htm Normal file
View File

@@ -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>

View 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="../licendoc.txt">Documentation Licence</a>,
<a href="../lgpl.txt">L-GPL</a>, <a href="../lgpl.txt">L-GPL</a>,
<a href="../gpl.txt">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>, <li>ToDo: <a href="../todo.txt"><b>General ToDo</b></a>,
<a href="../gtk/todo.txt">wxGTK</a>, <a href="../gtk/todo.txt">wxGTK</a>,
<a href="../motif/todo.txt">wxMotif</a>, <a href="../motif/todo.txt">wxMotif</a>,

View File

@@ -1,17 +1,239 @@
\section{\class{wxTime}}\label{wxtime} \section{\class{wxTime}}\label{wxtime}
A class for manipulating times. Representation of time and date.
TODO.
\wxheading{Derived from} \wxheading{Derived from}
\helpref{wxObject}{wxobject} \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} \wxheading{See also}
\helpref{wxDate}{wxDate} \helpref{wxDate}{wxDate}
\latexignore{\rtfignore{\wxheading{Members}}} \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.

View 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 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! 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 Gnu-Win32 b19/b20/Mingw32 compilation
------------------------------------- -------------------------------------

View File

@@ -8,14 +8,12 @@ HIGH PRIORITY
Add further controls and properties to Dialog Editor. Add further controls and properties to Dialog Editor.
Update manual. Update manual.
wxTempFile
wxMsgCatalog etc. wxMsgCatalog etc.
wxRegKey wxRegKey
wxStatusBar95 and wxFrame status bar functions wxStatusBar95 and wxFrame status bar functions
wxListBox changes (for ownerdraw functionality) wxListBox changes (for ownerdraw functionality)
wxThread DONE (except for topic overview) wxThread DONE (except for topic overview)
wxString PARTLY DONE wxString PARTLY DONE
Drag and drop (change API if required, e.g. const).
wxBaseArray, other arrays wxBaseArray, other arrays
(wxOwnerDrawn) (wxOwnerDrawn)
Document the include file for each class Document the include file for each class

View File

@@ -52,7 +52,10 @@ class WXDLLEXPORT wxDate: public wxObject
wxDate (const wxString& dat); wxDate (const wxString& dat);
wxDate (const wxDate &dt); wxDate (const wxDate &dt);
#ifndef __SALFORDC__
operator wxString (void); operator wxString (void);
#endif
void operator = (const wxDate& date); void operator = (const wxDate& date);
void operator = (const wxString& date); void operator = (const wxString& date);

View File

@@ -133,7 +133,7 @@
typedef unsigned char bool; typedef unsigned char bool;
#endif #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 #define byte unsigned char
#endif #endif

View File

@@ -2,7 +2,7 @@
#define _WX_DIRDLG_H_BASE_ #define _WX_DIRDLG_H_BASE_
#if defined(__WXMSW__) #if defined(__WXMSW__)
#if defined(__WIN16__) || defined(__GNUWIN32__) #if defined(__WIN16__) || defined(__GNUWIN32__) || defined(__SALFORDC__)
#include "wx/generic/dirdlgg.h" #include "wx/generic/dirdlgg.h"
#else #else
#include "wx/msw/dirdlg.h" #include "wx/msw/dirdlg.h"

View File

@@ -159,7 +159,11 @@ public:
bool HasMask() const; bool HasMask() const;
inline wxImage& operator = (const wxImage& image) 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) inline bool operator == (const wxImage& image)
{ return m_refData == image.m_refData; } { return m_refData == image.m_refData; }
inline bool operator != (const wxImage& image) inline bool operator != (const wxImage& image)

View File

@@ -322,15 +322,15 @@ private:
// declare a list type named 'name' and containing elements of type 'T *' // 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 // (as a by product of macro expansion you also get wx##name##Node
// wxNode-dervied type) // wxNode-derived type)
// //
// implementation details: // 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 // 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 // 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 // 2. We redefine all non-type-safe wxList functions with type-safe versions
// which don't take any place (everything is inline), but bring compile // which don't take any space (everything is inline), but bring compile
// time error checking. // time error checking.
#define WX_DECLARE_LIST_2(T, name, nodetype) \ #define WX_DECLARE_LIST_2(T, name, nodetype) \

View File

@@ -169,6 +169,7 @@ public:
void SetMask(wxMask *mask) ; void SetMask(wxMask *mask) ;
inline wxBitmap& operator = (const wxBitmap& bitmap) { if (*this == bitmap) return (*this); Ref(bitmap); return *this; } 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; }
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; wxBitmap GetBitmapForDC(wxDC& dc) const;
}; };
#endif #endif
// _WX_BITMAP_H_ // _WX_BITMAP_H_

View File

@@ -257,6 +257,15 @@
#undef wxUSE_DEBUG_NEW_ALWAYS #undef wxUSE_DEBUG_NEW_ALWAYS
#define wxUSE_DEBUG_NEW_ALWAYS 0 #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 #endif
// Minimal setup e.g. for compiling small utilities // Minimal setup e.g. for compiling small utilities

View File

@@ -77,6 +77,21 @@ END
// Standard wxWindows Cursors // 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_HAND CURSOR DISCARDABLE "wx/msw/hand.cur"
WXCURSOR_BULLSEYE CURSOR DISCARDABLE "wx/msw/bullseye.cur" WXCURSOR_BULLSEYE CURSOR DISCARDABLE "wx/msw/bullseye.cur"
WXCURSOR_PENCIL CURSOR DISCARDABLE "wx/msw/pencil.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_PRIGHT CURSOR DISCARDABLE "wx/msw/pntright.cur"
WXCURSOR_QARROW CURSOR DISCARDABLE "wx/msw/query.cur" WXCURSOR_QARROW CURSOR DISCARDABLE "wx/msw/query.cur"
WXCURSOR_BLANK CURSOR DISCARDABLE "wx/msw/blank.cur" WXCURSOR_BLANK CURSOR DISCARDABLE "wx/msw/blank.cur"
#endif
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// //
@@ -105,6 +121,9 @@ WXCURSOR_BLANK CURSOR DISCARDABLE "wx/msw/blank.cur"
// Bitmaps // Bitmaps
// //
#ifdef __SALFORDC__
wxDISABLE_BUTTON_BITMAP BITMAP WXINCDIR"wx/msw/disable.bmp"
#else
wxDISABLE_BUTTON_BITMAP BITMAP "wx/msw/disable.bmp" wxDISABLE_BUTTON_BITMAP BITMAP "wx/msw/disable.bmp"
#endif

View File

@@ -16,8 +16,6 @@
#pragma interface "ownerdrw.h" #pragma interface "ownerdrw.h"
#endif #endif
typedef wxColour wxColor;
// No, don't do this: BC++ 5 complains that size_t already been defined. // No, don't do this: BC++ 5 complains that size_t already been defined.
// typedef unsigned int size_t; // typedef unsigned int size_t;
#include <stddef.h> #include <stddef.h>
@@ -126,7 +124,7 @@ private:
m_bOwnerDrawn; // true if something is non standard m_bOwnerDrawn; // true if something is non standard
wxFont m_font; // font to use for drawing wxFont m_font; // font to use for drawing
wxColor m_colText, // color ----"---"---"---- wxColour m_colText, // color ----"---"---"----
m_colBack; // background color m_colBack; // background color
wxBitmap m_bmpChecked, // bitmap to put near the item wxBitmap m_bmpChecked, // bitmap to put near the item
m_bmpUnchecked; // (checked is used also for 'uncheckable' items) m_bmpUnchecked; // (checked is used also for 'uncheckable' items)

View File

@@ -69,7 +69,7 @@ public:
virtual bool Abort() = 0; virtual bool Abort() = 0;
virtual wxInputStream *GetInputStream(const wxString& path) = 0; virtual wxInputStream *GetInputStream(const wxString& path) = 0;
virtual wxProtocolError GetError() = 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 SetUser(const wxString& WXUNUSED(user)) {}
virtual void SetPassword(const wxString& WXUNUSED(passwd) ) {} virtual void SetPassword(const wxString& WXUNUSED(passwd) ) {}
}; };

View File

@@ -42,6 +42,10 @@
#define wxDLG_POINT(x, y, parent, useDlgUnits) (useDlgUnits ? parent->ConvertDialogToPixel(wxPoint(x, y)) : wxPoint(x, y)) #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)) #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 * Internal format for control/panel item
*/ */

View File

@@ -211,8 +211,16 @@ protected:
friend class wxSocketServer; friend class wxSocketServer;
friend class wxSocketHandler; friend class wxSocketHandler;
#ifdef __SALFORDC__
public:
#endif
wxSocketBase(wxSockFlags flags, wxSockType type); wxSocketBase(wxSockFlags flags, wxSockType type);
#ifdef __SALFORDC__
protected:
#endif
bool _Wait(long seconds, long microseconds, int type); bool _Wait(long seconds, long microseconds, int type);
// Set "my" handler // Set "my" handler

View File

@@ -55,8 +55,11 @@ public:
wxTime(const wxDate&, hourTy h =0, minuteTy m =0, secondTy s=0, bool dst =FALSE); wxTime(const wxDate&, hourTy h =0, minuteTy m =0, secondTy s=0, bool dst =FALSE);
// Convert to string // Convert to string
#ifndef __SALFORDC__
operator char * (void); operator char * (void);
operator wxDate() const; 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; } 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; }

View File

@@ -27,7 +27,7 @@
// Comment this out if you don't mind slower compilation of the wxWindows // Comment this out if you don't mind slower compilation of the wxWindows
// library // library
#ifndef __WXMAC__ #if !defined(__WXMAC__) && !defined(__SALFORDC__)
#include <windows.h> #include <windows.h>
#endif #endif

View File

@@ -24,7 +24,7 @@
#include "test.h" #include "test.h"
// If 1, use a dialog. Otherwise use a frame. // If 1, use a dialog. Otherwise use a frame.
#define USE_TABBED_DIALOG 0 #define USE_TABBED_DIALOG 1
MyDialog* dialog = (MyDialog *) NULL; MyDialog* dialog = (MyDialog *) NULL;
MyFrame* frame = (MyFrame *) NULL; MyFrame* frame = (MyFrame *) NULL;

View File

@@ -159,10 +159,12 @@ void wxDate::operator = (const wxString& dat)
// Conversion operations // Conversion operations
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
#ifndef __SALFORDC__
wxDate::operator wxString( void ) wxDate::operator wxString( void )
{ {
return FormatDate(); return FormatDate();
} }
#endif
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
// Date Arithmetic // Date Arithmetic

View File

@@ -21,7 +21,19 @@
#ifdef __cplusplus #ifdef __cplusplus
#include <stdlib.h> #include <stdlib.h>
#ifdef __SALFORDC__
#include <io.h>
#include <clib.h>
#else
#include <osfcn.h> #include <osfcn.h>
#endif
#ifdef __cplusplus
static int yyinput()
#else
static int input()
#endif
/* use prototypes in function declarations */ /* use prototypes in function declarations */
#define YY_USE_PROTOS #define YY_USE_PROTOS
@@ -520,7 +532,7 @@ do_action: /* this label is used only to access EOF actions */
case 1: case 1:
# line 60 "lexer.l" # line 60 "lexer.l"
{yylval.s = strdup(yytext); Return(INTEGER);} {yylval.s = strdup((const char*) yytext); Return(INTEGER);}
YY_BREAK YY_BREAK
case 2: case 2:
# line 62 "lexer.l" # line 62 "lexer.l"
@@ -528,18 +540,18 @@ Return(EXP);
YY_BREAK YY_BREAK
case 3: case 3:
# line 64 "lexer.l" # line 64 "lexer.l"
{yylval.s = strdup(yytext); Return(WORD);} {yylval.s = strdup((const char*) yytext); Return(WORD);}
YY_BREAK YY_BREAK
case 4: case 4:
# line 66 "lexer.l" # line 66 "lexer.l"
{int len = strlen(yytext); {int len = strlen((const char*) yytext);
yytext[len-1] = 0; yytext[len-1] = 0;
yylval.s = strdup(yytext+1); yylval.s = strdup((const char*) (yytext+1));
Return(WORD);} Return(WORD);}
YY_BREAK YY_BREAK
case 5: case 5:
# line 71 "lexer.l" # line 71 "lexer.l"
{yylval.s = strdup(yytext); Return(STRING);} {yylval.s = strdup((const char*) yytext); Return(STRING);}
YY_BREAK YY_BREAK
case 6: case 6:
# line 73 "lexer.l" # line 73 "lexer.l"
@@ -1180,7 +1192,7 @@ void LexFromString(char *buffer)
{ {
lex_read_from_string = 1; lex_read_from_string = 1;
lex_buffer = buffer; lex_buffer = buffer;
lex_buffer_length = strlen(buffer); lex_buffer_length = strlen((const char*) buffer);
lex_string_ptr = 0; lex_string_ptr = 0;
/* Don't know why this is necessary, but otherwise /* Don't know why this is necessary, but otherwise
* lex only works _once_! * lex only works _once_!

View File

@@ -88,7 +88,7 @@ wxString wxHTTP::GetHeader(const wxString& header)
{ {
wxNode *node = m_headers.Find(header); wxNode *node = m_headers.Find(header);
if (!node) if (!node)
return (char *)NULL; return wxEmptyString;
return *((wxString *)node->Data()); return *((wxString *)node->Data());
} }

View File

@@ -401,7 +401,7 @@ wxImageHandler *wxImage::FindHandler( const wxString& name )
while (node) while (node)
{ {
wxImageHandler *handler = (wxImageHandler*)node->Data(); wxImageHandler *handler = (wxImageHandler*)node->Data();
if (handler->GetName() == name) return handler; if (handler->GetName().Cmp(name) == 0) return handler;
node = node->Next(); node = node->Next();
} }
@@ -414,7 +414,7 @@ wxImageHandler *wxImage::FindHandler( const wxString& extension, long bitmapType
while (node) while (node)
{ {
wxImageHandler *handler = (wxImageHandler*)node->Data(); wxImageHandler *handler = (wxImageHandler*)node->Data();
if ( handler->GetExtension() == extension && if ( (handler->GetExtension().Cmp(extension) == 0) &&
(bitmapType == -1 || handler->GetType() == bitmapType) ) (bitmapType == -1 || handler->GetType() == bitmapType) )
return handler; return handler;
node = node->Next(); node = node->Next();

View File

@@ -330,8 +330,8 @@ void wxLog::DoLog(wxLogLevel level, const char *szString)
break; break;
case wxLOG_Info: case wxLOG_Info:
if ( GetVerbose() )
case wxLOG_Message: case wxLOG_Message:
if ( GetVerbose() )
DoLogString(str + szString); DoLogString(str + szString);
// fall through // fall through
@@ -481,8 +481,8 @@ void wxLogGui::DoLog(wxLogLevel level, const char *szString)
{ {
switch ( level ) { switch ( level ) {
case wxLOG_Info: case wxLOG_Info:
if ( GetVerbose() )
case wxLOG_Message: case wxLOG_Message:
if ( GetVerbose() )
if ( !m_bErrors ) { if ( !m_bErrors ) {
m_aMessages.Add(szString); m_aMessages.Add(szString);
m_bHasMessages = TRUE; m_bHasMessages = TRUE;

View File

@@ -49,7 +49,7 @@
# endif # endif
#endif #endif
#if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ ) #if !defined(__WATCOMC__) && !defined(__VMS__) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
#include <memory.h> #include <memory.h>
#endif #endif

View File

@@ -24,7 +24,14 @@
#include "wx/hash.h" #include "wx/hash.h"
#include "wx/listimpl.cpp" #include "wx/listimpl.cpp"
#ifdef __SALFORDC__
void wxwxModuleListNode::DeleteData()
{
delete (_WX_LIST_ITEM_TYPE_wxModuleList *)GetData();
}
#else
WX_DEFINE_LIST(wxModuleList); WX_DEFINE_LIST(wxModuleList);
#endif
IMPLEMENT_CLASS(wxModule, wxObject) IMPLEMENT_CLASS(wxModule, wxObject)

View File

@@ -26,7 +26,8 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <ctype.h> #include <ctype.h>
#ifndef __MWERKS__
#if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h> #include <memory.h>
#endif #endif
@@ -114,14 +115,14 @@ const wxSockAddress& wxIPV4address::operator =(const wxSockAddress& addr)
bool wxIPV4address::Hostname(const wxString& name) bool wxIPV4address::Hostname(const wxString& name)
{ {
struct hostent *hostent; struct hostent *theHostent;
struct in_addr *addr; struct in_addr *addr;
if (name.IsNull()) if (name.IsNull())
return FALSE; return FALSE;
if (!name.IsNumber()) { if (!name.IsNumber()) {
if ((hostent = gethostbyname(name.GetData())) == 0) { if ((theHostent = gethostbyname(name.GetData())) == 0) {
return FALSE; return FALSE;
} }
} else { } else {
@@ -136,7 +137,7 @@ bool wxIPV4address::Hostname(const wxString& name)
return TRUE; 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; m_addr->sin_addr.s_addr = addr[0].s_addr;
return TRUE; return TRUE;
@@ -150,22 +151,22 @@ bool wxIPV4address::Hostname(unsigned long addr)
bool wxIPV4address::Service(const wxString& name) bool wxIPV4address::Service(const wxString& name)
{ {
struct servent *servent; struct servent *theServent;
if (name.IsNull()) if (name.IsNull())
return FALSE; return FALSE;
if (!name.IsNumber()) { if (!name.IsNumber()) {
if ((servent = getservbyname(name, "tcp")) == 0) if ((theServent = getservbyname(name, "tcp")) == 0)
return FALSE; return FALSE;
} else { } else {
if ((servent = getservbyport(atoi(name), "tcp")) == 0) { if ((theServent = getservbyport(atoi(name), "tcp")) == 0) {
m_addr->sin_port = htons(atoi(name)); m_addr->sin_port = htons(atoi(name));
return TRUE; return TRUE;
} }
} }
m_addr->sin_port = servent->s_port; m_addr->sin_port = theServent->s_port;
return TRUE; return TRUE;
} }
@@ -254,7 +255,7 @@ const wxSockAddress& wxIPV6address::operator =(const wxSockAddress& addr)
bool wxIPV6address::Hostname(const wxString& name) bool wxIPV6address::Hostname(const wxString& name)
{ {
struct hostent *hostent; struct hostent *theHostent;
struct in_addr *addr; struct in_addr *addr;
if (name.IsNull()) if (name.IsNull())
@@ -262,14 +263,14 @@ bool wxIPV6address::Hostname(const wxString& name)
if (!name.IsNumber()) { if (!name.IsNumber()) {
hostent = gethostbyname2((char*) name, AF_INET6); hostent = gethostbyname2((char*) name, AF_INET6);
if (!hostent) if (!theHostent)
return FALSE; return FALSE;
} else { } else {
// Don't how to do // Don't how to do
return FALSE; 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; m_addr->sin6_addr.s6_addr = addr[0].s6_addr;
return TRUE; return TRUE;
@@ -283,22 +284,22 @@ bool wxIPV6address::Hostname(unsigned char addr[16])
bool wxIPV6address::Service(const char *name) bool wxIPV6address::Service(const char *name)
{ {
struct servent *servent; struct servent *theServent;
if (!name || !strlen(name)) if (!name || !strlen(name))
return FALSE; return FALSE;
if (!isdigit(*name)) { if (!isdigit(*name)) {
if ((servent = getservbyname((char*) name, "tcp")) == 0) if ((theServent = getservbyname((char*) name, "tcp")) == 0)
return FALSE; return FALSE;
} else { } else {
if ((servent = getservbyport(atoi(name), "tcp")) == 0) { if ((theServent = getservbyport(atoi(name), "tcp")) == 0) {
m_addr->sin_port = htons(atoi(name)); m_addr->sin_port = htons(atoi(name));
return TRUE; return TRUE;
} }
} }
m_addr->sin_port = servent->s_port; m_addr->sin_port = theServent->s_port;
return TRUE; return TRUE;
} }

View File

@@ -185,6 +185,10 @@ int PASCAL FAR __WSAFDIsSet(SOCKET fd, fd_set FAR *set)
// Some patch ///// END // Some patch ///// END
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef GetClassInfo
#undef GetClassInfo
#endif
// -------------------------------------------------------------- // --------------------------------------------------------------
// Module // Module
// -------------------------------------------------------------- // --------------------------------------------------------------

View File

@@ -41,6 +41,10 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#ifdef __SALFORDC__
#include <clib.h>
#endif
#if wxUSE_WCSRTOMBS #if wxUSE_WCSRTOMBS
#include <wchar.h> // for wcsrtombs(), see comments where it's used #include <wchar.h> // for wcsrtombs(), see comments where it's used
#endif // GNU #endif // GNU
@@ -871,7 +875,7 @@ wxString& wxString::Trim(bool bFromRight)
psz++; psz++;
// fix up data and length // 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)); memmove(m_pchData, psz, (nDataLength + 1)*sizeof(char));
GetStringData()->nDataLength = nDataLength; 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); 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) // find a sub-string (like strstr)
@@ -927,7 +931,7 @@ int wxString::Find(const char *pszSub) const
{ {
const char *psz = strstr(m_pchData, pszSub); 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;
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------

View File

@@ -104,7 +104,11 @@ wxTime::wxTime()
wxTimeInitialized = TRUE; wxTimeInitialized = TRUE;
} }
sec = wxGetCurrentTime(); 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 */ sec += 2177452800UL; /* seconds from 1/1/01 to 1/1/70 */
#endif
} }
wxTime::wxTime(hourTy h, minuteTy m, secondTy s, bool dst) 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 sec += TIME_ZONE; // adjust to GMT
} }
#ifndef __SALFORDC__
wxTime::operator wxDate() const wxTime::operator wxDate() const
/* /*
Convert a wxTime to a local wxDate Convert a wxTime to a local wxDate
@@ -164,6 +169,7 @@ wxTime::operator wxDate() const
date += daycount; date += daycount;
return date; return date;
} }
#endif
bool wxTime::IsBetween(const wxTime& a, const wxTime& b) const bool wxTime::IsBetween(const wxTime& a, const wxTime& b) const
{ {
@@ -315,10 +321,12 @@ wxTime wxTime::Min(const wxTime& t) const
return t; return t;
} }
#ifndef __SALFORDC__
wxTime::operator char *(void) wxTime::operator char *(void)
{ {
return FormatTime(); return FormatTime();
} }
#endif
void wxTime::SetFormat(const wxTime::tFormat lFormat, void wxTime::SetFormat(const wxTime::tFormat lFormat,
const wxTime::tPrecision lPrecision) { const wxTime::tPrecision lPrecision) {

View File

@@ -33,6 +33,7 @@
#endif #endif
#include <time.h> #include <time.h>
#ifndef __WXMAC__ #ifndef __WXMAC__
#include <sys/types.h> #include <sys/types.h>
#endif #endif
@@ -42,7 +43,8 @@
#endif #endif
#if defined(__linux__) || defined(__SVR4__) || defined(__SYSV__) || defined(__SGI__) || \ #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> #include <sys/time.h>
#endif #endif
@@ -147,11 +149,15 @@ bool wxGetLocalTime(long *timeZone, int *dstObserved)
*dstObserved = tp->tm_isdst; *dstObserved = tp->tm_isdst;
#else #else
#if (((defined(__SYSV__) && !defined(__HPUX__)) || defined(__MSDOS__) || defined(__WXMSW__)) && !defined(__GNUWIN32__) && !defined(__MWERKS__)) #if (((defined(__SYSV__) && !defined(__HPUX__)) || defined(__MSDOS__) || defined(__WXMSW__))\
#ifdef __BORLANDC__ && !defined(__GNUWIN32__) && !defined(__MWERKS__) )
#if defined(__BORLANDC__)
/* Borland uses underscores */ /* Borland uses underscores */
*timeZone = _timezone; *timeZone = _timezone;
*dstObserved = _daylight; *dstObserved = _daylight;
#elif defined(__SALFORDC__)
*timeZone = _timezone;
*dstObserved = daylight;
#else #else
*timeZone = timezone; *timeZone = timezone;
*dstObserved = daylight; *dstObserved = daylight;

View File

@@ -93,7 +93,7 @@ wxString wxStringTokenizer::NextToken()
pos = FindDelims(m_string, m_delims); pos = FindDelims(m_string, m_delims);
if (pos == -1) { if (pos == -1) {
r_string = m_string; r_string = m_string;
m_string = (char *)NULL; m_string = wxEmptyString;
return r_string; return r_string;
} }

View File

@@ -56,6 +56,10 @@
#include <sys/stat.h> #include <sys/stat.h>
#endif #endif
#ifdef __SALFORDC__
#include <clib.h>
#endif
// Pattern matching code. // Pattern matching code.
// Yes, this path is deliberate (for Borland compilation) // Yes, this path is deliberate (for Borland compilation)
#ifdef wx_mac /* MATTHEW: [5] Mac doesn't like paths with "/" */ #ifdef wx_mac /* MATTHEW: [5] Mac doesn't like paths with "/" */

View File

@@ -34,6 +34,10 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#ifdef __SALFORDC__
#include <clib.h>
#endif
#if !USE_SHARED_LIBRARY #if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxTextValidator, wxValidator) IMPLEMENT_DYNAMIC_CLASS(wxTextValidator, wxValidator)

View File

@@ -808,7 +808,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxProperty, wxObject)
wxProperty::wxProperty(void) wxProperty::wxProperty(void)
{ {
m_propertyRole = (char *)NULL; m_propertyRole = wxEmptyString;
m_propertyValidator = NULL; m_propertyValidator = NULL;
m_propertyWindow = NULL; m_propertyWindow = NULL;
m_enabled = TRUE; m_enabled = TRUE;

View File

@@ -32,7 +32,7 @@ clean: .SYMBOLIC
-erase *.err -erase *.err
-erase *.pch -erase *.pch
-erase *.lib -erase *.lib
-erase *.lnk -erase $(LNK)
-erase *.res -erase *.res
-erase *.exe -erase *.exe
-erase *.lbc -erase *.lbc

View File

@@ -59,9 +59,10 @@
// if you don't do the same for the Ole calls further down. // 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). // Also, OLE is used not just for drag and drop (it's used by automatn.cpp).
// #if wxUSE_DRAG_AND_DROP // #if wxUSE_DRAG_AND_DROP
#if !defined(__GNUWIN32__) && !defined(__SC__) #if !defined(__GNUWIN32__) && !defined(__SC__) && !defined(__SALFORDC__)
#include <ole2.h> #include <ole2.h>
#endif #endif
// #endif // #endif
#include <string.h> #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 // we need to initialize OLE library
if ( FAILED(::OleInitialize(NULL)) ) if ( FAILED(::OleInitialize(NULL)) )
wxFatalError(_("Cannot initialize OLE")); wxFatalError(_("Cannot initialize OLE"));
@@ -524,7 +525,7 @@ void wxApp::CleanUp()
if ( wxDisableButtonBrush ) if ( wxDisableButtonBrush )
::DeleteObject( wxDisableButtonBrush ) ; ::DeleteObject( wxDisableButtonBrush ) ;
#if !defined(__GNUWIN32__) && !defined(__SC__) #if !defined(__GNUWIN32__) && !defined(__SC__) && !defined(__SALFORDC__)
::OleUninitialize(); ::OleUninitialize();
#endif #endif

View File

@@ -338,7 +338,7 @@ wxBitmapHandler *wxBitmap::FindHandler(const wxString& name)
while ( node ) while ( node )
{ {
wxBitmapHandler *handler = (wxBitmapHandler *)node->Data(); wxBitmapHandler *handler = (wxBitmapHandler *)node->Data();
if ( handler->GetName() == name ) if ( (handler->GetName().Cmp(name) == 0) )
return handler; return handler;
node = node->Next(); node = node->Next();
} }
@@ -351,8 +351,8 @@ wxBitmapHandler *wxBitmap::FindHandler(const wxString& extension, long bitmapTyp
while ( node ) while ( node )
{ {
wxBitmapHandler *handler = (wxBitmapHandler *)node->Data(); wxBitmapHandler *handler = (wxBitmapHandler *)node->Data();
if ( handler->GetExtension() == extension && if ( (handler->GetExtension().Cmp(extension) == 0) &&
(bitmapType == -1 || handler->GetType() == bitmapType) ) (bitmapType == -1 || (handler->GetType() == bitmapType)) )
return handler; return handler;
node = node->Next(); node = node->Next();
} }

View File

@@ -253,9 +253,17 @@ void wxBitmapButton::DrawButtonDisable( WXHDC dc, int left, int top, int right,
if ( with_marg ) if ( with_marg )
::PatBlt( (HDC) dc, left + m_marginX, top + m_marginY, ::PatBlt( (HDC) dc, left + m_marginX, top + m_marginY,
right - 2 * m_marginX, bottom - 2 * m_marginY, right - 2 * m_marginX, bottom - 2 * m_marginY,
0xfa0089ul ) ; #ifdef __SALFORDC__
else ::PatBlt( (HDC) dc, left, top, right, bottom, 0xfa0089ul ) ; 0xfa0089L ) ;
#else
0xfa0089UL ) ;
#endif
else ::PatBlt( (HDC) dc, left, top, right, bottom,
#ifdef __SALFORDC__
0xfa0089L ) ;
#else
0xfa0089UL ) ;
#endif
::SelectObject( (HDC) dc, old ) ; ::SelectObject( (HDC) dc, old ) ;
} }

View File

@@ -118,7 +118,8 @@ void wxButton::SetSize(int x, int y, int width, int height, int sizeFlags)
int cyf; int cyf;
char buf[300]; char buf[300];
GetWindowText((HWND) GetHWND(), 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 we're prepared to use the existing width, then...
if (width == -1 && ((sizeFlags & wxSIZE_AUTO_WIDTH) != wxSIZE_AUTO_WIDTH)) 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 cx;
int cy; int cy;
wxGetCharSize(GetHWND(), &cx, &cy,& GetFont()); wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
actualWidth = (int)(current_width + 3*cx) ; actualWidth = (int)(current_width + 3*cx) ;
} }

View File

@@ -144,7 +144,7 @@ void wxCheckBox::SetSize(int x, int y, int width, int height, int sizeFlags)
if ( !str.IsEmpty() ) if ( !str.IsEmpty() )
{ {
GetTextExtent(str, &current_width, &cyf, NULL, NULL, & GetFont()); GetTextExtent(str, &current_width, &cyf, NULL, NULL, & this->GetFont());
if (w1 < 0) if (w1 < 0)
w1 = (int)(current_width + RADIO_SIZE); w1 = (int)(current_width + RADIO_SIZE);
if (h1 < 0) if (h1 < 0)

View File

@@ -205,7 +205,7 @@ void wxChoice::SetSize(int x, int y, int width, int height, int sizeFlags)
int cx; // button font dimensions int cx; // button font dimensions
int cy; int cy;
wxGetCharSize(GetHWND(), &cx, &cy, & GetFont()); wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
int control_width, control_height; 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++) for (i = 0; i < m_noStrings; i++)
{ {
wxString str(GetString(i)); wxString str(GetString(i));
GetTextExtent(str, &len, &ht, NULL, NULL, & GetFont()); GetTextExtent(str, &len, &ht, NULL, NULL, & this->GetFont());
if ( len > longest) if ( len > longest)
longest = len; longest = len;
} }

View File

@@ -36,7 +36,7 @@
#include <windows.h> #include <windows.h>
#ifndef __WIN32__ #if !defined(__WIN32__) || defined(__SALFORDC__)
#include <commdlg.h> #include <commdlg.h>
#endif #endif

View File

@@ -41,7 +41,8 @@
#include <windows.h> #include <windows.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#ifndef __MWERKS__
#if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h> #include <memory.h>
#endif #endif

View File

@@ -32,7 +32,7 @@
#include <wx/msw/dibutils.h> #include <wx/msw/dibutils.h>
#if defined(__WIN32__) #if defined(__WIN32__)
#ifndef __MWERKS__ #if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h> // for _fmemcpy() #include <memory.h> // for _fmemcpy()
#endif #endif
#define _huge #define _huge
@@ -133,7 +133,7 @@ int DibWriteFile(LPSTR szFile, LPBITMAPINFOHEADER lpbi)
bmf.bfReserved1 = 0; bmf.bfReserved1 = 0;
bmf.bfReserved2 = 0; bmf.bfReserved2 = 0;
bmf.bfOffBits = sizeof(bmf) + (char far*)(DibPtr(lpbi)) - (char far*)lpbi; 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 || if (_hwrite(fh, (LPCSTR)(&bmf), sizeof(bmf))<0 ||
_hwrite(fh, (LPCSTR)lpbi, size)<0) { _hwrite(fh, (LPCSTR)lpbi, size)<0) {
_lclose(fh); _lclose(fh);

View File

@@ -32,7 +32,7 @@
#include <windows.h> #include <windows.h>
#ifndef __WIN32__ #if !defined(__WIN32__) || defined(__SALFORDC__)
#include <commdlg.h> #include <commdlg.h>
#endif #endif

View File

@@ -31,7 +31,7 @@
#include <windows.h> #include <windows.h>
#ifndef __WIN32__ #if !defined(__WIN32__) || defined(__SALFORDC__)
#include <commdlg.h> #include <commdlg.h>
#endif #endif

View File

@@ -648,7 +648,7 @@ bool wxFrame::MSWOnPaint(void)
HDC cdc = BeginPaint((HWND) GetHWND(), &ps); HDC cdc = BeginPaint((HWND) GetHWND(), &ps);
// Erase background before painting or we get white background // 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) if (the_icon)
{ {
@@ -894,9 +894,14 @@ void wxFrame::OnMenuHighlight(wxMenuEvent& event)
wxMenuBar *menuBar = GetMenuBar(); wxMenuBar *menuBar = GetMenuBar();
if (menuBar) 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 != "") if (helpString != "")
SetStatusText(helpString); SetStatusText(helpString);
// #endif
} }
} }
} }

View File

@@ -655,7 +655,7 @@ void FAR PASCAL Draw3DLine(HDC hdc, WORD x, WORD y, WORD nLen,
/* get the includes we need */ /* get the includes we need */
#ifndef __GNUWIN32__ #if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <malloc.h> #include <malloc.h>
#endif #endif
#include <stdio.h> #include <stdio.h>

View File

@@ -29,6 +29,9 @@
#include "wx/dcclient.h" #include "wx/dcclient.h"
#endif #endif
#include "wx/log.h"
#include "wx/intl.h"
#include "wx/msw/imaglist.h" #include "wx/msw/imaglist.h"
#include "wx/msw/private.h" #include "wx/msw/private.h"

View File

@@ -154,7 +154,7 @@ const wxString& wxIniConfig::GetPath() const
// always return abs path // always return abs path
s_str = wxCONFIG_PATH_SEPARATOR; 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 // we're at the root level, nothing to do
} }
else { else {

View File

@@ -498,7 +498,7 @@ void wxListBox::SetSize(int x, int y, int width, int height, int sizeFlags)
int cx; // button font dimensions int cx; // button font dimensions
int cy; int cy;
wxGetCharSize(GetHWND(), &cx, &cy, & GetFont()); wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
float control_width, control_height, control_x, control_y; float control_width, control_height, control_x, control_y;

View File

@@ -5,75 +5,19 @@
# #
# Makefile : Builds wxWindows library for Salford C++, WIN32 # Makefile : Builds wxWindows library for Salford C++, WIN32
# include $(WXDIR)\src\makesl.env include ..\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
LIBTARGET = $(WXLIB)\wx.lib LIBTARGET = $(WXLIB)\wx.lib
DUMMY=dummydll EXTRATARGETS = # xpm png zlib
# ODBCLIB = ..\..\contrib\odbc\odbc32.lib EXTRATARGETSCLEAN = # clean_xpm clean_png clean_zlib
EXTRATARGETS = xpm png zlib
EXTRATARGETSCLEAN = clean_xpm clean_png clean_zlib
GENDIR=$(WXDIR)\src\generic GENDIR=$(WXDIR)\src\generic
COMMDIR=$(WXDIR)\src\common COMMDIR=$(WXDIR)\src\common
XPMDIR=$(WXDIR)\src\xpm XPMDIR=$(WXDIR)\src\xpm
OLEDIR=ole OLEDIR=ole
MSWDIR=$(WXDIR)\src\msw MSWDIR=$(WXDIR)\src\msw
DOCDIR = $(WXDIR)\docs
GENERICOBJS= choicdgg.obj \ GENERICOBJS= choicdgg.obj \
dirdlgg.obj \
gridg.obj \ gridg.obj \
laywin.obj \ laywin.obj \
panelg.obj \ panelg.obj \
@@ -116,7 +60,6 @@ COMMONOBJS = cmndata.obj \
layout.obj \ layout.obj \
log.obj \ log.obj \
memory.obj \ memory.obj \
mimetype.obj \
module.obj \ module.obj \
object.obj \ object.obj \
prntbase.obj \ prntbase.obj \
@@ -156,6 +99,7 @@ COMMONOBJS = cmndata.obj \
wincmn.obj wincmn.obj
# Can't compile these yet under Salford C++ # Can't compile these yet under Salford C++
# mimetype.obj \
# odbc.obj \ # odbc.obj \
# db.obj \ # db.obj \
# dbtable.obj \ # dbtable.obj \
@@ -187,7 +131,6 @@ MSWOBJS = \
dialog.obj \ dialog.obj \
dib.obj \ dib.obj \
dibutils.obj \ dibutils.obj \
dirdlg.obj \
filedlg.obj \ filedlg.obj \
font.obj \ font.obj \
fontdlg.obj \ fontdlg.obj \
@@ -242,10 +185,12 @@ MSWOBJS = \
utils.obj \ utils.obj \
utilsexc.obj \ utilsexc.obj \
wave.obj \ wave.obj \
window.obj \ window.obj
xpmhand.obj
# No OLE functions for wxDirDialog: use generic one instead
# dirdlg.obj \
# pnghand.obj \ # pnghand.obj \
# xpmhand.obj \
OLEOBJS = \ OLEOBJS = \
droptgt.obj \ droptgt.obj \
@@ -256,23 +201,18 @@ OLEOBJS = \
automtn.obj automtn.obj
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc. # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(OLEOBJS) OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) # $(OLEOBJS)
all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS) all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS)
$(LIBTARGET) : $(OBJECTS) $(LIBTARGET) : $(OBJECTS)
%create tmp.lnk slink $$salford.lnk
@%append tmp.lnk archive $(LIBTARGET)
@for %i in ( $(OBJECTS) ) do @%append tmp.lnk addobj %i
@%append file
slink @tmp.lnk
clean: $(EXTRATARGETSCLEAN) clean: $(EXTRATARGETSCLEAN)
-erase *.obj -erase *.obj
-erase $(LIBTARGET) -erase $(LIBTARGET)
-erase *.pch -erase *.pch
-erase *.err -erase *.err
-erase *.lnk
cleanall: clean cleanall: clean
@@ -383,12 +323,18 @@ gaugemsw.obj: $(MSWDIR)\gaugemsw.cpp
gdiobj.obj: $(MSWDIR)\gdiobj.cpp gdiobj.obj: $(MSWDIR)\gdiobj.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\gdiobj.cpp /BINARY gdiobj.obj $(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 icon.obj: $(MSWDIR)\icon.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\icon.cpp /BINARY icon.obj $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\icon.cpp /BINARY icon.obj
imaglist.obj: $(MSWDIR)\imaglist.cpp imaglist.obj: $(MSWDIR)\imaglist.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\imaglist.cpp /BINARY imaglist.obj $(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 joystick.obj: $(MSWDIR)\joystick.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\joystick.cpp /BINARY joystick.obj $(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 $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\minifram.cpp /BINARY minifram.obj
msgdlg.obj: $(MSWDIR)\msgdlg.cpp 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 nativdlg.obj: $(MSWDIR)\nativdlg.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\nativdlg.cpp /BINARY nativdlg.obj $(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 $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\slidrmsw.cpp /BINARY slidrmsw.obj
slider95.obj: $(MSWDIR)\slider95.cpp 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 spinbutt.obj: $(MSWDIR)\spinbutt.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\spinbutt.cpp /BINARY spinbutt.obj $(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 $(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\sckipc.cpp /BINARY sckipc.obj
sckstrm.obj: $(COMMDIR)\sckstrm.cpp 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 url.obj: $(COMMDIR)\url.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\url.cpp /BINARY url.obj $(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 $(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\matrix.cpp /BINARY matrix.obj
time.obj: $(COMMDIR)\time.cpp 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 stream.obj: $(COMMDIR)\stream.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\stream.cpp /BINARY stream.obj $(CCC) $(CPPFLAGS) $(IFLAGS) $(COMMDIR)\stream.cpp /BINARY stream.obj
@@ -743,6 +689,9 @@ choicdgg.obj: $(GENDIR)\choicdgg.cpp
colrdlgg.obj: $(GENDIR)\colrdgg.cpp colrdlgg.obj: $(GENDIR)\colrdgg.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(GENDIR)\colrdgg.cpp /BINARY colordgg.obj $(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 fontdlgg.obj: $(GENDIR)\fontdlgg.cpp
$(CCC) $(CPPFLAGS) $(IFLAGS) $(GENDIR)\fontdlgg.cpp /BINARY fontdlgg.obj $(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 y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c $(CC) /ANSI_C $(CPPFLAGS) $(IFLAGS) /DEFINE USE_DEFINE $(COMMDIR)\y_tab.c /BINARY y_tab.obj
# *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.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 $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
xpm: .SYMBOLIC xpm:
cd $(WXDIR)\src\xpm cd $(WXDIR)\src\xpm
wmake -f makefile.wat all wmake -f makefile.wat all
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw
clean_xpm: .SYMBOLIC clean_xpm:
cd $(WXDIR)\src\xpm cd $(WXDIR)\src\xpm
wmake -f makefile.wat clean wmake -f makefile.wat clean
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw
png: .SYMBOLIC png:
cd $(WXDIR)\src\png cd $(WXDIR)\src\png
wmake -f makefile.wat all wmake -f makefile.wat all
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw
clean_png: .SYMBOLIC clean_png:
cd $(WXDIR)\src\png cd $(WXDIR)\src\png
wmake -f makefile.wat clean wmake -f makefile.wat clean
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw
zlib: .SYMBOLIC zlib:
cd $(WXDIR)\src\zlib cd $(WXDIR)\src\zlib
wmake -f makefile.wat all wmake -f makefile.wat all
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw
clean_zlib: .SYMBOLIC clean_zlib:
cd $(WXDIR)\src\zlib cd $(WXDIR)\src\zlib
wmake -f makefile.wat clean wmake -f makefile.wat clean
cd $(WXDIR)\src\msw cd $(WXDIR)\src\msw

View File

@@ -335,12 +335,18 @@ gaugemsw.obj: $(MSWDIR)\gaugemsw.cpp
gdiobj.obj: $(MSWDIR)\gdiobj.cpp gdiobj.obj: $(MSWDIR)\gdiobj.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
helpwin.obj: $(MSWDIR)\helpwin.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
icon.obj: $(MSWDIR)\icon.cpp icon.obj: $(MSWDIR)\icon.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
imaglist.obj: $(MSWDIR)\imaglist.cpp imaglist.obj: $(MSWDIR)\imaglist.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
iniconf.obj: $(MSWDIR)\iniconf.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
joystick.obj: $(MSWDIR)\joystick.cpp joystick.obj: $(MSWDIR)\joystick.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<

View File

@@ -486,8 +486,10 @@ void wxMenu::SetHelpString(int itemId, const wxString& helpString)
wxString wxMenu::GetHelpString (int itemId) const wxString wxMenu::GetHelpString (int itemId) const
{ {
wxMenuItem *item = FindItemForId (itemId); wxMenuItem *item = FindItemForId (itemId);
wxString str(""); if (item)
return (item == NULL) ? str : item->GetHelp(); return item->GetHelp();
else
return wxEmptyString;
} }
void wxMenu::ProcessCommand(wxCommandEvent & event) void wxMenu::ProcessCommand(wxCommandEvent & event)

View File

@@ -33,6 +33,14 @@
#include <windows.h> #include <windows.h>
#ifdef GetClassInfo
#undef GetClassInfo
#endif
#ifdef GetClassName
#undef GetClassName
#endif
// ============================================================================ // ============================================================================
// implementation // implementation
// ============================================================================ // ============================================================================

View File

@@ -72,7 +72,7 @@ wxMetafile::wxMetafile(const wxString& file)
M_METAFILEDATA->m_windowsMappingMode = MM_ANISOTROPIC; M_METAFILEDATA->m_windowsMappingMode = MM_ANISOTROPIC;
M_METAFILEDATA->m_metafile = 0; M_METAFILEDATA->m_metafile = 0;
if (!file.IsNull() && file == "") if (!file.IsNull() && (file.Cmp("") == 0))
M_METAFILEDATA->m_metafile = (WXHANDLE) GetMetaFile(file); M_METAFILEDATA->m_metafile = (WXHANDLE) GetMetaFile(file);
} }

View File

@@ -89,7 +89,7 @@ wxMiniFrame::~wxMiniFrame(void)
#include <string.h> #include <string.h>
#if !defined( __WATCOMC__ ) && !defined( __MWERKS__ ) #if !defined( __WATCOMC__ ) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
#include <memory.h> #include <memory.h>
#endif #endif

View File

@@ -172,7 +172,7 @@ bool wxWindowsPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt
wxWindow *win = CreateAbortWindow(parent, printout); wxWindow *win = CreateAbortWindow(parent, printout);
wxYield(); wxYield();
#if defined(__BORLANDC__) || defined(__GNUWIN32__) || !defined(__WIN32__) #if defined(__BORLANDC__) || defined(__GNUWIN32__) || defined(__SALFORDC__) || !defined(__WIN32__)
::SetAbortProc((HDC) dc->GetHDC(), (FARPROC) m_lpAbortProc); ::SetAbortProc((HDC) dc->GetHDC(), (FARPROC) m_lpAbortProc);
#else #else
::SetAbortProc((HDC) dc->GetHDC(), (int (_stdcall *) ::SetAbortProc((HDC) dc->GetHDC(), (int (_stdcall *)

View File

@@ -409,7 +409,7 @@ void wxRadioBox::SetSize(int x, int y, int width, int height, int sizeFlags)
int current_width, cyf; int current_width, cyf;
int cx1,cy1 ; 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: // Attempt to have a look coherent with other platforms:
// We compute the biggest toggle dim, then we align all // We compute the biggest toggle dim, then we align all
// items according this value. // 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 // It's a labelled toggle
GetWindowText((HWND) m_radioButtons[i], buf, 300); 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); eachWidth = (int)(current_width + RADIO_SIZE);
eachHeight = (int)((3*cyf)/2); 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 // It's a labeled item
GetWindowText((HWND) m_radioButtons[i], buf, 300); 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!! // How do we find out radio button bitmap size!!
// By adjusting them carefully, manually :-) // By adjusting them carefully, manually :-)

View File

@@ -115,7 +115,7 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id,
if (label != "") if (label != "")
{ {
int label_width, label_height; 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) if (width < 0)
width = (int)(label_width + RADIO_SIZE); width = (int)(label_width + RADIO_SIZE);
if (height<0) if (height<0)

View File

@@ -370,7 +370,7 @@ void wxSlider95::SetSize(int x, int y, int width, int height, int sizeFlags)
int cy; int cy;
int cyf; int cyf;
wxGetCharSize(GetHWND(), &cx, &cy, & GetFont()); wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL) 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; int min_len = 0;
GetWindowText((HWND) m_staticMin, buf, 300); 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; int max_len = 0;
GetWindowText((HWND) m_staticMax, buf, 300); 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) if (m_staticValue)
{ {
int new_width = (int)(wxMax(min_len, max_len)); 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; int min_len;
GetWindowText((HWND) m_staticMin, buf, 300); 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; int max_len;
GetWindowText((HWND) m_staticMax, buf, 300); 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) if (m_staticValue)
{ {

View File

@@ -342,7 +342,7 @@ void wxSliderMSW::SetSize(int x, int y, int width, int height, int sizeFlags)
int cy; int cy;
int cyf; int cyf;
wxGetCharSize(GetHWND(), &cx, &cy,& GetFont()); wxGetCharSize(GetHWND(), &cx, &cy,& this->GetFont());
if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL) 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; int min_len = 0;
GetWindowText((HWND) m_staticMin, buf, 300); 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; int max_len = 0;
GetWindowText((HWND) m_staticMax, buf, 300); 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) if (m_staticValue)
{ {
int new_width = (int)(wxMax(min_len, max_len)); 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; int min_len;
GetWindowText((HWND) m_staticMin, buf, 300); 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; int max_len;
GetWindowText((HWND) m_staticMax, buf, 300); 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) if (m_staticValue)
{ {

View File

@@ -131,10 +131,10 @@ void wxStaticBox::SetSize(int x, int y, int width, int height, int sizeFlags)
int cy; int cy;
int cyf; int cyf;
wxGetCharSize(GetHWND(), &cx, &cy, & GetFont()); wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
GetTextExtent(wxGetWindowText(m_hWnd), &current_width, &cyf, GetTextExtent(wxGetWindowText(m_hWnd), &current_width, &cyf,
NULL,NULL, & GetFont()); NULL,NULL, & this->GetFont());
if ( w1 < 0 ) if ( w1 < 0 )
w1 = current_width + 3*cx; w1 = current_width + 3*cx;
if ( h1 < 0 ) if ( h1 < 0 )

View File

@@ -30,7 +30,6 @@
#ifdef __WIN95__ #ifdef __WIN95__
#include "wx/log.h" #include "wx/log.h"
#include "wx/generic/statusbr.h" #include "wx/generic/statusbr.h"
#include "wx/msw/statbr95.h" #include "wx/msw/statbr95.h"
@@ -41,6 +40,14 @@
#include <commctrl.h> #include <commctrl.h>
#endif #endif
#ifdef GetClassInfo
#undef GetClassInfo
#endif
#ifdef GetClassName
#undef GetClassName
#endif
#if wxUSE_NATIVE_STATUSBAR #if wxUSE_NATIVE_STATUSBAR
#if !USE_SHARED_LIBRARY #if !USE_SHARED_LIBRARY

View File

@@ -116,7 +116,7 @@ void wxStaticText::SetSize(int x, int y, int width, int height, int sizeFlags)
int cyf; int cyf;
::GetWindowText((HWND) GetHWND(), buf, 300); ::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; int ww, hh;
GetSize(&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 cx;
int cy; int cy;
wxGetCharSize(GetHWND(), &cx, &cy, & GetFont()); wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
actualWidth = (int)(current_width + cx) ; actualWidth = (int)(current_width + cx) ;
} }
@@ -161,7 +161,7 @@ void wxStaticText::SetLabel(const wxString& label)
::ScreenToClient((HWND) parent->GetHWND(), &point); ::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, MoveWindow((HWND) GetHWND(), point.x, point.y, (int)(w + 10), (int)h,
TRUE); TRUE);
SetWindowText((HWND) GetHWND(), (const char *)label); SetWindowText((HWND) GetHWND(), (const char *)label);

View File

@@ -26,7 +26,7 @@
#if defined(__WIN95__) #if defined(__WIN95__)
#ifndef __GNUWIN32__ #if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include "malloc.h" #include "malloc.h"
#endif #endif

View File

@@ -39,6 +39,10 @@
#include <wx/msw/gnuwin32/extra.h> #include <wx/msw/gnuwin32/extra.h>
#endif #endif
#ifdef __SALFORDC__
#include <shellapi.h>
#endif
LRESULT APIENTRY _EXPORT wxTaskBarIconWindowProc( HWND hWnd, unsigned msg, LRESULT APIENTRY _EXPORT wxTaskBarIconWindowProc( HWND hWnd, unsigned msg,
UINT wParam, LONG lParam ); UINT wParam, LONG lParam );

View File

@@ -26,7 +26,7 @@
#if wxUSE_BUTTONBAR && wxUSE_TOOLBAR && defined(__WIN95__) #if wxUSE_BUTTONBAR && wxUSE_TOOLBAR && defined(__WIN95__)
#ifndef __GNUWIN32__ #if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include "malloc.h" #include "malloc.h"
#endif #endif

View File

@@ -26,13 +26,14 @@
#if wxUSE_BUTTONBAR && wxUSE_TOOLBAR #if wxUSE_BUTTONBAR && wxUSE_TOOLBAR
#ifndef __GNUWIN32__ #if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include "malloc.h" #include "malloc.h"
#endif #endif
#ifndef __MWERKS__ #if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <memory.h> #include <memory.h>
#endif #endif
#include <stdlib.h> #include <stdlib.h>
#include "wx/tbarmsw.h" #include "wx/tbarmsw.h"

View File

@@ -56,7 +56,7 @@
#if defined(__BORLANDC__) && !defined(__WIN32__) #if defined(__BORLANDC__) && !defined(__WIN32__)
#include <alloc.h> #include <alloc.h>
#else #else
#ifndef __GNUWIN32__ #if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <malloc.h> #include <malloc.h>
#endif #endif
#define farmalloc malloc #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 cx; // button font dimensions
int cy; int cy;
wxGetCharSize(GetHWND(), &cx, &cy, & GetFont()); wxGetCharSize(GetHWND(), &cx, &cy, & this->GetFont());
int control_width, control_height, control_x, control_y; 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... // positions as signed shorts. Now load in one chunk...
// Note use of 'farmalloc' as in Borland 3.1 'size_t' is 16-bits... // 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; struct stat stat_buf;
if (stat(file, &stat_buf) < 0) if (stat(file, &stat_buf) < 0)
return FALSE; return FALSE;
#endif
// char *tmp_buffer = (char*)farmalloc(stat_buf.st_size+1); // char *tmp_buffer = (char*)farmalloc(stat_buf.st_size+1);
// This may need to be a bigger buffer than the file size suggests, // 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 it's a UNIX file. Give it an extra 1000 just in case.

View File

@@ -34,7 +34,9 @@
#if defined(__WIN95__) #if defined(__WIN95__)
#include "wx/log.h" #include "wx/log.h"
#include "wx/dynarray.h"
#include "wx/imaglist.h" #include "wx/imaglist.h"
#include "wx/msw/treectrl.h"
#include "wx/msw/private.h" #include "wx/msw/private.h"
@@ -58,8 +60,6 @@
#undef GetClassInfo #undef GetClassInfo
#endif #endif
#include "wx/msw/treectrl.h"
// Bug in headers, sometimes // Bug in headers, sometimes
#ifndef TVIS_FOCUSED #ifndef TVIS_FOCUSED
#define TVIS_FOCUSED 0x0001 #define TVIS_FOCUSED 0x0001

View File

@@ -34,8 +34,9 @@
#include <ctype.h> #include <ctype.h>
#ifndef __GNUWIN32__ #if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <direct.h> #include <direct.h>
#ifndef __MWERKS__ #ifndef __MWERKS__
#include <dos.h> #include <dos.h>
#endif #endif
@@ -981,7 +982,7 @@ To download dbwin32, see e.g.:
http://ftp.digital.com/pub/micro/NT/WinSite/programr/dbwin32.zip http://ftp.digital.com/pub/micro/NT/WinSite/programr/dbwin32.zip
*/ */
#ifndef __MWERKS__ #if !defined(__MWERKS__) && !defined(__SALFORDC__)
#include <process.h> #include <process.h>
#endif #endif
@@ -1060,7 +1061,7 @@ void OutputDebugStringW95(const char* lpOutputString, ...)
WaitForSingleObject(heventDBWIN, INFINITE); WaitForSingleObject(heventDBWIN, INFINITE);
/* write it to the shared memory */ /* write it to the shared memory */
#if defined( __BORLANDC__ ) || defined( __MWERKS__ ) #if defined( __BORLANDC__ ) || defined( __MWERKS__ ) || defined(__SALFORDC__)
*((LPDWORD)lpszSharedMem) = getpid(); *((LPDWORD)lpszSharedMem) = getpid();
#else #else
*((LPDWORD)lpszSharedMem) = _getpid(); *((LPDWORD)lpszSharedMem) = _getpid();

View File

@@ -33,7 +33,7 @@
#include <ctype.h> #include <ctype.h>
#ifndef __GNUWIN32__ #if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
#include <direct.h> #include <direct.h>
#ifndef __MWERKS__ #ifndef __MWERKS__
#include <dos.h> #include <dos.h>

View File

@@ -125,7 +125,7 @@ wxWindow *wxWindow::FindItem(int id) const
if (childWin->IsKindOf(CLASSINFO(wxControl))) if (childWin->IsKindOf(CLASSINFO(wxControl)))
{ {
wxControl *item = (wxControl *)childWin; wxControl *item = (wxControl *)childWin;
if (item->m_windowId == id) if (item->GetId() == id)
return item; return item;
else else
{ {
@@ -3102,10 +3102,14 @@ bool wxWindow::MSWOnEraseBkgnd (WXHDC pDC)
void wxWindow::OnEraseBackground(wxEraseEvent& event) void wxWindow::OnEraseBackground(wxEraseEvent& event)
{ {
if (!GetHWND())
return;
RECT rect; RECT rect;
::GetClientRect((HWND) GetHWND(), &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); int mode = ::SetMapMode((HDC) event.GetDC()->GetHDC(), MM_TEXT);
// ::GetClipBox((HDC) event.GetDC()->GetHDC(), &rect); // ::GetClipBox((HDC) event.GetDC()->GetHDC(), &rect);