///////////////////////////////////////////////////////////////////////////// // Name: dbmodel.h // Purpose: Database Objects // Author: Daniel Horak // Modified by: // RCS-ID: $Id: dbmodel.h,v 1.3 2004/01/01 13:56:19 horakdan Exp $ // Copyright: (c) Daniel Horak // Licence: GPL ///////////////////////////////////////////////////////////////////////////// #ifndef __DBMODEL_H #define __DBMODEL_H class DBEntity; class DBModelEntityContainer; class DBModelEntityListCtrl; class DBModelRelationContainer; class DBModel : public DBObject { public: DBModel(DataDesignerProject *project, DataDesignerContainer *container); virtual ~DBModel(); virtual wxDialog *Editor(bool edit); virtual void LoadXmlNode(wxXmlNode *node); virtual wxXmlNode *GetXmlNode(); virtual wxTreeItemId AppendItem(); DBModelEntityContainer *m_entities; // list of entities used in model DBModelRelationContainer *m_relations; // list of relation used in model }; class DBModelEditor : public DBObjectEditor { public: DBModelEditor(DBObject *object, bool edit); virtual ~DBModelEditor(); void OnApply(wxCommandEvent& event); protected: wxPanel *m_page_entities; DBModelEntityListCtrl *m_list_entities; private: DECLARE_EVENT_TABLE() }; class DBModelContainer : public DataDesignerContainer { public: DBModelContainer(DataDesignerProject *project, const wxTreeItemId& id); virtual ~DBModelContainer() { } virtual DBObject *CreateObject(); virtual void ShowList(); }; class DBModelListCtrl : public DBObjectListCtrl { public: DBModelListCtrl(wxWindow *parent, DataDesignerContainer *container); virtual ~DBModelListCtrl(); virtual void SetObject(long item, DBObject *object); }; #endif // __DBSIMPLEATTR_H