Changes mostly as a result of __WXSTUBS__ compilation. The stubs code now

compiles under Windows with VC++. Also OGL enhancements espec. wxDrawnShape.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
1998-08-15 00:23:28 +00:00
parent 853b255a6b
commit 34138703c3
229 changed files with 2990 additions and 1225 deletions

View File

@@ -22,6 +22,7 @@
#ifndef WX_PRECOMP
#include <stdio.h>
#include "wx/string.h"
#include "wx/utils.h"
#include "wx/app.h"
#endif
@@ -331,7 +332,7 @@ wxPageSetupData::wxPageSetupData(void)
wxPageSetupData::~wxPageSetupData(void)
{
#if defined(__WIN95__)
#if defined(__WIN95__) && defined(__WXMSW__)
PAGESETUPDLG *pd = (PAGESETUPDLG *)m_pageSetupData;
if ( pd && pd->hDevMode )
GlobalFree(pd->hDevMode);
@@ -358,7 +359,7 @@ void wxPageSetupData::operator=(const wxPageSetupData& data)
m_enableHelp = data.m_enableHelp;
}
#if defined(__WIN95__)
#if defined(__WXMSW__) && defined(__WIN95__)
void wxPageSetupData::ConvertToNative(void)
{
PAGESETUPDLG *pd = (PAGESETUPDLG*) m_pageSetupData;

View File

@@ -27,6 +27,7 @@
#if USE_DOC_VIEW_ARCHITECTURE
#ifndef WX_PRECOMP
#include "wx/string.h"
#include "wx/utils.h"
#include "wx/app.h"
#include "wx/dc.h"

View File

@@ -53,6 +53,9 @@
#include <windows.h> // for GetTempFileName
#elif (defined(__UNIX__) || defined(__GNUWIN32__))
#include <unistd.h>
#elif (defined(__WXSTUBS__))
// Have to ifdef this for different environments
#include <io.h>
#else
#error "Please specify the header with file functions declarations."
#endif //Win/UNIX
@@ -94,6 +97,11 @@
#define tell(fd) lseek(fd, 0, SEEK_CUR)
#endif //_MSC_VER
#ifdef __BORLANDC__
#define W_OK 2
#define R_OK 4
#endif
// there is no distinction between text and binary files under Unix
#ifdef __UNIX__
#define O_BINARY (0)
@@ -418,7 +426,7 @@ bool wxTempFile::Open(const wxString& strName)
// otherwise rename() in Commit() might not work (if the files are on
// different partitions for example). Unfortunately, the only standard
// (POSIX) temp file creation function tmpnam() can't do it.
#ifdef __UNIX__
#if defined(__UNIX__) || defined(__WXSTUBS__)
static const char *szMktempSuffix = "XXXXXX";
m_strTemp << strName << szMktempSuffix;
mktemp((char *)m_strTemp.c_str()); // will do because length doesn't change

View File

@@ -85,6 +85,9 @@ wxString wxFileConfig::GetGlobalDir()
#ifdef __UNIX__
strDir = "/etc/";
#elif defined(__WXSTUBS__)
// TODO
wxASSERT( TRUE ) ;
#else // Windows
#ifndef _MAX_PATH
#define _MAX_PATH 512

View File

@@ -46,7 +46,7 @@
#include <dirent.h>
#endif
#ifdef __WXMSW__
#ifdef __WINDOWS__
#ifndef __GNUWIN32__
#include <direct.h>
#include <dos.h>
@@ -70,7 +70,7 @@
#include <dir.h>
#endif
#ifdef __WXMSW__
#ifdef __WINDOWS__
#include "windows.h"
#endif
@@ -91,7 +91,7 @@ void wxPathList::Add (const wxString& path)
void wxPathList::AddEnvList (const wxString& envVariable)
{
static const char PATH_TOKS[] =
#ifdef __WXMSW__
#ifdef __WINDOWS__
" ;"; // Don't seperate with colon in DOS (used for drive)
#else
" :;";
@@ -136,7 +136,7 @@ bool wxPathList::Member (const wxString& path)
{
wxString path2((char *) node->Data ());
if (
#if defined(__WXMSW__) || defined(__VMS__)
#if defined(__WINDOWS__) || defined(__VMS__)
// Case INDEPENDENT
path.CompareTo (path2, wxString::ignoreCase) == 0
#else
@@ -167,7 +167,7 @@ wxString wxPathList::FindValidPath (const wxString& file)
if (ch != '\\' && ch != '/')
strcat (wxBuffer, "/");
strcat (wxBuffer, filename);
#ifdef __WXMSW__
#ifdef __WINDOWS__
Unix2DosFilename (wxBuffer);
#endif
if (wxFileExists (wxBuffer))
@@ -194,7 +194,7 @@ wxString wxPathList::FindAbsoluteValidPath (const wxString& file)
lastCh = buf[len-1];
if (lastCh != '/' && lastCh != '\\')
{
#ifdef __WXMSW__
#ifdef __WINDOWS__
strcat(buf, "\\");
#else
strcat(buf, "/");
@@ -237,7 +237,7 @@ wxIsAbsolutePath (const wxString& filename)
#ifdef __VMS__
|| (filename[0] == '[' && filename[1] != '.')
#endif
#ifdef __WXMSW__
#ifdef __WINDOWS__
/* MSDOS */
|| filename[0] == '\\' || (isalpha (filename[0]) && filename[1] == ':')
#endif
@@ -847,7 +847,11 @@ bool wxMkdir(const wxString& dir)
#ifdef __VMS__
return FALSE;
#elif (defined(__GNUWIN32__) && !defined(__MINGW32__)) || !defined(__WXMSW__)
#if defined(__WIN32__) // Could happen in __WXSTUBS__ mode
return (mkdir(WXSTRINGCAST dir) == 0);
#else
return (mkdir (WXSTRINGCAST dir, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) == 0);
#endif
#else
return (mkdir(WXSTRINGCAST dir) == 0);
#endif
@@ -924,7 +928,7 @@ bool wxPathExists(const char *pszPathName)
// Get a temporary filename, opening and closing the file.
char *wxGetTempFileName(const wxString& prefix, char *buf)
{
#ifdef __WXMSW__
#ifdef __WINDOWS__
#ifndef __WIN32__
char tmp[144];
@@ -1260,7 +1264,7 @@ bool wxSetWorkingDirectory(const wxString& d)
{
#ifdef __UNIX__
return (chdir(d) == 0);
#elif defined(__WXMSW__)
#elif defined(__WINDOWS__)
#ifdef __WIN32__
return (bool)(SetCurrentDirectory(d) != 0);

View File

@@ -257,6 +257,12 @@ wxColour *wxColourDatabase::FindColour(const wxString& colour)
else return NULL;
#endif
// TODO for other implementations. This should really go into
// platform-specific directories.
#ifdef __WXSTUBS__
else return NULL;
#endif
#ifdef __WXGTK__
else {
wxColour *col = new wxColour( colour );

View File

@@ -33,6 +33,7 @@
#include <wx/string.h>
#include <wx/intl.h>
#include <wx/menu.h>
#include <wx/frame.h>
#include <wx/generic/msgdlgg.h>
#include <wx/filedlg.h>
@@ -489,7 +490,7 @@ void wxLogGui::DoLog(wxLogLevel level, const char *szString)
{
wxString strTime = TimeStamp();
#ifdef __WIN32__
#if defined(__WIN32__) && !defined(__WXSTUBS__)
// don't prepend debug/trace here: it goes to the debug window
// anyhow, but do put a timestamp
OutputDebugString(strTime + szString + "\n\r");
@@ -905,6 +906,8 @@ void Trap()
{
#ifdef __WXMSW__
DebugBreak();
#elif defined(__WXSTUBS__)
// TODO
#else // Unix
raise(SIGTRAP);
#endif // Win/Unix

View File

@@ -21,7 +21,7 @@
#endif
#ifndef WX_PRECOMP
#include "wx.h"
#include "wx/wx.h"
#endif
#if USE_TOOLBAR
@@ -212,8 +212,8 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
if (bitmap && bitmap->Ok())
{
if (bitmap->GetColourMap())
memDC.SetPalette(*bitmap->GetColourMap());
if (bitmap->GetPalette())
memDC.SetPalette(*bitmap->GetPalette());
int ax = (int)tool->m_x,
ay = (int)tool->m_y,

View File

@@ -39,11 +39,11 @@
// default type is the native one
const wxTextFile::Type wxTextFile::typeDefault = wxTextFile::
#if defined(__WXMSW__)
#if defined(__WINDOWS__)
Type_Dos;
#elif defined(__UNIX__)
Type_Unix;
#elif defined(__MAC__)
#elif defined(__WXMAC__)
Type_Mac;
// if you feel brave, remove the next line
#error "wxTextFile: code for Mac files is untested."

View File

@@ -168,6 +168,8 @@ bool wxGetLocalTime(long *timeZone, int *dstObserved)
*timeZone = tp->tm_gmtoff; // ???
*dstObserved = tp->tm_isdst;
#endif
#elif defined(__WXSTUBS__)
return FALSE;
#else
// #error wxGetLocalTime not implemented.
struct timeval tp;

View File

@@ -109,7 +109,7 @@ int strncasecmp(const char *str_1, const char *str_2, size_t maxchar)
}
#endif
#ifdef __WXMSW__
#ifdef __WINDOWS__
#ifndef __GNUWIN32__
#define strcasecmp stricmp

View File

@@ -306,17 +306,25 @@ bool wxGenericGrid::CreateGrid(int nRows, int nCols, wxString **cellValues, shor
int objectSizeX = m_totalCols;
int pageSizeX = 1;
int viewLengthX = m_totalCols;
/*
m_hScrollBar->SetViewLength(viewLengthX);
m_hScrollBar->SetObjectLength(objectSizeX);
m_hScrollBar->SetPageSize(pageSizeX);
*/
m_hScrollBar->SetScrollbar(m_hScrollBar->GetPosition(), pageSizeX, objectSizeX, viewLengthX);
int objectSizeY = m_totalRows;
int pageSizeY = 1;
int viewLengthY = m_totalRows;
/*
m_vScrollBar->SetViewLength(viewLengthY);
m_vScrollBar->SetObjectLength(objectSizeY);
m_vScrollBar->SetPageSize(pageSizeY);
*/
m_vScrollBar->SetScrollbar(m_vScrollBar->GetPosition(), pageSizeY, objectSizeY, viewLengthY);
AdjustScrollbars();
@@ -842,7 +850,7 @@ void wxGenericGrid::DrawCellBackground(wxDC *dc, wxRectangle *rect, int row, int
dc->SetBrush(*cell->GetBackgroundBrush());
dc->SetPen(*wxTRANSPARENT_PEN);
#ifdef 0 // In wxWin 2.0 the dc code is exact. RR.
#if 0 // In wxWin 2.0 the dc code is exact. RR.
#ifdef __WXMOTIF__
dc->DrawRectangle(rect->x+1, rect->y+1, rect->width-1, rect->height-1);
#else

View File

@@ -112,8 +112,6 @@ wxSplitterWindow::wxSplitterWindow(wxWindow *parent, wxWindowID id, const wxPoin
// Eventually, we'll respond to colour change messages
InitColours();
SetDoubleClick(TRUE);
// For debugging purposes, to see the background.
// SetBackground(wxBLUE_BRUSH);
}

View File

@@ -4,7 +4,7 @@ WXDIR = $(WXWIN)
CFG = $(WXDIR)\src\msw\wxwin32.cfg
WXLIBDIR = $(WXDIR)\lib
WXINC = $(WXDIR)\include
WIN95FLAG = -D__WIN95__
WIN95FLAG = -D__WIN95__ -D__WINDOWS__
!ifndef FINAL
FINAL=0

View File

@@ -101,19 +101,8 @@ RSCSUFF=rsc
# many things as we can, to catch portability problems sooner.
WARN = -Wall
# -pedantic -Wpointer-arith -Wtraditional -Wcast-align \
# -Wenum-clash -Wnested-externs -Woverloaded-virtual \
# -Winline -Wconversion
# not good with too few 'const' decls in wxWindows
# -Wcast-qual -Wwrite-strings
# too hard (problems with system header files)
# -Wstrict-prototypes -Wmissing-prototypes
# -Wredudant-decs
# Which GUI, -Dwx_xview or -Dwx_motif (don't change this)
GUI = -D__WXMSW__
GUI = -D__WXMSW__ -D__WINDOWS__
# Optimization
# OPT = -O
@@ -126,7 +115,6 @@ OPT =
# AROPTIONS = crs # For IRIX and Solaris (both SYSVR4).
AROPTIONS = ruv
RANLIB = ranlib
# RANLIB = echo # Uncomment this line for IRIX and Solaris
# Compiler libraries: defaults to GCC libraries
# Solaris: -lgen -ldl -lsocket -lnsl
@@ -149,31 +137,6 @@ RANLIB = ranlib
#added for win95
COMPPATHS=
# HP-specific compiler library: an AIAI convenience
HPCOMPLIBS=
# LDLIBS for specific GUIs
# The following for LINUX and Motif 2.0:
#MOTIFLDLIBS = -lwx_motif $(COMPLIBS) -lXm -lXmu -lXpm -lXt -lXext -lX11 -lm
#BASICMOTIFLDLIBS = -lwx_motif /aiai/packages/motif1.2.1/motif/sun4/lib/libXm.a /aiai/packages/motif1.2.1/motif/sun4/lib/libXmu.a /aiai/packages/motif1.2.1/motif/sun4/lib/libXt.a /aiai/packages/motif1.2.1/motif/sun4/lib/libX11.a -lm
# Apparently libg++ (in COMPLIBS) should go before libXm because of a clash of
# function name: re_create.
#BASICMOTIFLDLIBS = -lwx_motif $(COMPLIBS) -lXm -lXmu -lXt -lX11 -lm
#MOTIFLDLIBS = $(BASICMOTIFLDLIBS) $(COMPLIBS)
#XVIEWLDLIBS = -lwx_ol -lxview -lolgx -lX11 -lm $(COMPLIBS)
#HPLDLIBS=-lwx_hp -lXm -lXmu -lXt -lX11 -lm
#CYGNUSLDLIBS=
# Default LDLIBS for XView (don't change this)
#LDLIBS = $(CYGNUSLDLIBS)
# _ol or _motif (don't need to change, the makefiles will take
# care of it if you use motif/hp/xview targets)
#GUISUFFIX=_ol
########################## Directories ###############################
@@ -186,7 +149,7 @@ WXSRC=$(WXDIR)/src/msw
WXINC=$(WXDIR)/include
WXBASESRC=$(WXDIR)/src/common
WXLIB=$(WXDIR)/lib/$(LIBPREFIX)wx.$(LIBSUFF)
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/zlib $(EXTRAINC)$(COMPPATHS)
INC = -I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/include/wx/msw/gnuwin32 -I$(WXDIR)/src/zlib $(EXTRAINC)$(COMPPATHS)
RCLFLAGS=-cpp "cpp -lang-c++ -DWIN32 -D_WIN32 -DRCL_INVOKED -I$(WXWIN)\include"
#LIBS = -lctl3d32 $(WXLIB) $(WINLIBS) $(COMPLIBS)
@@ -207,9 +170,6 @@ CPPFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) -DWXDEBUG='$(WXDEB
CFLAGS = $(XINCLUDE) $(INC) $(OPTIONS) $(GUI) $(DEBUGFLAGS) -DWXDEBUG='$(WXDEBUG)' $(WARN) $(OPT)
LDFLAGS = -Wl,--subsystem,windows -mwindows -L$(WXDIR)/lib
# Extra patch link for XView
#XVIEW_LINK = $(WXDIR)/src/x/objects_ol/sb_scrol.o # $(WXDIR)/src/x/objects_ol/xvwinlp.o
.SUFFIXES: .rc .$(RESSUFF) .$(RSCSUFF) .cpp .c
# Set these in a batch file instead e.g. install/cygnus.bat

View File

@@ -56,15 +56,15 @@ LIBS=$(WXLIB) $(EXTRALIBS) oldnames libw llibcew commdlg ddeml shell mmsystem $(
!if "$(DLL)" == "0"
PCH=WX.PCH
PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH)
CPPFLAGS= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /DWXDEBUG=1 /D__WXDEBUG__ /AL /Gt4 /Gx- /W4 /G2sw $(OPT) /D__WXMSW__ $(PRECOMP)
CPPFLAGS2= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /DWXDEBUG=1 /D__WXDEBUG__ /AL /Gt4 /Gx- /W4 /G2sw $(OPT) /D__WXMSW__
CPPFLAGS= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /DWXDEBUG=1 /D__WXDEBUG__ /AL /Gt4 /Gx- /W4 /G2sw $(OPT) /D__WXMSW__ /D__WINDOWS__ $(PRECOMP)
CPPFLAGS2= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /DWXDEBUG=1 /D__WXDEBUG__ /AL /Gt4 /Gx- /W4 /G2sw $(OPT) /D__WXMSW__ /D__WINDOWS__
LINKFLAGS=$(LINK_DEBUG_FLAGS) /NOD /SEG:512 /ONERROR:NOEXE
DUMMY=dummy
!else
PCH=WX.PCH
PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH)
CPPFLAGS= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /AL /Gt4 /Gx- /W4 /G2s /GD $(OPT) /D__WXMSW__ $(PRECOMP)
CPPFLAGS2= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /AL /Gt4 /Gx- /W4 /G2s /GD $(OPT) /D__WXMSW__
CPPFLAGS= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /AL /Gt4 /Gx- /W4 /G2s /GD $(OPT) /D__WXMSW__ /D__WINDOWS__$(PRECOMP)
CPPFLAGS2= $(DEBUG_FLAGS) $(OPTIONS) $(INC) $(EXTRAFLAGS) /AL /Gt4 /Gx- /W4 /G2s /GD $(OPT) /D__WXMSW__ /D__WINDOWS__
LINKFLAGS=$(LINK_DEBUG_FLAGS) /NOD /SEG:512 /ONERROR:NOEXE
DUMMY=dummydll
!endif

View File

@@ -53,7 +53,7 @@
#endif
// use debug CRT functions for memory leak detections in VC++
/* THIS CRAPS OUT in VC++ 5.
/* Doesn't work when using the makefiles, for some reason.
#if defined(__WXDEBUG__) && defined(_MSC_VER)
#include <crtdbg.h>
#endif
@@ -423,8 +423,7 @@ int wxEntry(WXHINSTANCE hInstance, WXHINSTANCE WXUNUSED(hPrevInstance), char *m_
{
wxhInstance = (HINSTANCE) hInstance;
/* No, sorry, whatever this is, forget it. Doesn't work with VC++ 5.
/* Doesn't work when using the makefiles, for some reason.
#if defined(__WXDEBUG__) && defined(_MSC_VER)
// do check for memory leaks on program exit
// (another useful flag is _CRTDBG_DELAY_FREE_MEM_DF which doesn't free

View File

@@ -386,7 +386,7 @@ void wxDC::DrawLine(long x1, long y1, long x2, long y2)
CalcBoundingBox(x2, y2);
}
void wxDC::DrawArc(long x1,long y1,long x2,long y2,double xc,double yc)
void wxDC::DrawArc(long x1,long y1,long x2,long y2, long xc, long yc)
{
double dx = xc-x1 ;
double dy = yc-y1 ;

View File

@@ -576,11 +576,12 @@ $(CFG): makefile.b32
-WE
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/zlib
-I$(WXDIR)\include\msw\gnuwin32
-I$(WXDIR)\include\wx\msw\gnuwin32
-L$(BCCDIR)\lib
-D__WXWIN__
-D__WXMSW__
-D__WINDOWS__
-DWIN32
$(OPT)
$(DEBUG_FLAGS)

View File

@@ -92,8 +92,8 @@ COMMONOBJS = \
$(COMMDIR)\log.obj \
$(COMMDIR)\memory.obj \
$(COMMDIR)\module.obj \
$(COMMDIR)\object.obj \
$(COMMDIR)\odbc.obj \
$(COMMDIR)\object.obj \
$(COMMDIR)\postscrp.obj \
$(COMMDIR)\prntbase.obj \
$(COMMDIR)\resource.obj \
@@ -120,7 +120,6 @@ COMMONOBJS = \
$(COMMDIR)\datstrm.obj \
$(COMMDIR)\wincmn.obj
MSWOBJS = \
$(MSWDIR)\accel.obj \
$(MSWDIR)\app.obj \

View File

@@ -2061,7 +2061,7 @@ void wxWindow::MSWOnWindowPosChanging(void *WXUNUSED(lpPos))
}
// Deal with child commands from buttons etc.
bool wxWindow::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND WXUNUSED(control))
bool wxWindow::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control)
{
#if WXDEBUG > 1
wxDebugMsg("wxWindow::MSWOnCommand\n");
@@ -2093,27 +2093,11 @@ bool wxWindow::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND WXUNUSED(control))
}
else
{
#if WXDEBUG > 1
wxDebugMsg("Could not find item!\n");
char buf[100];
wxDebugMsg("Item ids for this panel:\n");
wxNode *current = GetChildren()->First();
while (current)
{
wxObject *obj = (wxObject *)current->Data() ;
if (obj->IsKindOf(CLASSINFO(wxControl)))
{
wxControl *item = (wxControl *)current->Data();
sprintf(buf, " %d\n", (int)item->m_windowId);
wxDebugMsg(buf);
}
current = current->Next();
}
wxYield();
#endif
return FALSE;
wxWindow *win = wxFindWinFromHandle(control);
if (win)
return win->MSWCommand(cmd, id);
}
return FALSE;
}
long wxWindow::MSWOnSysCommand(WXWPARAM wParam, WXLPARAM lParam)

View File

@@ -145,9 +145,9 @@ PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH) /Fd$(WXDIR)\lib\wx.pdb
MAKEPRECOMP=/YcWX/WXPREC.H
!endif
CPPFLAGS=$(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) /D__WXMSW__ /DDEBUG=1 $(INC) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /GX /D__WXDEBUG__ /DWXDEBUG=1 /DSTRICT
CPPFLAGS=$(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) /D__WXMSW__ /DDEBUG=1 $(INC) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /D__WINDOWS__ /GX /D__WXDEBUG__ /DWXDEBUG=1 /DSTRICT
# If you don't include wxprec.h, use CPPFLAGS2
CPPFLAGS2=$(WINFLAGS) $(DEBUG_FLAGS) /D__WXMSW__ /DDEBUG=1 $(INC) $(EXTRAFLAGS) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /GX /D__WXDEBUG__ /DWXDEBUG=1 /DSTRICT
CPPFLAGS2=$(WINFLAGS) $(DEBUG_FLAGS) /D__WXMSW__ /DDEBUG=1 $(INC) $(EXTRAFLAGS) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /D__WINDOWS__ /GX /D__WXDEBUG__ /DWXDEBUG=1 /DSTRICT
LINKFLAGS=$(LINK_DEBUG_FLAGS) $(WINLINKFLAGS) -entry:WinMainCRTStartup
DUMMY=dummy
@@ -162,8 +162,8 @@ DUMMY=dummy
!endif
PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH) /Fd$(WXDIR)\lib\wx.pdb
CPPFLAGS=$(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) /D__WXMSW__ $(INC) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDOWS /D_WINDLL
CPPFLAGS2=$(WINFLAGS) $(DEBUG_FLAGS) /D__WXMSW__ $(INC) $(EXTRAFLAGS) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDOWS /D_WINDLL
CPPFLAGS=$(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) /D__WXMSW__ $(INC) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDOWS /D__WINDOWS__ /D_WINDLL
CPPFLAGS2=$(WINFLAGS) $(DEBUG_FLAGS) /D__WXMSW__ $(INC) $(EXTRAFLAGS) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDOWS /D__WINDOWS__ /D_WINDLL
LINKFLAGS=$(LINK_DEBUG_FLAGS) -machine:i386 -subsystem:windows,$(APPVER) -dll # -entry:_DllMainCRTStartup$(DLLENTRY)
!endif

View File

@@ -15,6 +15,7 @@
#include "wx/setup.h"
#include "wx/accel.h"
#include "wx/string.h"
#if !USE_SHARED_LIBRARIES
IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject)

View File

@@ -27,14 +27,18 @@
#include "wx/msgdlg.h"
#include "wx/log.h"
#include "wx/module.h"
#include "wx/memory.h"
#if USE_WX_RESOURCES
#include "wx/resource.h"
#endif
#if USE_POSTSCRIPT
#include "wx/postscrp.h"
#endif
#include <string.h>
#if defined(__WIN95__) && !defined(__GNUWIN32__)
extern char *wxBuffer;
extern wxList wxPendingDelete;
@@ -145,7 +149,7 @@ int wxEntry( int argc, char *argv[] )
return 0;
};
wxTheApp = (* wxApp::GetInitializerFunction()) ();
wxTheApp = (wxApp*) (* wxApp::GetInitializerFunction()) ();
};
if (!wxTheApp)
@@ -170,8 +174,6 @@ int wxEntry( int argc, char *argv[] )
if (!wxTheApp->OnInit()) return 0;
wxTheApp->m_initialized = (wxTopLevelWindows.Number() > 0);
int retValue = 0;
if (wxTheApp->Initialized()) retValue = wxTheApp->OnRun();

View File

@@ -34,8 +34,6 @@
// define event table
// ------------------
BEGIN_EVENT_TABLE(wxCheckListBox, wxListBox)
EVT_CHAR(wxCheckListBox::OnChar)
EVT_LEFT_DOWN(wxCheckListBox::OnLeftClick)
END_EVENT_TABLE()
// control creation
@@ -71,7 +69,6 @@ bool wxCheckListBox::IsChecked(uint uiIndex) const
void wxCheckListBox::Check(uint uiIndex, bool bCheck)
{
// TODO
return FALSE;
}

View File

@@ -1,6 +1,7 @@
/////////////////////////////////////////////////////////////////////////////
// Name: colordlg.cpp
// Purpose: wxColourDialog class
// Purpose: wxColourDialog class. NOTE: you can use the generic class
// if you wish, instead of implementing this.
// Author: AUTHOR
// Modified by:
// Created: ??/??/98
@@ -13,7 +14,7 @@
#pragma implementation "colordlg.h"
#endif
#include "wx/colordlg.h"
#include "wx/stubs/colordlg.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog)

View File

@@ -37,7 +37,7 @@ wxControl::~wxControl()
wxWindow *parent = (wxWindow *)GetParent();
if (parent)
{
if (parent->GetDefaultItem() == this)
if (parent->GetDefaultItem() == (wxButton*) this)
parent->SetDefaultItem(NULL);
}
}
@@ -53,17 +53,6 @@ wxString wxControl::GetLabel() const
return wxString("");
}
/*
* Allocates control IDs within the appropriate range
*/
int NewControlId()
{
static int s_controlId = 0;
s_controlId ++;
return s_controlId;
}
void wxControl::ProcessCommand (wxCommandEvent & event)
{
// Tries:
@@ -80,11 +69,6 @@ void wxControl::ProcessCommand (wxCommandEvent & event)
}
}
void wxControl::SetClientSize (int width, int height)
{
SetSize (-1, -1, width, height);
}
void wxControl::Centre (int direction)
{
int x, y, width, height, panel_width, panel_height, new_x, new_y;

View File

@@ -14,6 +14,7 @@
#endif
#include "wx/cursor.h"
#include "wx/icon.h"
#if !USE_SHARED_LIBRARIES
IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxBitmap)

View File

@@ -131,6 +131,7 @@ const char *wxDoubleToStringStr = "%.2f";
wxPrintPaperDatabase* wxThePrintPaperDatabase = NULL;
#endif
#if USE_SHARED_LIBRARY
///// Event tables (also must be in one, statically-linked file for shared libraries)
// This is the base, wxEvtHandler 'bootstrap' code which is expanded manually here
@@ -140,6 +141,7 @@ const wxEventTable wxEvtHandler::sm_eventTable =
{ NULL, &wxEvtHandler::sm_eventTableEntries[0] };
const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] = { { 0, 0, 0, NULL } };
#endif
const wxSize wxDefaultSize(-1, -1);
const wxPoint wxDefaultPosition(-1, -1);

View File

@@ -34,8 +34,6 @@ IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
// wxDC
//-----------------------------------------------------------------------------
IMPLEMENT_ABSTRACT_CLASS(wxDC,wxObject)
wxDC::wxDC(void)
{
m_ok = FALSE;

View File

@@ -47,7 +47,7 @@ wxPaintDC::~wxPaintDC(void)
};
void wxPaintDC::FloodFill( long WXUNUSED(x1), long WXUNUSED(y1),
wxColour *WXUNUSED(col), int WXUNUSED(style) )
wxColour* WXUNUSED(col), int WXUNUSED(style) )
{
};
@@ -68,7 +68,7 @@ void wxPaintDC::CrossHair( long x, long y )
};
void wxPaintDC::DrawArc( long x1, long y1, long x2, long y2, double xc, double yc )
void wxPaintDC::DrawArc( long x1, long y1, long x2, long y2, long xc, long yc )
{
if (!Ok()) return;
@@ -347,13 +347,13 @@ void wxPaintDC::GetTextExtent( const wxString &string, long *width, long *height
long wxPaintDC::GetCharWidth(void)
{
if (!Ok()) return 0;
return 0;
};
long wxPaintDC::GetCharHeight(void)
{
if (!Ok()) return 0;
return 0;
};
void wxPaintDC::Clear(void)

View File

@@ -15,10 +15,6 @@
#include "wx/dcmemory.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxDC)
#endif
//-----------------------------------------------------------------------------
// wxMemoryDC
//-----------------------------------------------------------------------------

View File

@@ -107,10 +107,8 @@ wxDialog::~wxDialog()
// By default, pressing escape cancels the dialog
void wxDialog::OnCharHook(wxKeyEvent& event)
{
if (GetHWND())
if (event.m_keyCode == WXK_ESCAPE)
{
if (event.m_keyCode == WXK_ESCAPE)
{
// Behaviour changed in 2.0: we'll send a Cancel message
// to the dialog instead of Close.
wxCommandEvent cancelEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL);
@@ -118,7 +116,6 @@ void wxDialog::OnCharHook(wxKeyEvent& event)
GetEventHandler()->ProcessEvent(cancelEvent);
return;
}
}
// We didn't process this event.
event.Skip();

View File

@@ -17,7 +17,6 @@
#include "wx/utils.h"
#include "wx/dialog.h"
#include "wx/dirdlg.h"
#endif
#include "wx/cmndata.h"

View File

@@ -17,6 +17,7 @@
#include "wx/utils.h"
#include "wx/dialog.h"
#include "wx/filedlg.h"
#include "wx/intl.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_CLASS(wxFileDialog, wxDialog)
@@ -100,7 +101,7 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
int wxFileDialog::ShowModal()
{
// TODO
wxID_CANCEL;
return wxID_CANCEL;
}
// Generic file load/save dialog

View File

@@ -13,7 +13,10 @@
#pragma implementation "font.h"
#endif
#include "wx/defs.h"
#include "wx/string.h"
#include "wx/font.h"
#include "wx/gdicmn.h"
#if !USE_SHARED_LIBRARIES
IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)

View File

@@ -1,6 +1,7 @@
/////////////////////////////////////////////////////////////////////////////
// Name: fontdlg.cpp
// Purpose: wxFontDialog class
// Purpose: wxFontDialog class. NOTE: you can use the generic class
// if you wish, instead of implementing this.
// Author: AUTHOR
// Modified by:
// Created: ??/??/98
@@ -13,7 +14,7 @@
#pragma implementation "fontdlg.h"
#endif
#include "wx/fontdlg.h"
#include "wx/stubs/fontdlg.h"
#include "wx/cmndata.h"
#if !USE_SHARED_LIBRARY

View File

@@ -17,6 +17,11 @@
#include "wx/statusbr.h"
#include "wx/toolbar.h"
#include "wx/menuitem.h"
#include "wx/menu.h"
#include "wx/dcclient.h"
#include "wx/dialog.h"
#include "wx/settings.h"
#include "wx/app.h"
extern wxList wxModelessWindows;
extern wxList wxPendingDelete;
@@ -512,9 +517,6 @@ void wxFrame::PositionToolBar()
// the toolbar/status bar were added.
// So DEFINITELY replace the line below with something appropriate.
wxCHECK_MSG( TRUE, FALSE,
"PositionToolBar not implemented properly, see frame.cpp" );
GetClientSize(& cw, &ch);
if ( GetStatusBar() )

View File

@@ -93,13 +93,3 @@ int wxGauge::GetValue() const
return m_gaugePos;
}
void wxGauge::SetForegroundColour(const wxColour& col)
{
m_foregroundColour = col ;
}
void wxGauge::SetBackgroundColour(const wxColour& col)
{
m_backgroundColour = col ;
}

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: imaglist.cpp
// Purpose: wxImageList
// Purpose: wxImageList. You may wish to use the generic version.
// Author: AUTHOR
// Modified by:
// Created: ??/??/98
@@ -13,7 +13,7 @@
#pragma implementation "imaglist.h"
#endif
#include "wx/msw/imaglist.h"
#include "wx/stubs/imaglist.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxImageList, wxObject)

View File

@@ -14,7 +14,7 @@
#endif
#include "wx/listbox.h"
#include "wx/settings.h"
#include "wx/dynarray.h"
#include "wx/log.h"
@@ -63,11 +63,6 @@ wxListBox::~wxListBox()
{
}
void wxListBox::SetupColours()
{
SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));
}
void wxListBox::SetFirstItem(int N)
{
// TODO

View File

@@ -13,7 +13,8 @@
#pragma implementation "listctrl.h"
#endif
#include "wx/listctrl.h"
#include "wx/stubs/textctrl.h"
#include "wx/stubs/listctrl.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxListCtrl, wxControl)
@@ -365,17 +366,14 @@ void wxListCtrl::SetImageList(wxImageList *imageList, int which)
int flags = 0;
if ( which == wxIMAGE_LIST_NORMAL )
{
flags = LVSIL_NORMAL;
m_imageListNormal = imageList;
}
else if ( which == wxIMAGE_LIST_SMALL )
{
flags = LVSIL_SMALL;
m_imageListSmall = imageList;
}
else if ( which == wxIMAGE_LIST_STATE )
{
flags = LVSIL_STATE;
m_imageListState = imageList;
}
// TODO set image list

View File

@@ -13,6 +13,6 @@
int main(int argc, char* argv[])
{
return wxEntry(argc, argv[]);
return wxEntry(argc, argv);
}

955
src/stubs/makefile.nt Normal file
View File

@@ -0,0 +1,955 @@
#
# File: makefile.nt
# Author: Julian Smart
# Created: 1997
# Updated:
# Copyright: (c) 1997, Julian Smart
#
# "%W% %G%"
#
# Makefile : Builds wxWindows stubs library wxstubs.lib for VC++ (32-bit)
# Arguments:
#
# FINAL=1 argument to nmake to build version with no debugging info.
#
!include <ntwin32.mak>
APPVER=3.50 # 4.0
# This means 'enable Windows 95 features' (in wxWindows and in VC++ 4.0).
WINVERSION=-DWINVER=0x0400
# On Alpha machines, change to CPU=ALPHA
CPU=i386
# Suffixes
OBJSUFF=obj
SRCSUFF=cpp
WINFLAGS=-c -W3 -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -D_X86_=1 $(WINVERSION) -D__WIN32__ -D__WINDOWS__
WINLINKFLAGS=/INCREMENTAL:NO /NOLOGO -align:0x1000 -machine:$(CPU) -subsystem:windows,$(APPVER)
WINLIBS=kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib oldnames.lib\
comctl32.lib ctl3d32.lib odbc32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib # libci.lib # libci.lib required for VC++ 4.2
# Change this to your WXWIN directory
WXDIR=$(WXWIN)
WXSRC=$(WXDIR)\src\stubs
WXINC=$(WXDIR)\include
WXBASESRC=$(WXDIR)\src\common
WXLIB=$(WXDIR)\lib\wxstubs.lib
EXTRADLLFLAGS=
INC=-I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/zlib $(EXTRAINC)
LIBS = $(EXTRALIBS) $(WXLIB) $(WINLIBS)
!ifndef FINAL
FINAL=0
DEBUG=1
!endif
# Set this to 1 if you don't want to use precompiled headers
NOPCH=1
OPTIONS=
!if "$(FINAL)" == "0"
OPT = /Od /Gy
# ***N.B.*** to save space/time, comment out /FR to avoid browse info (.sbr files) being generated
DEBUG_FLAGS= /Zi # /FR
LINK_DEBUG_FLAGS=-debug:full -debugtype:cv # /PDB:NONE
CRTFLAG=/MD
!else
# /O1 - smallest code
# /O2 - fastest code
OPT = /O1 # /O2 # /Od
DEBUG_FLAGS=
LINK_DEBUG_FLAGS=/RELEASE
CRTFLAG=/MD
!endif
PCH=
PRECOMP=
MAKEPRECOMP=
CPPFLAGS=$(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) /D__WXSTUBS__ /DDEBUG=1 $(INC) $(OPT) $(CRTFLAG) /GX /D__WXDEBUG__ /DWXDEBUG=1
# If you don't include wxprec.h, use CPPFLAGS2
CPPFLAGS2=$(WINFLAGS) $(DEBUG_FLAGS) /D__WXSTUBS__ /DDEBUG=1 $(INC) $(EXTRAFLAGS) $(OPT) $(CRTFLAG) /GX /D__WXDEBUG__ /DWXDEBUG=1
LINKFLAGS=$(LINK_DEBUG_FLAGS) $(WINLINKFLAGS) -entry:WinMainCRTStartup
THISDIR=$(WXWIN)\src\stubs
LIBTARGET=$(WXLIB)
# Please set these according to the settings in wx_setup.h, so we can include
# the appropriate libraries in wx.lib
PERIPH_LIBS=
PERIPH_TARGET=
PERIPH_CLEAN_TARGET=
GENDIR=..\generic
COMMDIR=..\common
STUBSDIR=.
DOCDIR = $(WXDIR)\docs
GENERICOBJS= \
$(GENDIR)\choicdgg.obj \
$(GENDIR)\colrdlgg.obj \
$(GENDIR)\fontdlgg.obj \
$(GENDIR)\gridg.obj \
$(GENDIR)\msgdlgg.obj \
$(GENDIR)\panelg.obj \
$(GENDIR)\printps.obj \
$(GENDIR)\prntdlgg.obj \
$(GENDIR)\scrolwin.obj \
$(GENDIR)\splitter.obj \
$(GENDIR)\statusbr.obj \
$(GENDIR)\tabg.obj \
$(GENDIR)\textdlgg.obj
# $(GENDIR)\helpxlp.obj \
COMMONOBJS = \
$(COMMDIR)\cmndata.obj \
$(COMMDIR)\config.obj \
$(COMMDIR)\docview.obj \
$(COMMDIR)\docmdi.obj \
$(COMMDIR)\dynarray.obj \
$(COMMDIR)\event.obj \
$(COMMDIR)\file.obj \
$(COMMDIR)\filefn.obj \
$(COMMDIR)\fileconf.obj \
$(COMMDIR)\framecmn.obj \
$(COMMDIR)\gdicmn.obj \
$(COMMDIR)\intl.obj \
$(COMMDIR)\ipcbase.obj \
$(COMMDIR)\helpbase.obj \
$(COMMDIR)\layout.obj \
$(COMMDIR)\log.obj \
$(COMMDIR)\memory.obj \
$(COMMDIR)\module.obj \
$(COMMDIR)\object.obj \
$(COMMDIR)\postscrp.obj \
$(COMMDIR)\prntbase.obj \
$(COMMDIR)\resource.obj \
$(COMMDIR)\tbarbase.obj \
$(COMMDIR)\tbarsmpl.obj \
$(COMMDIR)\textfile.obj \
$(COMMDIR)\timercmn.obj \
$(COMMDIR)\utilscmn.obj \
$(COMMDIR)\validate.obj \
$(COMMDIR)\valtext.obj \
$(COMMDIR)\date.obj \
$(COMMDIR)\hash.obj \
$(COMMDIR)\list.obj \
$(COMMDIR)\string.obj \
$(COMMDIR)\time.obj \
$(COMMDIR)\wxexpr.obj \
$(COMMDIR)\y_tab.obj \
$(COMMDIR)\extended.obj \
$(COMMDIR)\process.obj \
$(COMMDIR)\fstream.obj \
$(COMMDIR)\mstream.obj \
$(COMMDIR)\zstream.obj \
$(COMMDIR)\stream.obj \
$(COMMDIR)\datstrm.obj \
$(COMMDIR)\wincmn.obj
# $(COMMDIR)\odbc.obj \
STUBSOBJS = \
$(STUBSDIR)\accel.obj \
$(STUBSDIR)\app.obj \
$(STUBSDIR)\bitmap.obj \
$(STUBSDIR)\bmpbuttn.obj \
$(STUBSDIR)\brush.obj \
$(STUBSDIR)\button.obj \
$(STUBSDIR)\checkbox.obj \
$(STUBSDIR)\checklst.obj \
$(STUBSDIR)\choice.obj \
$(STUBSDIR)\clipbrd.obj \
$(STUBSDIR)\colordlg.obj \
$(STUBSDIR)\colour.obj \
$(STUBSDIR)\combobox.obj \
$(STUBSDIR)\control.obj \
$(STUBSDIR)\cursor.obj \
$(STUBSDIR)\data.obj \
$(STUBSDIR)\dc.obj \
$(STUBSDIR)\dcmemory.obj \
$(STUBSDIR)\dcclient.obj \
$(STUBSDIR)\dcscreen.obj \
$(STUBSDIR)\dialog.obj \
$(STUBSDIR)\dirdlg.obj \
$(STUBSDIR)\filedlg.obj \
$(STUBSDIR)\font.obj \
$(STUBSDIR)\fontdlg.obj \
$(STUBSDIR)\frame.obj \
$(STUBSDIR)\gauge.obj \
$(STUBSDIR)\gdiobj.obj \
$(STUBSDIR)\helpxxxx.obj \
$(STUBSDIR)\icon.obj \
$(STUBSDIR)\imaglist.obj \
$(STUBSDIR)\joystick.obj \
$(STUBSDIR)\listbox.obj \
$(STUBSDIR)\listctrl.obj \
$(STUBSDIR)\main.obj \
$(STUBSDIR)\mdi.obj \
$(STUBSDIR)\menu.obj \
$(STUBSDIR)\menuitem.obj \
$(STUBSDIR)\metafile.obj \
$(STUBSDIR)\minifram.obj \
$(STUBSDIR)\msgdlg.obj \
$(STUBSDIR)\notebook.obj \
$(STUBSDIR)\palette.obj \
$(STUBSDIR)\pen.obj \
$(STUBSDIR)\printdlg.obj \
$(STUBSDIR)\print.obj \
$(STUBSDIR)\radiobox.obj \
$(STUBSDIR)\radiobut.obj \
$(STUBSDIR)\region.obj \
$(STUBSDIR)\scrolbar.obj \
$(STUBSDIR)\settings.obj \
$(STUBSDIR)\slider.obj \
$(STUBSDIR)\spinbutt.obj \
$(STUBSDIR)\statbmp.obj \
$(STUBSDIR)\statbox.obj \
$(STUBSDIR)\statusbr.obj \
$(STUBSDIR)\stattext.obj \
$(STUBSDIR)\tabctrl.obj \
$(STUBSDIR)\taskbar.obj \
$(STUBSDIR)\toolbar.obj \
$(STUBSDIR)\textctrl.obj \
$(STUBSDIR)\thread.obj \
$(STUBSDIR)\timer.obj \
$(STUBSDIR)\treectrl.obj \
$(STUBSDIR)\utils.obj \
$(STUBSDIR)\utilsexc.obj \
$(STUBSDIR)\wave.obj \
$(STUBSDIR)\window.obj
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(STUBSOBJS)
# Normal, static library
all: $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
$(WXDIR)\lib\wxstubs.lib: $(OBJECTS) $(PERIPH_LIBS)
-erase $(LIBTARGET)
$(implib) @<<
-out:$@
-machine:$(CPU)
$(OBJECTS) $(PERIPH_LIBS)
<<
########################################################
# Windows-specific objects
$(STUBSDIR)/accel.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/app.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/bitmap.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/bmpbuttn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/brush.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/button.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/choice.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/checkbox.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/checklst.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/clipbrd.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/colordlg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/colour.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/combobox.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/control.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/cursor.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/data.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/dc.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/dcmemory.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/dcclient.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/dcprint.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/dcscreen.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/dialog.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/dirdlg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/filedlg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/font.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/fontdlg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/frame.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/gauge.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/gdiobj.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/icon.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/imaglist.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/joystick.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/listbox.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
$(STUBSDIR)/listctrl.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
$(STUBSDIR)/main.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/mdi.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/menu.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/menuitem.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/metafile.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/minifram.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/msgdlg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/notebook.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/palette.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/pen.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/printdlg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/print.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/radiobox.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/radiobut.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/region.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/scrolbar.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/settings.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/slider.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/spinbutt.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/statbmp.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/statbox.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/statusbr.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/stattext.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/tabctrl.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/taskbar.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/toolbar.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/textctrl.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/thread.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/timer.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/treectrl.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/utils.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/utilsexc.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/wave.obj: $*.$(SRCSUFF)
echo $(CPPFLAGS)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(STUBSDIR)/window.obj: $*.$(SRCSUFF)
echo $(CPPFLAGS)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
########################################################
# Common objects (always compiled)
$(COMMDIR)/cmndata.obj: $*.$(SRCSUFF)
echo $(CPPFLAGS)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/config.obj: $*.$(SRCSUFF)
echo $(CPPFLAGS)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/db.obj: $*.$(SRCSUFF)
echo $(CPPFLAGS)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/dbtable.obj: $*.$(SRCSUFF)
echo $(CPPFLAGS)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/docview.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/docmdi.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/dynarray.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/event.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/file.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/fileconf.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/filefn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/framecmn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/gdicmn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/intl.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/ipcbase.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/helpbase.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/layout.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/log.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/memory.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/module.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/object.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/odbc.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/postscrp.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/prntbase.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/resource.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/tbarbase.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/tbarsmpl.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/textfile.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/timercmn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/utilscmn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/validate.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/valtext.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/date.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/wxexpr.obj: $*.$(SRCSUFF)
echo $(CPPFLAGS)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/hash.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/list.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/string.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/matrix.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
#$(COMMDIR)/wxstrgnu/wxstrgnu.obj: $*.$(SRCSUFF)
# cl @<<
#$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) /Fo$@
#<<
#$(COMMDIR)/wxstrgnu/wxregex.obj: $*.$(SRCSUFF)
# cl @<<
#$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) /Fo$@
#<<
$(COMMDIR)/time.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)\stream.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)\fstream.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)\mstream.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)\zstream.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)\datstrm.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/extended.obj: $*.c
cl @<<
$(CPPFLAGS2) /c /Tp $*.c /Fo$@
<<
$(COMMDIR)/process.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/wincmn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(COMMDIR)/y_tab.obj: $*.c $(COMMDIR)/lex_yy.c
cl @<<
$(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
<<
$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
########################################################
# Generic objects (not always compiled, depending on
# whether platforms have native implementations)
$(GENDIR)/choicdgg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/colrdlgg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/fontdlgg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/gridg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/helpxlp.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/msgdlgg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/panelg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/printps.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/prntdlgg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/scrolwin.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/splitter.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/statusbr.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/tabg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(GENDIR)/textdlgg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
<<
$(OBJECTS): $(WXDIR)/include/wx/stubs/setup.h
clean: $(PERIPH_CLEAN_TARGET)
-erase *.obj
-erase $(LIBTARGET)
-erase $(WXDIR)\lib\*.pdb
-erase *.pdb
-erase *.sbr
-erase *.pch
cd $(WXDIR)\src\stubs
cd $(GENDIR)
-erase *.pdb
-erase *.sbr
-erase *.obj
cd $(WXDIR)\src\stubs
cd $(COMMDIR)
-erase *.pdb
-erase *.sbr
-erase *.obj
-erase y_tab.c
-erase lex_yy.c
cd $(WXDIR)\src\stubs
cleanall: clean

View File

@@ -14,6 +14,8 @@
#endif
#include "wx/mdi.h"
#include "wx/menu.h"
#include "wx/settings.h"
extern wxList wxModelessWindows;

View File

@@ -25,6 +25,7 @@
#include "wx/menu.h"
#include "wx/menuitem.h"
#include "wx/log.h"
#include "wx/utils.h"
// other standard headers
// ----------------------
@@ -293,11 +294,12 @@ void wxMenu::ProcessCommand(wxCommandEvent & event)
{
processed = GetEventHandler()->ProcessEvent(event);
}
/* TODO
// Try the window the menu was popped up from (and up
// through the hierarchy)
if ( !processed && GetInvokingWindow())
processed = GetInvokingWindow()->ProcessEvent(event);
*/
}
bool wxWindow::PopupMenu(wxMenu *menu, int x, int y)
@@ -318,7 +320,7 @@ wxMenuBar::wxMenuBar()
// TODO
}
wxMenuBar::wxMenuBar(int n, wxMenu *Mmnus[], const wxString titles[])
wxMenuBar::wxMenuBar(int n, wxMenu *menus[], const wxString titles[])
{
m_eventHandler = this;
m_menuCount = n;
@@ -560,7 +562,7 @@ wxString wxMenuBar::GetHelpString (int Id) const
for (i = 0; i < m_menuCount; i++)
{
if (m_menus[i]->FindItemForId (Id))
eturn wxString(m_menus[i]->GetHelpString (Id));
return wxString(m_menus[i]->GetHelpString (Id));
}
return wxString("");
}

