///////////////////////////////////////////////////////////////////////////// // Name: doc.cc // Purpose: Implements document functionality // Author: Daniel Horak // Modified by: // RCS-ID: $Id: doc.cc,v 1.2 2003/06/06 17:46:04 horakdan Exp $ // Copyright: (c) Daniel Horak // Licence: GPL ///////////////////////////////////////////////////////////////////////////// // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include "wx/wx.h" #endif #include "wx/txtstrm.h" #if !wxUSE_DOC_VIEW_ARCHITECTURE #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! #endif #if wxUSE_STD_IOSTREAM #error You cannot use std C++ streams! #endif #include "doc.h" #include "view.h" #include "project.h" IMPLEMENT_DYNAMIC_CLASS(DataDesignerDocument, wxDocument) DataDesignerDocument::DataDesignerDocument(void) { #ifdef ENABLE_DEBUG wxLogMessage("DataDesignerDocument - constructor"); #endif } DataDesignerDocument::~DataDesignerDocument(void) { #ifdef ENABLE_DEBUG wxLogMessage("DataDesignerDocument - destructor"); #endif } wxOutputStream& DataDesignerDocument::SaveObject(wxOutputStream& stream) { DataDesignerView *view; #ifdef ENABLE_DEBUG wxLogMessage("DataDesignerDocument::SaveObject"); #endif view = (DataDesignerView *)GetFirstView(); if (view) { view->m_splitter->GetProject()->Save(stream); } return stream; } wxInputStream& DataDesignerDocument::LoadObject(wxInputStream& stream) { DataDesignerView *view; #ifdef ENABLE_DEBUG wxLogMessage("DataDesignerDocument::LoadObject"); #endif view = (DataDesignerView *)GetFirstView(); if (view) { view->m_splitter->GetProject()->Open(stream); } return stream; } /* * Implementation of datadesigner command */ DataDesignerCommand::DataDesignerCommand(const wxString& name, int command, DataDesignerDocument *doc): wxCommand(TRUE, name) { m_doc = doc; m_cmd = command; } DataDesignerCommand::~DataDesignerCommand(void) { } bool DataDesignerCommand::Do(void) { switch (m_cmd) { default: wxLogMessage("Unknown command %d", m_cmd); break; } return TRUE; } bool DataDesignerCommand::Undo(void) { switch (m_cmd) { default: wxLogMessage("Unknown command %d", m_cmd); break; } return TRUE; }