1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, 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
|