High Priority
-------------
-- Work out why XFreeFont in font.cpp produces a segv. This is
- currently commented out, which presumably causes a memory leak.
+- Have a central/per app file for colour settings, with a wxWin
+ app to allow changing settings interactively.
- Colour setting in widgets (almost done). Should scrollbars take
on the background colour? Not right for e.g. wxScrolledWindows,
- Miscellaneous events.
-- Thread classes (copy wxGTK's).
-
-- Write makefiles for all samples and utilities.
-
-- Create some samples for testing.
-
Low Priority
------------
+- Work out why XFreeFont in font.cpp produces a segv. This is
+ currently commented out, which presumably causes a memory leak.
+
- Better makefile system that can put objects in different dirs.
- Extra wxBitmap formats: PNG, BMP. Could use old wxWin 1.68
3. Change directory to wx\samples and type 'nmake -f makefile.nt'
to make all the samples. You can also make them individually.
-Notes: if you wish to use templates, please edit
+Note (1): if you wish to use templates, please edit
include\wx\msw\setup.h and set wxUSE_DEBUG_NEW_ALWAYS to 0.
Without this, the redefinition of 'new' will cause problems in
the headers. Alternatively, #undef new before including template headers.
+Note (2): libraries and applications generated with makefiles and
+project files are unlikely to be compatible, so use one method or
+the other.
+
Visual C++ 1.5 compilation
--------------------------
------------------------------
C++Builder compilation is the same as for Borland C++ above.
-It has only been tested with C++Builder 1.0 so far, and no
-project files are currently supplied.
+
+Tested with C++Builder 1.0 and 3.0. Only makefiles are currently
+supplied.
Watcom C++ 10.6 compilation
---------------------------
Further project files for samples will be available in due
course.
+Symantec C++ compilation
+------------------------
+
+1. Make sure your WXWIN variable is set, and uses the FAT (short
+ name) form.
+2. Edit setup.h and set wxUSE_DRAG_AND_DROP to 0.
+3. Change directory to wx\src\msw. Type 'make -f makefile.sc' to
+ make the wxWindows core library.
+4. Change directory to wx\samples\minimal and type 'make -f makefile.sc'
+ to make this sample.
+
+Note: the minimal sample doesn't link properly ('Error: no
+start address').
+32-bit compilation only (partially) supported at present, using SC++ 6.1.
+Some functionality is missing using this compiler (see makefile).
+Add -D__WIN95__ if your SC++ has Windows 95 support, and ignore
+Step (2). 16-bit compilation is left as an excercise for the user!
+
Gnu-Win32 b19/b20/Mingw32 compilation
-------------------------------------
Supply correct ctl3d/odbc lib files for BC++, Watcom (corrupt?)
+16-bit compilation: replace small icons in treectrl/listctrl
+samples that also have a 32x32 icon, with icons with only one
+image, using Borland Image Editor. WIN16 doesn't have a function
+for specifying which image to use, so the larger one gets used
+erroneously.
+
LOW PRIORITY (MEDIUM TERM)
--------------------------
#pragma interface "checklst.h"
#endif
-typedef unsigned int size_t;
+// No!
+// typedef unsigned int size_t;
+#include <stddef.h>
#if !wxUSE_OWNER_DRAWN
#error "wxCheckListBox class requires owner-drawn functionality."
#include "wx/gdicmn.h"
#include "wx/window.h"
+// Clash with Windows header files
+#ifdef StartDoc
+#undef StartDoc
+#endif
+
+#ifdef DrawText
+#undef DrawText
+#endif
+
+#ifdef GetCharWidth
+#undef GetCharWidth
+#endif
+
class WXDLLEXPORT wxDC: public wxObject
{
DECLARE_ABSTRACT_CLASS(wxDC)
// Set this to 0 if your compiler can't cope
// with omission of prototype parameters.
-#define wxUSE_C_MAIN 0
- // Set to 1 to use main.c instead of main.cpp (UNIX only)
-
#define wxUSE_ODBC 1
// Define 1 to use ODBC classes
// it complains about deriving a huge class from the huge class streambuf. !!
// Also, can't use streambuf if making or using a DLL :-(
-#if (defined(__BORLANDC__) && !defined(__WIN32__)) || defined(__MWERKS__) || defined(_WINDLL) || defined(WXUSINGDLL) || defined(WXMAKINGDLL)
+#if (defined(__BORLANDC__)) || defined(__MWERKS__) || defined(_WINDLL) || defined(WXUSINGDLL) || defined(WXMAKINGDLL)
#define NO_TEXT_WINDOW_STREAM
#endif
wxString m_data;
};
+// Clash with Windows headers
+#ifdef GetCharWidth
+#undef GetCharWidth
+#endif
+
+#ifdef FindWindow
+#undef FindWindow
+#endif
+
class WXDLLEXPORT wxWindow : public wxEvtHandler
{
DECLARE_ABSTRACT_CLASS(wxWindow)
#if wxUSE_DYNAMIC_CLASSES
-#ifdef __GNUWIN32__
+// #ifdef __GNUWIN32__
#ifdef GetClassName
#undef GetClassName
#endif
+#ifdef GetClassInfo
+#undef GetClassInfo
#endif
+// #endif
class WXDLLEXPORT wxClassInfo;
class WXDLLEXPORT wxInputStream;
#endif
typedef wxColour wxColor;
-typedef unsigned int size_t;
+
+// No, don't do this: BC++ 5 complains that size_t already been defined.
+// typedef unsigned int size_t;
+#include <stddef.h>
// ----------------------------------------------------------------------------
// wxOwnerDrawn - a mix-in base class, derive from it to implement owner-drawn
#define wxVERSION_STRING "wxWindows 2.0"
#define wxVERSION_NUMBER (wxMAJOR_VERSION * 1000) + (wxMINOR_VERSION * 100) + wxRELEASE_NUMBER
#define wxBETA_NUMBER 17
-#define wxVERSION_FLOAT float(wxMAJOR_VERSION + (wxMINOR_VERSION/10.0) + (wxRELEASE_NUMBER/100.0) + (wxBETA_NUMBER/10000.0))
+#define wxVERSION_FLOAT wxMAJOR_VERSION + (wxMINOR_VERSION/10.0) + (wxRELEASE_NUMBER/100.0) + (wxBETA_NUMBER/10000.0)
#endif
// _WX_VERSIONH__
WXDIR = $(WXWIN)
INCDIR = $(WXDIR)\include
LIBDIR = $(WXDIR)\lib
+WXLIB = $(LIBDIR)\wx.lib
SRCSUFF = cpp
OBJSUFF = obj
CC=sc
RC=rc
+# WIN16 settings
+#CFLAGS = -Jm -ml -W -D__WXMSW__ -D__WXDEBUG__ -D__WINDOWS__ -D__WIN16__ $(EXTRACPPFLAGS)
+#LDFLAGS = -ml -W
+#LINKER = link
+#LIBS=$(WXLIB) $(EXTRALIBS) libw.lib commdlg.lib ddeml.lib shell.lib
+#DEFFILE=sc16.def
+
+# WIN32 settings
CFLAGS = -o -mn -W -D__NT__ -DWIN32 -D__WIN32__ -D__WINDOWS__ -D__WXMSW__ -D__SC__ -D__WXDEBUG__ $(EXTRACPPFLAGS)
-LDFLAGS = $(EXTRALDFLAGS)
+LDFLAGS = -Llink386.exe $(EXTRALDFLAGS)
+LINKER = link386
+LIBS=$(WXLIB) $(EXTRALIBS) ctl3d32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib kernel32.lib winmm.lib
.$(SRCSUFF).obj:
*$(CC) -c $(CFLAGS) -I$(INCLUDE) $(OPTIONS) $< -o$@
.c.obj:
*$(CC) -c $(CFLAGS) -I$(INCLUDE) $(OPTIONS) -DUSE_DEFINE -Jm $< -o$@
+.rc.res:
+ *$(RC) -r -I$(INCLUDE) $<
+
#$(COMMDIR)\cmndata.obj: $(COMMDIR)\cmndata.cpp
# *$(CC) -c $(CFLAGS) -I$(INCLUDE) $(OPTIONS) $(COMMDIR)\cmndata.cpp -o$(COMMDIR)\cmndata.obj
+
// or when "endl" is output (Borland 4.5)
//=========================================================================
// Class declaration using multiple inheritance doesn't work properly for
-// Borland. See note in wb_text.h.
+// Borland. See note in textctrl.h.
#ifndef NO_TEXT_WINDOW_STREAM
int wxTextCtrl::overflow(int c)
{
const wxSize& size, long style):
wxShapeCanvas(parent, id, pos, size, style)
{
+ SetBackgroundColour(*wxWHITE);
view = v;
}
MyCanvas::MyCanvas(wxWindow *parent):
wxScrolledWindow(parent, -1)
{
+ SetBackgroundColour(*wxWHITE);
}
// Define the repainting behaviour