pgadmin3/include/schema/pgCheck.h
2025-10-03 14:56:27 +05:00

150 lines
2.9 KiB
C++

//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// pgCheck.h PostgreSQL Check
//
//////////////////////////////////////////////////////////////////////////
#ifndef PGCHECK_H
#define PGCHECK_H
// App headers
#include "pgTable.h"
#include "pgConstraints.h"
class pgCheckFactory : public pgSchemaObjFactory
{
public:
pgCheckFactory();
virtual dlgProperty *CreateDialog(frmMain *frame, pgObject *node, pgObject *parent);
virtual pgObject *CreateObjects(pgCollection *obj, ctlTree *browser, const wxString &restr = wxEmptyString);
int GetClosedIconId()
{
return closedId;
}
protected:
int closedId;
};
extern pgCheckFactory checkFactory;
class pgCheck : public pgSchemaObject
{
public:
pgCheck(pgSchema *newSchema, const wxString &newName = wxT(""));
~pgCheck();
int GetIconId();
wxString GetTranslatedMessage(int kindOfMessage) const;
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
wxString GetObjectName() const
{
return objectName;
}
void iSetObjectName(const wxString &s)
{
objectName = s;
}
wxString GetObjectSchema() const
{
return objectSchema;
}
void iSetObjectSchema(const wxString &s)
{
objectSchema = s;
}
wxString GetObjectKind() const
{
return objectKind;
}
void iSetObjectKind(const wxString &s)
{
objectKind = s;
}
wxString GetDefinition() const
{
return definition;
}
void iSetDefinition(const wxString &s)
{
definition = s;
}
bool GetNoInherit() const
{
return noinherit;
}
void iSetNoInherit(const bool b)
{
noinherit = b;
}
bool GetValid() const
{
return valid;
}
void iSetValid(const bool b)
{
valid = b;
}
bool GetEnforced() const
{
return enfoced;
}
void iSetEnforced(const bool b)
{
enfoced = b;
}
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
wxString GetConstraint();
wxString GetSql(ctlTree *browser);
wxString GetHelpPage(bool forCreate) const
{
return wxT("pg/sql-altertable");
}
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
bool HasStats()
{
return false;
}
bool HasDepends()
{
return true;
}
bool HasReferences()
{
return true;
}
void Validate(frmMain *form);
private:
wxString definition, objectKind, objectName, objectSchema;
bool noinherit, valid,enfoced;
};
class pgCheckCollection : public pgSchemaObjCollection
{
public:
pgCheckCollection(pgaFactory *factory, pgSchema *sch);
wxString GetTranslatedMessage(int kindOfMessage) const;
};
class validateCheckFactory : public contextActionFactory
{
public:
validateCheckFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
wxWindow *StartDialog(frmMain *form, pgObject *obj);
bool CheckEnable(pgObject *obj);
};
#endif