mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 14:15:49 -06:00
140 lines
2.8 KiB
C++
140 lines
2.8 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin III - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
// pgOperatorClass.h PostgreSQL OperatorClass
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef PGOPERATORCLASS_H
|
|
#define PGOPERATORCLASS_H
|
|
|
|
#include "pgSchema.h"
|
|
|
|
class pgCollection;
|
|
class pgOperatorClassFactory : public pgSchemaObjFactory
|
|
{
|
|
public:
|
|
pgOperatorClassFactory();
|
|
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 pgOperatorClassFactory operatorClassFactory;
|
|
|
|
|
|
class pgOperatorClass : public pgSchemaObject
|
|
{
|
|
public:
|
|
pgOperatorClass(pgSchema *newSchema, const wxString &newName = wxT(""));
|
|
~pgOperatorClass();
|
|
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
|
|
|
|
wxString GetFullName()
|
|
{
|
|
return GetName() + wxT("(") + GetAccessMethod() + wxT(")");
|
|
}
|
|
wxString GetAccessMethod() const
|
|
{
|
|
return accessMethod;
|
|
}
|
|
void iSetAccessMethod(const wxString &s)
|
|
{
|
|
accessMethod = s;
|
|
}
|
|
|
|
wxArrayString GetOperators()
|
|
{
|
|
return operators;
|
|
}
|
|
wxArrayString GetFunctions()
|
|
{
|
|
return functions;
|
|
}
|
|
wxArrayString GetQuotedFunctions()
|
|
{
|
|
return quotedFunctions;
|
|
}
|
|
wxString GetInType() const
|
|
{
|
|
return inType;
|
|
}
|
|
void iSetInType(const wxString &s)
|
|
{
|
|
inType = s;
|
|
}
|
|
wxString GetKeyType() const
|
|
{
|
|
return keyType;
|
|
}
|
|
void iSetKeyType(const wxString &s)
|
|
{
|
|
keyType = s;
|
|
}
|
|
wxString GetSql(ctlTree *browser);
|
|
bool GetOpcDefault() const
|
|
{
|
|
return opcDefault;
|
|
}
|
|
void iSetOpcDefault(const bool b)
|
|
{
|
|
opcDefault = b;
|
|
}
|
|
wxString GetFamily() const
|
|
{
|
|
return opFamily;
|
|
}
|
|
void iSetFamily(const wxString &s)
|
|
{
|
|
opFamily = s;
|
|
}
|
|
|
|
bool CanCreate()
|
|
{
|
|
return false;
|
|
}
|
|
bool CanEdit()
|
|
{
|
|
return false;
|
|
}
|
|
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
|
|
wxString GetHelpPage(bool forCreate) const
|
|
{
|
|
return wxT("pg/sql-createopclass");
|
|
}
|
|
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
|
|
|
|
bool HasStats()
|
|
{
|
|
return false;
|
|
}
|
|
bool HasDepends()
|
|
{
|
|
return true;
|
|
}
|
|
bool HasReferences()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
private:
|
|
wxString inType, keyType, accessMethod, opFamily ;
|
|
wxArrayString operators;
|
|
wxArrayString functions, quotedFunctions;
|
|
wxArrayString functionOids;
|
|
bool opcDefault;
|
|
};
|
|
|
|
class pgOperatorClassCollection : public pgSchemaObjCollection
|
|
{
|
|
public:
|
|
pgOperatorClassCollection(pgaFactory *factory, pgSchema *sch);
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
};
|
|
|
|
#endif
|