///////////////////////////////////////////////////////////////////////////// // Name: dbtrigger.h // Purpose: Database Objects // Author: Daniel Horak // Modified by: // RCS-ID: $Id: dbtrigger.h,v 1.2 2004/01/01 13:56:19 horakdan Exp $ // Copyright: (c) Daniel Horak // Licence: GPL ///////////////////////////////////////////////////////////////////////////// #ifndef __DBTRIGGER_H #define __DBTRIGGER_H #define DBO_TRIGGER_TIME_AFTER 0 #define DBO_TRIGGER_TIME_BEFORE 1 #define DBO_TRIGGER_TYPE_ROW 0 #define DBO_TRIGGER_TYPE_STMT 1 class DBTrigger : public DBObject { public: DBTrigger(DataDesignerProject *project, DataDesignerContainer *container); virtual ~DBTrigger() { } virtual wxDialog *Editor(bool edit); virtual void LoadXmlNode(wxXmlNode *node); virtual wxXmlNode *GetXmlNode(); bool m_event_ins; // On Insert bool m_event_upd; // On Update bool m_event_del; // On Delete int m_time; // After, Before int m_type; // Row, Statement wxString m_procedure; }; class DBTriggerEditor : public DBObjectEditor { public: DBTriggerEditor(DBObject *object, bool edit); virtual ~DBTriggerEditor(); virtual bool TransferDataFromWindow(); virtual bool TransferDataToWindow(); private: wxRadioBox *r1; // time wxCheckBox *c21, *c22, *c23; // event wxRadioBox *r3; // type wxComboBox *c4; // procedure static wxString m_time_str[]; static wxString m_type_str[]; }; class DBTriggerContainer : public DataDesignerContainer { public: DBTriggerContainer(DataDesignerProject *project, const wxTreeItemId& id); virtual ~DBTriggerContainer() { } virtual DBObject *CreateObject(); virtual void ShowList(); }; class DBTriggerListCtrl : public DBObjectListCtrl { public: DBTriggerListCtrl(wxWindow *parent, DataDesignerContainer *container); virtual ~DBTriggerListCtrl(); virtual void SetObject(long item, DBObject *object); }; #endif // __DBTRIGGER_H