mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 14:15:49 -06:00
153 lines
3 KiB
C++
153 lines
3 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin III - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, 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
|