// 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"
bool DrawingView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
{
frame = wxGetApp().CreateChildFrame(doc, this, TRUE);
- frame->SetTitle("DrawingView");
+ 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(-1, -1, x, y);
#endif
frame->Show(TRUE);
+ Activate(TRUE);
return TRUE;
}
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();
}
}
// 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);
-
+
if (deleteWindow)
{
delete frame;
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)
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(-1, -1, x, y);
#endif
frame->Show(TRUE);
Activate(TRUE);
-
+
return TRUE;
}
{
if (!GetDocument()->Close())
return FALSE;
-
+
Activate(FALSE);
if (deleteWindow)
END_EVENT_TABLE()
// Define a constructor for my canvas
-MyCanvas::MyCanvas(wxView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style):
+MyCanvas::MyCanvas(wxView *v, wxMDIChildFrame *frame, const wxPoint& pos, const wxSize& size, long style):
wxScrolledWindow(frame, -1, 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);
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, -1, _T(""), pos, size, style)
{
view = v;
}