View File

@@ -13,7 +13,10 @@
#pragma implementation "metafile.h"
#endif
#include "wx/metafile.h"
#include "wx/object.h"
#include "wx/string.h"
#include "wx/dc.h"
#include "wx/stubs/metafile.h"
#include "wx/clipbrd.h"
extern bool wxClipboardIsOpen;

View File

@@ -13,7 +13,7 @@
#pragma implementation "msgdlg.h"
#endif
#include "wx/msgdlg.h"
#include "wx/stubs/msgdlg.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_CLASS(wxMessageDialog, wxDialog)

View File

@@ -97,10 +97,6 @@ bool wxNotebook::Create(wxWindow *parent,
m_windowId = id == -1 ? NewControlId() : id;
// colors and font
m_backgroundColour = wxColour(GetSysColor(COLOR_BTNFACE));
m_foregroundColour = *wxBLACK ;
// style
m_windowStyle = style;
@@ -278,7 +274,7 @@ void wxNotebook::OnSize(wxSizeEvent& event)
SetSelection(nSel);
// fit the notebook page to the tab control's display area
int w, hl
int w, h;
GetSize(&w, &h);
uint nCount = m_aPages.Count();

View File

@@ -47,15 +47,6 @@ wxPalette::~wxPalette()
{
}
bool wxPalette::FreeResource(bool force)
{
if ( M_PALETTEDATA && M_PALETTEDATA->m_hPalette)
{
DeleteObject((HPALETTE)M_PALETTEDATA->m_hPalette);
}
return TRUE;
}
bool wxPalette::Create(int n, const unsigned char *red, const unsigned char *green, const unsigned char *blue)
{
UnRef();

View File

@@ -13,11 +13,12 @@
#pragma implementation "print.h"
#endif
#include "wx/print.h"
#include "wx/stubs/print.h"
#include "wx/stubs/printdlg.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxPrinter, wxPrinterBase)
IMPLEMENT_CLASS(wxWindowsPrintPreview, wxPrintPreviewBase)
IMPLEMENT_CLASS(wxPrintPreview, wxPrintPreviewBase)
#endif
/*
@@ -56,17 +57,17 @@ bool wxPrinter::Setup(wxWindow *parent)
* Print preview
*/
wxWindowsPrintPreview::wxWindowsPrintPreview(wxPrintout *printout, wxPrintout *printoutForPrinting, wxPrintData *data):
wxPrintPreview::wxPrintPreview(wxPrintout *printout, wxPrintout *printoutForPrinting, wxPrintData *data):
wxPrintPreviewBase(printout, printoutForPrinting, data)
{
DetermineScaling();
}
wxWindowsPrintPreview::~wxWindowsPrintPreview()
wxPrintPreview::~wxPrintPreview()
{
}
bool wxWindowsPrintPreview::Print(bool interactive)
bool wxPrintPreview::Print(bool interactive)
{
if (!printPrintout)
return FALSE;
@@ -74,7 +75,7 @@ bool wxWindowsPrintPreview::Print(bool interactive)
return printer.Print(previewFrame, printPrintout, interactive);
}
void wxWindowsPrintPreview::DetermineScaling()
void wxPrintPreview::DetermineScaling()
{
// TODO
}

View File

@@ -13,7 +13,8 @@
#pragma implementation "printdlg.h"
#endif
#include "wx/printdlg.h"
#include "wx/object.h"
#include "wx/stubs/printdlg.h"
#include "wx/dcprint.h"
// Use generic page setup dialog: use your own native one if one exists.
@@ -27,12 +28,8 @@ IMPLEMENT_CLASS(wxPageSetupDialog, wxDialog)
wxPrintDialog::wxPrintDialog():
wxDialog()
{
dialogParent = NULL;
printerDC = NULL;
destroyDC = TRUE;
deviceName = NULL;
driverName = NULL;
portName = NULL;
m_dialogParent = NULL;
m_printerDC = NULL;
}
wxPrintDialog::wxPrintDialog(wxWindow *p, wxPrintData* data):
@@ -43,26 +40,19 @@ wxPrintDialog::wxPrintDialog(wxWindow *p, wxPrintData* data):
bool wxPrintDialog::Create(wxWindow *p, wxPrintData* data)
{
dialogParent = p;
printerDC = NULL;
destroyDC = TRUE;
deviceName = NULL;
driverName = NULL;
portName = NULL;
m_dialogParent = p;
m_printerDC = NULL;
if ( data )
printData = *data;
m_printData = *data;
return TRUE;
}
wxPrintDialog::~wxPrintDialog()
{
if (destroyDC && printerDC)
delete printerDC;
if (deviceName) delete[] deviceName;
if (driverName) delete[] driverName;
if (portName) delete[] portName;
if (m_printerDC)
delete m_printerDC;
}
int wxPrintDialog::ShowModal()
@@ -73,10 +63,11 @@ int wxPrintDialog::ShowModal()
wxDC *wxPrintDialog::GetPrintDC()
{
if (printerDC)
if (m_printerDC)
{
destroyDC = FALSE;
return printerDC;
wxDC* dc = m_printerDC;
m_printerDC = NULL;
return dc;
}
else
return NULL;

View File

@@ -12,17 +12,9 @@
#pragma implementation "region.h"
#endif
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/msw/region.h"
#include "wx/region.h"
#include "wx/gdicmn.h"
#include <windows.h>
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject)
IMPLEMENT_DYNAMIC_CLASS(wxRegionIterator, wxObject)
@@ -47,8 +39,6 @@ public:
{
// TODO
}
HRGN m_region;
};

View File

@@ -72,7 +72,7 @@ void wxScrollBar::SetScrollbar(int position, int thumbSize, int range, int pageS
void wxScrollBar::Command(wxCommandEvent& event)
{
SetValue(event.m_commandInt);
SetPosition(event.m_commandInt);
ProcessCommand(event);
}

View File

@@ -18,13 +18,13 @@
wxColour wxSystemSettings::GetSystemColour(int index)
{
// TODO
return col;
return wxColour();
}
wxFont wxSystemSettings::GetSystemFont(int index)
{
// TODO
return wxFont;
return wxFont();
}
// Get a system metric, e.g. scrollbar size

View File

@@ -13,7 +13,7 @@
#pragma implementation "slider.h"
#endif
#include "wx/msw/slider.h"
#include "wx/slider.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxSlider, wxControl)

View File

@@ -13,19 +13,9 @@
#pragma implementation "stattext.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/app.h"
#endif
#include "wx/stattext.h"
#include "wx/msw/private.h"
#include <stdio.h>
#if !USE_SHARED_LIBRARY
@@ -50,162 +40,21 @@ bool wxStaticText::Create(wxWindow *parent, wxWindowID id,
else
m_windowId = id;
int x = pos.x;
int y = pos.y;
int width = size.x;
int height = size.y;
m_windowStyle = style;
long msStyle = WS_CHILD|WS_VISIBLE;
if (m_windowStyle & wxALIGN_CENTRE)
msStyle |= SS_CENTER;
else if (m_windowStyle & wxALIGN_RIGHT)
msStyle |= SS_RIGHT;
else
msStyle |= SS_LEFT;
// Even with extended styles, need to combine with WS_BORDER
// for them to look right.
if ((m_windowStyle & wxSIMPLE_BORDER) || (m_windowStyle & wxRAISED_BORDER) ||
(m_windowStyle & wxSUNKEN_BORDER) || (m_windowStyle & wxDOUBLE_BORDER))
msStyle |= WS_BORDER;
HWND static_item = CreateWindowEx(MakeExtendedStyle(m_windowStyle), "STATIC", (const char *)label,
msStyle,
0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)m_windowId,
wxGetInstance(), NULL);
#if CTL3D
/*
if (!(GetParent()->GetWindowStyleFlag() & wxUSER_COLOURS))
Ctl3dSubclassCtl(static_item);
*/
#endif
m_hWnd = (WXHWND)static_item;
SubclassWin((WXHWND)static_item);
SetFont(* parent->GetFont());
SetSize(x, y, width, height);
return TRUE;
// TODO
return FALSE;
}
void wxStaticText::SetSize(int x, int y, int width, int height, int sizeFlags)
{
int currentX, currentY;
GetPosition(&currentX, &currentY);
int x1 = x;
int y1 = y;
if (x == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
x1 = currentX;
if (y == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE))
y1 = currentY;
AdjustForParentClientOrigin(x1, y1, sizeFlags);
int actualWidth = width;
int actualHeight = height;
char buf[300];
int current_width;
int cyf;
::GetWindowText((HWND) GetHWND(), buf, 300);
GetTextExtent(buf, &current_width, &cyf, NULL, NULL,GetFont());
int ww, hh;
GetSize(&ww, &hh);
// If we're prepared to use the existing width, then...
if (width == -1 && ((sizeFlags & wxSIZE_AUTO_WIDTH) != wxSIZE_AUTO_WIDTH))
actualWidth = ww;
else if (width == -1)
{
int cx;
int cy;
wxGetCharSize(GetHWND(), &cx, &cy,GetFont());
actualWidth = (int)(current_width + cx) ;
}
// If we're prepared to use the existing height, then...
if (height == -1 && ((sizeFlags & wxSIZE_AUTO_HEIGHT) != wxSIZE_AUTO_HEIGHT))
actualHeight = hh;
else if (height == -1)
{
actualHeight = (int)(cyf) ;
}
MoveWindow((HWND) GetHWND(), x1, y1, actualWidth, actualHeight, TRUE);
// TODO
}
void wxStaticText::SetLabel(const wxString& label)
{
int w, h;
RECT rect;
wxWindow *parent = GetParent();
GetWindowRect((HWND) GetHWND(), &rect);
// Since we now have the absolute screen coords,
// if there's a parent we must subtract its top left corner
POINT point;
point.x = rect.left;
point.y = rect.top;
if (parent)
{
::ScreenToClient((HWND) parent->GetHWND(), &point);
}
GetTextExtent(label, &w, &h, NULL, NULL, GetFont());
MoveWindow((HWND) GetHWND(), point.x, point.y, (int)(w + 10), (int)h,
TRUE);
SetWindowText((HWND) GetHWND(), (const char *)label);
// TODO
}
WXHBRUSH wxStaticText::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
{
/*
#if CTL3D
if ( m_useCtl3D )
{
HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
if (hbrush != (HBRUSH) 0)
return hbrush;
else
return (HBRUSH)MSWDefWindowProc(message, wParam, lParam);
}
#endif
*/
if (GetParent()->GetTransparentBackground())
SetBkMode((HDC) pDC, TRANSPARENT);
else
SetBkMode((HDC) pDC, OPAQUE);
::SetBkColor((HDC) pDC, RGB(GetBackgroundColour().Red(), GetBackgroundColour().Green(), GetBackgroundColour().Blue()));
::SetTextColor((HDC) pDC, RGB(GetForegroundColour().Red(), GetForegroundColour().Green(), GetForegroundColour().Blue()));
wxBrush *backgroundBrush = wxTheBrushList->FindOrCreateBrush(GetBackgroundColour(), wxSOLID);
// Note that this will be cleaned up in wxApp::OnIdle, if backgroundBrush
// has a zero usage count.
// backgroundBrush->RealizeResource();
return (WXHBRUSH) backgroundBrush->GetResourceHandle();
}
long wxStaticText::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
{
// Ensure that static items get messages. Some controls don't like this
// message to be intercepted (e.g. RichEdit), hence the tests.
if (nMsg == WM_NCHITTEST)
return (long)HTCLIENT;
return wxWindow::MSWWindowProc(nMsg, wParam, lParam);
}

View File

@@ -59,21 +59,6 @@ bool wxStatusBarXX::Create(wxWindow *parent, wxWindowID id, long style)
return FALSE;
}
void wxStatusBarXX::CopyFieldsWidth(const int widths[])
{
if (widths && !m_statusWidths)
m_statusWidths = new int[m_nFields];
if ( widths != NULL ) {
for ( int i = 0; i < m_nFields; i++ )
m_statusWidths[i] = widths[i];
}
else {
delete [] m_statusWidths;
m_statusWidths = NULL;
}
}
void wxStatusBarXX::SetFieldsCount(int nFields, const int widths[])
{
wxASSERT( (nFields > 0) && (nFields < 255) );
@@ -92,6 +77,21 @@ void wxStatusBarXX::SetStatusWidths(int n, const int widths[])
SetFieldsWidth();
}
void wxStatusBarXX::CopyFieldsWidth(const int widths[])
{
if (widths && !m_statusWidths)
m_statusWidths = new int[m_nFields];
if ( widths != NULL ) {
for ( int i = 0; i < m_nFields; i++ )
m_statusWidths[i] = widths[i];
}
else {
delete [] m_statusWidths;
m_statusWidths = NULL;
}
}
void wxStatusBarXX::SetFieldsWidth()
{
int *pWidths = new int[m_nFields];

View File

@@ -13,17 +13,13 @@
#pragma implementation "tabctrl.h"
#endif
#include "wx/control.h"
#include "wx/tabctrl.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxTabCtrl, wxControl)
BEGIN_EVENT_TABLE(wxTabCtrl, wxControl)
EVT_SIZE(wxTabCtrl::OnSize)
EVT_PAINT(wxTabCtrl::OnPaint)
EVT_KILL_FOCUS(wxTabCtrl::OnKillFocus)
EVT_MOUSE_EVENTS(wxTabCtrl::OnMouseEvent)
EVT_SYS_COLOUR_CHANGED(wxTabCtrl::OnSysColourChanged)
END_EVENT_TABLE()
#endif

View File

@@ -19,6 +19,8 @@
#include "wx/textctrl.h"
#include "wx/settings.h"
#include "wx/filefn.h"
#include "wx/utils.h"
#if defined(__BORLANDC__) && !defined(__WIN32__)
#include <alloc.h>
@@ -132,7 +134,6 @@ long wxTextCtrl::GetLastPosition() const
void wxTextCtrl::Replace(long from, long to, const wxString& value)
{
// TODO
return 0;
}
void wxTextCtrl::Remove(long from, long to)

View File

@@ -15,6 +15,7 @@
#include "wx/module.h"
#include "wx/thread.h"
#include "wx/utils.h"
enum thread_state {
STATE_IDLE = 0,
@@ -183,6 +184,7 @@ unsigned long wxThread::GetID() const
bool wxThread::IsMain()
{
// TODO
return FALSE;
}
wxThread::wxThread()

View File

@@ -22,7 +22,6 @@ IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
wxTimer::wxTimer()
{
m_milli = 0 ;
m_lastMilli = -1 ;
m_id = 0;
m_oneShot = FALSE;
}
@@ -35,13 +34,10 @@ wxTimer::~wxTimer()
bool wxTimer::Start(int milliseconds,bool mode)
{
m_oneShot = mode ;
if (m_milliseconds < 0)
m_milliseconds = lastMilli;
if (m_milliseconds <= 0)
if (milliseconds <= 0)
return FALSE;
m_lastMilli = m_milli = m_milliseconds;
m_milli = milliseconds;
// TODO: set the timer going.
return FALSE;

View File

@@ -13,17 +13,7 @@
#pragma implementation "toolbar.h"
#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx.h"
#endif
#include "wx/wx.h"
#include "wx/toolbar.h"
#if !USE_SHARED_LIBRARY
@@ -105,7 +95,6 @@ void wxToolBar::EnableTool(int toolIndex, bool enable)
tool->m_enabled = enable;
// TODO enable button
}
}
}
void wxToolBar::ToggleTool(int toolIndex, bool toggle)

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: treectrl.cpp
// Purpose: wxTreeCtrl
// Purpose: wxTreeCtrl. See also Robert's generic wxTreeCtrl.
// Author: AUTHOR
// Modified by:
// Created: ??/??/98
@@ -13,7 +13,8 @@
#pragma implementation "treectrl.h"
#endif
#include "wx/treectrl.h"
#include "wx/stubs/textctrl.h"
#include "wx/stubs/treectrl.h"
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxTreeCtrl, wxControl)
@@ -281,11 +282,9 @@ bool wxTreeCtrl::ExpandItem(long item, int action)
break;
case wxTREE_EXPAND_COLLAPSE_RESET:
mswAction = TVE_COLLAPSERESET;
break;
case wxTREE_EXPAND_TOGGLE:
mswAction = TVE_TOGGLE;
break;
default:

