Misc changes for DOS compatibility, plus added wxApp::CreateConfig

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
1998-05-27 13:56:59 +00:00
parent f0b3249bf7
commit 6b0eb19fe8
8 changed files with 56 additions and 45 deletions

View File

@@ -42,6 +42,7 @@ bool WXDLLEXPORT wxYield(void);
// Represents the application. Derive OnInit and declare
// a new App object to start application
class wxConfig;
class WXDLLEXPORT wxApp: public wxEvtHandler
{
DECLARE_DYNAMIC_CLASS(wxApp)
@@ -70,6 +71,10 @@ class WXDLLEXPORT wxApp: public wxEvtHandler
// No specific tasks to do here.
virtual bool OnInitGui(void) { return TRUE; }
// override this function to create a global wxConfig object of different
// than default type (right now the default implementation returns NULL)
virtual wxConfig *CreateConfig(void) { return NULL; }
// Called to set off the main loop
virtual int OnRun(void) { return MainLoop(); };
virtual int OnExit(void) { return 0; };

View File

@@ -29,8 +29,8 @@ class WXDLLEXPORT wxScreenDC: public wxDC
// Compatibility with X's requirements for
// drawing on top of all windows
static bool StartDrawingOnTop(wxWindow *window) { return TRUE; }
static bool StartDrawingOnTop(wxRectangle *rect = NULL) { return TRUE; }
static bool StartDrawingOnTop(wxWindow* WXUNUSED(window)) { return TRUE; }
static bool StartDrawingOnTop(wxRectangle* WXUNUSED(rect) = NULL) { return TRUE; }
static bool EndDrawingOnTop(void) { return TRUE; }
};

View File

@@ -17,6 +17,8 @@
*
*/
#define USE_CONFIG 1
// Use wxConfig, with CreateConfig in wxApp
#define __GOODCOMPILER__
// gcc can have problems, but Windows compilers
// are generally OK.

View File

