mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 06:05:49 -06:00
226 lines
4.1 KiB
C++
226 lines
4.1 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin III - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
// pgDomain.h PostgreSQL Domain
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef PGDOMAIN_H
|
|
#define PGDOMAIN_H
|
|
|
|
#include "pgSchema.h"
|
|
|
|
class pgCollection;
|
|
|
|
class pgDomainFactory : public pgSchemaObjFactory
|
|
{
|
|
public:
|
|
pgDomainFactory();
|
|
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);
|
|
};
|
|
extern pgDomainFactory domainFactory;
|
|
|
|
|
|
class pgDomain : public pgSchemaObject
|
|
{
|
|
public:
|
|
pgDomain(pgSchema *newSchema, const wxString &newName = wxT(""));
|
|
~pgDomain();
|
|
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
|
|
bool CanDropCascaded()
|
|
{
|
|
return GetSchema()->GetMetaType() != PGM_CATALOG;
|
|
}
|
|
|
|
wxString GetBasetype() const
|
|
{
|
|
return basetype;
|
|
}
|
|
void iSetBasetype(const wxString &s)
|
|
{
|
|
basetype = s;
|
|
}
|
|
wxString GetQuotedBasetype() const
|
|
{
|
|
return quotedBasetype;
|
|
}
|
|
void iSetQuotedBasetype(const wxString &s)
|
|
{
|
|
quotedBasetype = s;
|
|
}
|
|
wxString GetCollation() const
|
|
{
|
|
return collation;
|
|
}
|
|
void iSetCollation(const wxString &s)
|
|
{
|
|
collation = s;
|
|
}
|
|
wxString GetQuotedCollation() const
|
|
{
|
|
return quotedCollation;
|
|
}
|
|
void iSetQuotedCollation(const wxString &s)
|
|
{
|
|
quotedCollation = s;
|
|
}
|
|
void iSetIsDup(bool b)
|
|
{
|
|
isDup = b;
|
|
}
|
|
long GetLength() const
|
|
{
|
|
return length;
|
|
}
|
|
void iSetLength(long l)
|
|
{
|
|
length = l;
|
|
}
|
|
long GetPrecision() const
|
|
{
|
|
return precision;
|
|
}
|
|
void iSetPrecision(long l)
|
|
{
|
|
precision = l;
|
|
}
|
|
wxString GetCheck() const
|
|
{
|
|
return check;
|
|
}
|
|
void iSetCheck(const wxString &s)
|
|
{
|
|
check = s;
|
|
}
|
|
wxString GetDefault() const
|
|
{
|
|
return defaultVal;
|
|
}
|
|
void iSetDefault(const wxString &s)
|
|
{
|
|
defaultVal = s;
|
|
}
|
|
bool GetNotNull() const
|
|
{
|
|
return notNull;
|
|
}
|
|
void iSetNotNull(bool b)
|
|
{
|
|
notNull = b;
|
|
}
|
|
long GetDimensions() const
|
|
{
|
|
return dimensions;
|
|
}
|
|
void iSetDimensions(long l)
|
|
{
|
|
dimensions = l;
|
|
}
|
|
wxString GetDelimiter() const
|
|
{
|
|
return delimiter;
|
|
}
|
|
void iSetDelimiter(const wxString &s)
|
|
{
|
|
delimiter = s;
|
|
}
|
|
OID GetBasetypeOid() const
|
|
{
|
|
return basetypeOid;
|
|
}
|
|
void iSetBasetypeOid(OID d)
|
|
{
|
|
basetypeOid = d;
|
|
}
|
|
OID GetCollationOid() const
|
|
{
|
|
return collationOid;
|
|
}
|
|
void iSetCollationOid(OID d)
|
|
{
|
|
collationOid = d;
|
|
}
|
|
long GetTyplen() const
|
|
{
|
|
return typlen;
|
|
}
|
|
void iSetTyplen(const long l)
|
|
{
|
|
typlen = l;
|
|
}
|
|
long GetTypmod() const
|
|
{
|
|
return typmod;
|
|
}
|
|
void iSetTypmod(const long l)
|
|
{
|
|
typmod = l;
|
|
}
|
|
bool GetValid() const
|
|
{
|
|
return constraintvalid;
|
|
}
|
|
void iSetValid(const bool b)
|
|
{
|
|
constraintvalid = b;
|
|
}
|
|
wxString GetCheckConstraintName() const
|
|
{
|
|
return checkconstraintname;
|
|
}
|
|
void iSetCheckConstraintName(const wxString &s)
|
|
{
|
|
checkconstraintname = s;
|
|
}
|
|
|
|
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
|
|
wxString GetSql(ctlTree *browser);
|
|
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
|
|
wxMenu *GetNewMenu();
|
|
|
|
bool HasStats()
|
|
{
|
|
return false;
|
|
}
|
|
bool HasDepends()
|
|
{
|
|
return true;
|
|
}
|
|
bool HasReferences()
|
|
{
|
|
return true;
|
|
}
|
|
void Validate(frmMain *form);
|
|
|
|
private:
|
|
wxString basetype, quotedBasetype, defaultVal, delimiter, check, collation, quotedCollation, checkconstraintname;
|
|
long length, precision, dimensions;
|
|
long typlen, typmod;
|
|
bool notNull, isDup, constraintvalid;
|
|
OID basetypeOid, collationOid;
|
|
};
|
|
|
|
class pgDomainCollection : public pgSchemaObjCollection
|
|
{
|
|
public:
|
|
pgDomainCollection(pgaFactory *factory, pgSchema *sch);
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
};
|
|
|
|
class validateDomainCheckFactory : public contextActionFactory
|
|
{
|
|
public:
|
|
validateDomainCheckFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
|
|
wxWindow *StartDialog(frmMain *form, pgObject *obj);
|
|
bool CheckEnable(pgObject *obj);
|
|
};
|
|
|
|
#endif
|