pgadmin3/include/schema/pgEventTrigger.h
2020-07-07 22:19:12 +05:00

154 lines
No EOL
3.2 KiB
C++

//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// pgEventTrigger.h PostgreSQL Event Trigger
//
//////////////////////////////////////////////////////////////////////////
#ifndef PGEVENTTRIGGER_H
#define PGEVENTTRIGGER_H
#include "pgDatabase.h"
class pgCollection;
class pgFunction;
class pgEventTriggerFactory : public pgDatabaseObjFactory
{
public:
pgEventTriggerFactory();
virtual dlgProperty *CreateDialog(frmMain *frame, pgObject *node, pgObject *parent);
virtual pgObject *CreateObjects(pgCollection *obj, ctlTree *browser, const wxString &restr = wxEmptyString);
virtual pgCollection *CreateCollection(pgObject *obj);
virtual ~pgEventTriggerFactory() {};
int GetClosedIconId()
{
return closedId;
}
protected:
int closedId;
};
extern pgEventTriggerFactory eventTriggerFactory;
class pgEventTrigger : public pgDatabaseObject
{
public:
pgEventTrigger(const wxString &newName = wxT(""));
~pgEventTrigger();
wxString GetTranslatedMessage(int kindOfMessage) const;
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
bool IsUpToDate();
wxString GetSql(ctlTree *browser);
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
int GetIconId();
wxString GetFunction() const
{
return function;
}
void iSetFunction(const wxString &s)
{
function = s ;
}
wxString GetWhen() const
{
return when;
}
void iSetWhen(const wxString &s)
{
when = s;
}
OID GetFunctionOid() const
{
return functionOid;
}
void iSetFunctionOid(const OID d)
{
functionOid = d;
}
OID GetSchemaOid() const
{
return schemaOid;
}
void iSetSchemaOid(const OID d)
{
schemaOid = d;
}
wxString GetSource() const
{
return source;
}
void iSetSource(const wxString &s)
{
source = s;
}
wxString GetLanguage() const
{
return language;
}
void iSetLanguage(const wxString &s)
{
language = s;
}
wxString GetEventName() const
{
return eventName;
}
wxString GetEnableStatus() const
{
return enableStatus;
}
void iSetEnableStatus(const wxString &s)
{
enableStatus = s;
}
void iSetEventName(const wxString &s)
{
eventName = s;
}
bool GetEnabled() const
{
return enabled;
}
void iSetEnabled(const bool b)
{
enabled = b;
}
void SetEnabled(ctlTree *browser, const bool b);
void SetDirty();
private:
wxString function, when, language, source, eventName, enableStatus;
OID functionOid, schemaOid;
bool enabled;
pgFunction *eventTriggerFunction;
pgSchema *eventTriggerFunctionSchema;
};
class pgEventTriggerCollection : public pgDatabaseObjCollection
{
public:
pgEventTriggerCollection(pgaFactory *factory, pgDatabase *db);
wxString GetTranslatedMessage(int kindOfMessage) const;
};
class enabledisableEventTriggerFactory : public contextActionFactory
{
public:
enabledisableEventTriggerFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
wxWindow *StartDialog(frmMain *form, pgObject *obj);
bool CheckEnable(pgObject *obj);
bool CheckChecked(pgObject *obj);
};
#endif