@@ -548,8 +548,12 @@ public:
//@{
/// find a substring
size_t find(const wxString& str, size_t nStart = 0) const;
// VC++ 1.5 can't cope with this syntax.
#if ! (defined(_MSC_VER) && !defined(__WIN32__))
/// find first n characters of sz
size_t find(const char* sz, size_t nStart = 0, size_t n = npos) const;
#endif
/// find the first occurence of character ch after nStart
size_t find(char ch, size_t nStart = 0) const;
@@ -565,10 +569,13 @@ public:
/// as find, but from the end
size_t rfind(const wxString& str, size_t nStart = npos) const;
/// as find, but from the end
// VC++ 1.5 can't cope with this syntax.
#if ! (defined(_MSC_VER) && !defined(__WIN32__))
size_t rfind(const char* sz, size_t nStart = npos,
size_t n = npos) const;
/// as find, but from the end
size_t rfind(char ch, size_t nStart = npos) const;
#endif
//@}
/**

View File

@@ -7,7 +7,7 @@
#
# "%W% %G%"
#
# Makefile : Builds minimal example (DOS).
# Makefile : Builds grid test example (DOS).
# Use FINAL=1 argument to nmake to build final version with no debugging
# info
@@ -15,32 +15,17 @@ WXDIR = $(WXWIN)
!include $(WXDIR)\src\makemsc.env
THISDIR = $(WXDIR)\samples\minimal
WXLIB = $(WXDIR)\lib\wx.lib
LIBS=$(WXLIB) oldnames libw llibcew commdlg shell ddeml
THISDIR = $(WXDIR)\samples\test
!ifndef FINAL
FINAL=0
!endif
INC=/I$(WXDIR)\include\msw /I$(WXDIR)\include\base
# Set this to nothing if using MS C++ 7
ZOPTION=/Z7
!if "$(FINAL)" == "0"
CPPFLAGS=/AL /W3 /Zi $(ZOPTION) /G2sw /Od /YuWX_PREC.H /Dwx_msw /Fp$(WXDIR)\src\msw\wx.pch $(INC)
LINKFLAGS=/NOD /CO /ONERROR:NOEXE /SEG:512
!else
CPPFLAGS=/AL /W3 /G2sw /Ox /YuWX_PREC.H /Dwx_msw /Fp$(WXDIR)\src\msw\wx.pch $(INC)
LINKFLAGS=/NOD /ONERROR:NOEXE /SEG:512
!endif
HEADERS =
SOURCES = minimal.$(SRCSUFF)
OBJECTS = minimal.obj
SOURCES = test.$(SRCSUFF)
OBJECTS = test.obj
all: minimal.exe
all: test.exe
wx:
cd $(WXDIR)\src\msw
@@ -53,24 +38,24 @@ wxclean:
cd $(THISDIR)
minimal.exe: $(WXDIR)\src\msw\dummy.obj $(WXLIB) minimal.obj minimal.def minimal.res
test.exe: $(WXDIR)\src\msw\dummy.obj $(WXLIB) test.obj test.def test.res
link $(LINKFLAGS) @<<
minimal.obj $(WXDIR)\src\msw\dummy.obj,
minimal,
test.obj $(WXDIR)\src\msw\dummy.obj,
test,
NUL,
$(LIBS),
minimal.def
test.def
;
<<
rc -30 -K minimal.res
rc -30 -K test.res
minimal.obj: minimal.$(SRCSUFF)
test.obj: test.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
minimal.res : minimal.rc $(WXDIR)\include\msw\wx.rc
rc -r /dFAFA_LIB /i$(WXDIR)\contrib\fafa /i$(WXDIR)\include\msw minimal
test.res : test.rc $(WXDIR)\include\wx\msw\wx.rc
rc -r /dFAFA_LIB /i$(WXDIR)\include test
clean:
-erase *.obj

View File

@@ -52,7 +52,7 @@ $(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
<<
mdi.res : mdi.rc $(WXDIR)\include\wx\msw\wx.rc
rc -r /i$(WXDIR)\include mdi
rc -r /i$(WXDIR)\include mdi
clean:
-erase *.obj

View File

@@ -22,7 +22,11 @@
#endif
#ifdef __WINDOWS__
#ifdef __WIN95__
#include <wx/tbar95.h>
#else
#include <wx/tbarmsw.h>
#endif
#endif
#include "mdi.h"
@@ -293,13 +297,13 @@ bool MyChild::OnClose(void)
#ifdef __WINDOWS__
BEGIN_EVENT_TABLE(TestRibbon, wxToolBar95)
BEGIN_EVENT_TABLE(TestRibbon, wxToolBar)
EVT_PAINT(TestRibbon::OnPaint)
END_EVENT_TABLE()
TestRibbon::TestRibbon(wxFrame *frame, int x, int y, int w, int h,
long style, int direction, int RowsOrColumns):
wxToolBar95(frame, -1, wxPoint(x, y), wxSize(w, h), style, direction, RowsOrColumns)
wxToolBar(frame, -1, wxPoint(x, y), wxSize(w, h), style, direction, RowsOrColumns)
{
wxBitmap* bitmaps[8];
@@ -320,24 +324,24 @@ TestRibbon::TestRibbon(wxFrame *frame, int x, int y, int w, int h,
int offX = 5;
int currentX = 5;
AddTool(0, bitmaps[0], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
AddTool(0, *bitmaps[0], wxNullBitmap, FALSE, currentX, -1, NULL, "New file");
currentX += width + 5;
AddTool(1, bitmaps[1], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
AddTool(1, *bitmaps[1], wxNullBitmap, FALSE, currentX, -1, NULL, "Open file");
currentX += width + 5;
AddTool(2, bitmaps[2], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Save file");
AddTool(2, *bitmaps[2], wxNullBitmap, FALSE, currentX, -1, NULL, "Save file");
currentX += width + 5;
AddSeparator();
AddTool(3, bitmaps[3], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Copy");
AddTool(3, *bitmaps[3], wxNullBitmap, FALSE, currentX, -1, NULL, "Copy");
currentX += width + 5;
AddTool(4, bitmaps[4], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Cut");
AddTool(4, *bitmaps[4], wxNullBitmap, FALSE, currentX, -1, NULL, "Cut");
currentX += width + 5;
AddTool(5, bitmaps[5], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Paste");
AddTool(5, *bitmaps[5], wxNullBitmap, FALSE, currentX, -1, NULL, "Paste");
currentX += width + 5;
AddSeparator();
AddTool(6, bitmaps[6], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Print");
AddTool(6, *bitmaps[6], wxNullBitmap, FALSE, currentX, -1, NULL, "Print");
currentX += width + 5;
AddSeparator();
AddTool(7, bitmaps[7], wxNullBitmap, TRUE, currentX, -1, NULL, "Help");
AddTool(7, *bitmaps[7], wxNullBitmap, TRUE, currentX, -1, NULL, "Help");
CreateTools();
@@ -367,14 +371,14 @@ void TestRibbon::OnMouseEnter(int toolIndex)
void TestRibbon::OnPaint(wxPaintEvent& event)
{
wxToolBar95::OnPaint(event);
wxToolBar::OnPaint(event);
wxPaintDC dc(this);
int w, h;
GetSize(&w, &h);
dc.SetPen(wxBLACK_PEN);
dc.SetBrush(wxTRANSPARENT_BRUSH);
dc.SetPen(*wxBLACK_PEN);
dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.DrawLine(0, h-1, w, h-1);
}

View File

@@ -9,6 +9,14 @@
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifdef __WINDOWS__
#ifdef __WIN95__
#define wxToolBar wxToolBar95
#else
#define wxToolBar wxToolBarMSW
#endif
#endif
// Define a new application
class MyApp: public wxApp
{
@@ -28,7 +36,7 @@ class MyCanvas: public wxScrolledWindow
#ifdef __WINDOWS__
class TestRibbon: public wxToolBar95
class TestRibbon: public wxToolBar
{
public:
TestRibbon(wxFrame *frame, int x = 0, int y = 0, int w = -1, int h = -1,