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
//
// pgAggregate.h - Aggregate class
//
//////////////////////////////////////////////////////////////////////////
#ifndef PGAGGREGATE_H
#define PGAGGREGATE_H
#include "pgSchema.h"
class pgCollection;
class pgAggregateFactory : public pgSchemaObjFactory
{
public:
pgAggregateFactory();
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 pgAggregateFactory aggregateFactory;
class pgAggregate : public pgSchemaObject
{
public:
pgAggregate(pgSchema *newSchema, const wxString &newName = wxT(""));
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);
wxString GetSql(ctlTree *browser);
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
wxString GetQuotedFullName();
wxString GetFullName();
bool CanDropCascaded()
{
return GetSchema()->GetMetaType() != PGM_CATALOG;
}
bool HasStats()
{
return false;
}
bool HasDepends()
{
return true;
}
bool HasReferences()
{
return true;
}
wxArrayString &GetInputTypesArray()
{
return inputTypes;
}
void iAddInputType(const wxString &s)
{
inputTypes.Add(s);
}
wxString GetInputTypesList();
wxString GetStateType()
{
return stateType;
}
void iSetStateType(const wxString &s)
{
stateType = s;
}
wxString GetFinalType()
{
return finalType;
}
void iSetFinalType(const wxString &s)
{
finalType = s;
}
wxString GetStateFunction()
{
return stateFunction;
}
void iSetStateFunction(const wxString &s)
{
stateFunction = s;
}
wxString GetFinalFunction()
{
return finalFunction;
}
void iSetFinalFunction(const wxString &s)
{
finalFunction = s;
}
wxString GetInitialCondition()
{
return initialCondition;
}
void iSetInitialCondition(const wxString &s)
{
initialCondition = s;
}
wxString GetSortOp()
{
return sortOp;
}
void iSetSortOp(const wxString &s)
{
sortOp = s;
}
wxString GetQuotedSortOp()
{
return quotedSortOp;
}
void iSetQuotedSortOp(const wxString &s)
{
quotedSortOp = s;
}
private:
wxArrayString inputTypes;
wxString stateType, finalType, sortOp, quotedSortOp,
stateFunction, finalFunction, initialCondition;
};
class pgAggregateCollection : public pgSchemaObjCollection
{
public:
pgAggregateCollection(pgaFactory *factory, pgSchema *sch);
wxString GetTranslatedMessage(int kindOfMessage) const;
};
#endif
|