/////////////////////////////////////////////////////////////////////////////
// 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
syntax highlighted by Code2HTML, v. 0.9.1