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 141 142 143 144 145 146 147 148 149 150 151 152 153
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// pgCast.h PostgreSQL Cast
//
//////////////////////////////////////////////////////////////////////////
#ifndef PGCAST_H
#define PGCAST_H
// App headers
#include "pgDatabase.h"
class pgCollection;
class pgCastFactory : public pgDatabaseObjFactory
{
public:
pgCastFactory();
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 pgCastFactory castFactory;
class pgCast : public pgDatabaseObject
{
public:
pgCast(const wxString &newName = wxT(""));
~pgCast();
wxString GetTranslatedMessage(int kindOfMessage) const;
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
bool CanDropCascaded()
{
return true;
}
bool GetSystemObject() const
{
return GetOid() <= GetConnection()->GetLastSystemOID();
}
wxString GetSourceType() const
{
return sourceType;
}
void iSetSourceType(const wxString &s)
{
sourceType = s;
}
wxString GetTargetType() const
{
return targetType;
}
void iSetTargetType(const wxString &s)
{
targetType = s;
}
wxString GetSourceNamespace() const
{
return sourceNamespace;
}
void iSetSourceNamespace(const wxString &s)
{
sourceNamespace = s;
}
wxString GetTargetNamespace() const
{
return targetNamespace;
}
void iSetTargetNamespace(const wxString &s)
{
targetNamespace = s;
}
OID GetSourceTypeOid() const
{
return sourceTypeOid;
}
void iSetSourceTypeOid(const OID o)
{
sourceTypeOid = o;
}
OID GetTargetTypeOid() const
{
return targetTypeOid;
}
void iSetTargetTypeOid(const OID o)
{
targetTypeOid = o;
}
wxString GetCastFunction() const
{
return castFunction;
}
void iSetCastFunction(const wxString &s)
{
castFunction = s;
}
wxString GetCastNamespace() const
{
return castNamespace;
}
void iSetCastNamespace(const wxString &s)
{
castNamespace = s;
}
wxString GetCastContext() const
{
return castContext;
}
void iSetCastContext(const wxString &s)
{
castContext = s;
}
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
wxString GetSql(ctlTree *browser);
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
bool HasStats()
{
return false;
}
bool HasDepends()
{
return true;
}
bool HasReferences()
{
return true;
}
private:
wxString sourceType, sourceNamespace, targetType, targetNamespace,
castFunction, castContext, castNamespace;
OID sourceTypeOid, targetTypeOid;
};
class pgCastCollection : public pgDatabaseObjCollection
{
public:
pgCastCollection(pgaFactory *factory, pgDatabase *db);
wxString GetTranslatedMessage(int kindOfMessage) const;
};
#endif
|