///////////////////////////////////////////////////////////////////////////// // Name: dbmodelrelation.cc // Purpose: Database Objects // Author: Daniel Horak // Modified by: // RCS-ID: $Id: dbmodelrelation.cc,v 1.2 2004/01/01 13:56:19 horakdan Exp $ // Copyright: (c) Daniel Horak // Licence: GPL ///////////////////////////////////////////////////////////////////////////// // ============================================================================ // declarations // ============================================================================ // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- // For compilers that support precompilation, includes "wx/wx.h". #include #ifdef __BORLANDC__ #pragma hdrstop #endif // for all others, include the necessary headers (this file is usually all you // need because it includes almost all "standard" wxWindows headers #ifndef WX_PRECOMP #include #endif #include #include "config.h" #include "xml.h" #include "dbobject.h" #include "dbmodelrelation.h" #include "dbrelation.h" #include "project.h" DBModelRelation::DBModelRelation(DataDesignerProject *project, DataDesignerContainer *container) :DBObject(DBModelRelationType, "modelrelation", project, container), m_xpos(100), m_ypos(100), m_relation(NULL) { } void DBModelRelation::LoadXmlNode(wxXmlNode *node) { wxString number; if (node->GetName() == m_typestr) { m_name = node->GetPropVal("name", wxEmptyString); } else { wxLogMessage("wrong type '%s'", node->GetName().c_str()); } // must set pointer to the real entity m_relation = (DBRelation *)GetProject()->m_top_relations->GetObjectByName(m_name); if (m_relation && m_relation->GetType() == DBRelationType) m_relation->AddModelRelation(this); else wxLogMessage("DBModelRelation::LoadXmlNode - cannot find real relation for " + m_name); m_project->SetItemText(m_treeitemid, m_name); } wxXmlNode *DBModelRelation::GetXmlNode() { wxXmlNode *node = new wxXmlNode(wxXML_ELEMENT_NODE, m_typestr); wxString number; node->AddProperty("name", m_name); return node; } void DBModelRelation::CreateShape() { // m_shape = new DBRelationShape(this); // m_shape->Show(TRUE); } /* * Container */ DBModelRelationContainer::DBModelRelationContainer(DataDesignerProject *project, const wxTreeItemId& parent) : DataDesignerContainer(project, parent, "modelrelations") { } DBObject *DBModelRelationContainer::CreateObject() { return new DBModelRelation(GetProject(), this); } void DBModelRelationContainer::ShowList() { SetList(new DBModelRelationListCtrl(GetProject()->GetSplitter(), this)); DataDesignerContainer::AddObjectsToListAndShow(); } /* * ObjectList */ DBModelRelationListCtrl::DBModelRelationListCtrl(wxWindow *parent, DataDesignerContainer *container) : DBObjectListCtrl(parent, container) { } DBModelRelationListCtrl::~DBModelRelationListCtrl() { } void DBModelRelationListCtrl::SetObject(long item, DBObject *object) { DBModelRelation *attribute = (DBModelRelation *)object; }