View File

@@ -13,6 +13,8 @@
#pragma implementation "wave.h"
#endif
#include "wx/object.h"
#include "wx/string.h"
#include "wx/stubs/wave.h"
wxWave::wxWave()

View File

@@ -26,6 +26,7 @@
#include "wx/button.h"
#include "wx/settings.h"
#include "wx/msgdlg.h"
#include "wx/frame.h"
#include "wx/menuitem.h"
#include "wx/log.h"
@@ -254,13 +255,14 @@ wxEvtHandler *wxWindow::PopEventHandler(bool deleteHandler)
void wxWindow::SetDropTarget(wxDropTarget *pDropTarget)
{
if ( m_pDropTarget != 0 ) {
m_pDropTarget->Revoke(m_hWnd);
delete m_pDropTarget;
}
m_pDropTarget = pDropTarget;
if ( m_pDropTarget != 0 )
m_pDropTarget->Register(m_hWnd);
{
// TODO
}
}
#endif
@@ -523,7 +525,7 @@ int wxWindow::GetScrollThumb(int orient) const
void wxWindow::SetScrollPos(int orient, int pos, bool refresh)
{
// TODO
return 0;
return;
}
// New function that will replace some of the above.
@@ -537,7 +539,7 @@ void wxWindow::SetScrollbar(int orient, int pos, int thumbVisible,
void wxWindow::ScrollWindow(int dx, int dy, const wxRectangle *rect)
{
// TODO
return 0;
return;
}
void wxWindow::SetFont(const wxFont& font)
@@ -685,17 +687,6 @@ void wxWindow::MakeModal(bool modal)
}
}
// If nothing defined for this, try the parent.
// E.g. we may be a button loaded from a resource, with no callback function
// defined.
void wxWindow::OnCommand(wxWindow& win, wxCommandEvent& event)
{
if (GetEventHandler()->ProcessEvent(event) )
return;
if (m_windowParent)
m_windowParent->GetEventHandler()->OnCommand(win, event);
}
void wxWindow::SetConstraints(wxLayoutConstraints *c)
{
if (m_constraints)
@@ -1278,4 +1269,15 @@ bool wxWindow::IsExposed(const wxRect& rect) const
return (m_updateRegion.Contains(rect) != wxOutRegion);
}
/*
* Allocates control IDs
*/
int wxWindow::NewControlId()
{
static int s_controlId = 0;
s_controlId ++;
return s_controlId;
}