pgadmin3/include/schema/pgTablespace.h
2020-07-07 22:19:12 +05:00

99 lines
2.3 KiB
C++

//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// pgTablespace.h - PostgreSQL Tablespace
//
//////////////////////////////////////////////////////////////////////////
#ifndef PGTABLESPACE_H
#define PGTABLESPACE_H
#include "pgServer.h"
class pgTablespaceFactory : public pgServerObjFactory
{
public:
pgTablespaceFactory();
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 pgTablespaceFactory tablespaceFactory;
class pgTablespace : public pgServerObject
{
public:
pgTablespace(const wxString &newName = wxT(""));
wxString GetTranslatedMessage(int kindOfMessage) const;
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
void ShowStatistics(frmMain *form, ctlListView *statistics);
void ShowDependents(frmMain *form, ctlListView *referencedBy, const wxString &where = wxEmptyString);
wxString GetLocation() const
{
return location;
};
void iSetLocation(const wxString &newVal)
{
location = newVal;
}
wxArrayString &GetVariables()
{
return variables;
}
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
bool RequireDropConfirm()
{
return true;
}
pgConn *connection();
wxString GetSql(ctlTree *browser);
void MoveTablespace(frmMain *form);
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
bool HasStats()
{
return true;
}
bool HasDepends()
{
return true;
}
bool HasReferences()
{
return true;
}
private:
wxString location;
wxArrayString variables;
};
class pgTablespaceCollection : public pgServerObjCollection
{
public:
pgTablespaceCollection(pgaFactory *factory, pgServer *sv);
wxString GetTranslatedMessage(int kindOfMessage) const;
void ShowStatistics(frmMain *form, ctlListView *statistics);
};
class moveTablespaceFactory : public contextActionFactory
{
public:
moveTablespaceFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
wxWindow *StartDialog(frmMain *form, pgObject *obj);
bool CheckEnable(pgObject *obj);
};
#endif