// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#endif
#if !wxUSE_DOC_VIEW_ARCHITECTURE
-#error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in wx_setup.h!
+#error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h!
#endif
#include "docview.h"
// windows for displaying the view.
bool DrawingView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
{
- frame = wxGetApp().CreateChildFrame(doc, this, TRUE);
- frame->SetTitle("DrawingView");
+ frame = wxGetApp().CreateChildFrame(doc, this, true);
+ frame->SetTitle(_T("DrawingView"));
canvas = GetMainFrame()->CreateCanvas(this, frame);
#ifdef __X__
// X seems to require a forced resize
int x, y;
frame->GetSize(&x, &y);
- frame->SetSize(x, y);
+ frame->SetSize(wxDefaultCoord, wxDefaultCoord, x, y);
#endif
- frame->Show(TRUE);
+ frame->Show(true);
+ Activate(true);
- return TRUE;
+ return true;
}
// Sneakily gets used for default print/preview
dc->SetFont(*wxNORMAL_FONT);
dc->SetPen(*wxBLACK_PEN);
- wxNode *node = ((DrawingDocument *)GetDocument())->GetDoodleSegments().First();
+ wxList::compatibility_iterator node = ((DrawingDocument *)GetDocument())->GetDoodleSegments().GetFirst();
while (node)
{
- DoodleSegment *seg = (DoodleSegment *)node->Data();
+ DoodleSegment *seg = (DoodleSegment *)node->GetData();
seg->Draw(dc);
- node = node->Next();
+ node = node->GetNext();
}
}
bool DrawingView::OnClose(bool deleteWindow)
{
if (!GetDocument()->Close())
- return FALSE;
+ return false;
// Clear the canvas in case we're in single-window mode,
// and the canvas stays.
- canvas->Clear();
+ canvas->ClearBackground();
canvas->view = (wxView *) NULL;
canvas = (MyCanvas *) NULL;
SetFrame((wxFrame*)NULL);
- Activate(FALSE);
-
+ Activate(false);
+
if (deleteWindow)
{
delete frame;
- return TRUE;
+ return true;
}
- return TRUE;
+ return true;
}
void DrawingView::OnCut(wxCommandEvent& WXUNUSED(event) )
{
DrawingDocument *doc = (DrawingDocument *)GetDocument();
- doc->GetCommandProcessor()->Submit(new DrawingCommand((const wxString) "Cut Last Segment", DOODLE_CUT, doc, (DoodleSegment *) NULL));
+ doc->GetCommandProcessor()->Submit(new DrawingCommand(_T("Cut Last Segment"), DOODLE_CUT, doc, (DoodleSegment *) NULL));
}
IMPLEMENT_DYNAMIC_CLASS(TextEditView, wxView)
bool TextEditView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
{
- frame = wxGetApp().CreateChildFrame(doc, this, FALSE);
+ frame = wxGetApp().CreateChildFrame(doc, this, false);
int width, height;
frame->GetClientSize(&width, &height);
textsw = new MyTextWindow(this, frame, wxPoint(0, 0), wxSize(width, height), wxTE_MULTILINE);
- frame->SetTitle("TextEditView");
+ frame->SetTitle(_T("TextEditView"));
#ifdef __X__
// X seems to require a forced resize
int x, y;
frame->GetSize(&x, &y);
- frame->SetSize(x, y);
+ frame->SetSize(wxDefaultCoord, wxDefaultCoord, x, y);
#endif
- frame->Show(TRUE);
- Activate(TRUE);
-
- return TRUE;
+ frame->Show(true);
+ Activate(true);
+
+ return true;
}
// Handled by wxTextWindow
bool TextEditView::OnClose(bool deleteWindow)
{
if (!GetDocument()->Close())
- return FALSE;
-
- Activate(FALSE);
+ return false;
+
+ Activate(false);
if (deleteWindow)
{
delete frame;
- return TRUE;
+ return true;
}
- return TRUE;
+ return true;
}
/*
END_EVENT_TABLE()
// Define a constructor for my canvas
-MyCanvas::MyCanvas(wxView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style):
- wxScrolledWindow(frame, -1, pos, size, style)
+MyCanvas::MyCanvas(wxView *v, wxMDIChildFrame *frame, const wxPoint& pos, const wxSize& size, long style):
+ wxScrolledWindow(frame, wxID_ANY, pos, size, style)
{
view = v;
}
{
if (!view)
return;
-
+
static DoodleSegment *currentSegment = (DoodleSegment *) NULL;
wxClientDC dc(this);
if (currentSegment && event.LeftUp())
{
- if (currentSegment->lines.Number() == 0)
+ if (currentSegment->lines.GetCount() == 0)
{
delete currentSegment;
currentSegment = (DoodleSegment *) NULL;
// We've got a valid segment on mouse left up, so store it.
DrawingDocument *doc = (DrawingDocument *)view->GetDocument();
- doc->GetCommandProcessor()->Submit(new DrawingCommand("Add Segment", DOODLE_ADD, doc, currentSegment));
+ doc->GetCommandProcessor()->Submit(new DrawingCommand(_T("Add Segment"), DOODLE_ADD, doc, currentSegment));
- view->GetDocument()->Modify(TRUE);
+ view->GetDocument()->Modify(true);
currentSegment = (DoodleSegment *) NULL;
}
}
-
+
if (xpos > -1 && ypos > -1 && event.Dragging())
{
if (!currentSegment)
currentSegment = new DoodleSegment;
DoodleLine *newLine = new DoodleLine;
- newLine->x1 = (long)xpos;
+ newLine->x1 = (long)xpos;
newLine->y1 = (long)ypos;
- newLine->x2 = pt.x;
+ newLine->x2 = pt.x;
newLine->y2 = pt.y;
currentSegment->lines.Append(newLine);
-
+
dc.DrawLine( (long)xpos, (long)ypos, pt.x, pt.y);
}
xpos = pt.x;
}
// Define a constructor for my text subwindow
-MyTextWindow::MyTextWindow(wxView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style):
- wxTextCtrl(frame, -1, "", pos, size, style)
+MyTextWindow::MyTextWindow(wxView *v, wxMDIChildFrame *frame, const wxPoint& pos, const wxSize& size, long style):
+ wxTextCtrl(frame, wxID_ANY, _T(""), pos, size, style)
{
view = v;
}