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
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// dlgColumn.h - Column property
//
//////////////////////////////////////////////////////////////////////////
#ifndef __DLG_COLUMNPROP
#define __DLG_COLUMNPROP
#include "dlg/dlgProperty.h"
#include "ctl/ctlSeclabelPanel.h"
class pgColumn;
class pgTable;
class dlgColumn : public dlgTypeProperty
{
public:
dlgColumn(pgaFactory *factory, frmMain *frame, pgColumn *column, pgTable *parentNode);
void CheckChange();
void SetChangedCol(pgColumn *changedCol);
void ApplyChangesToObj(pgColumn *changedCol);
void ApplyChangesToDlg();
wxString GetSql();
pgObject *CreateObject(pgCollection *collection);
pgObject *GetObject();
wxString GetDefinition();
wxString GetPreviousDefinition()
{
return previousDefinition;
}
wxString GetComment()
{
return txtComment->GetValue();
}
wxString GetStatistics()
{
return CTRL_TEXT("txtAttstattarget")->GetValue();
}
wxString GetTypeOid();
int Go(bool modal);
wxString GetHelpPage(bool forCreate) const
{
return wxT("pg/sql-createtable");
}
protected:
/*
* Column Level Privileges:
* - Did not inherit dlgTypeProperty & dlgSecurityProperty as, it will
* lead to a lot of problem later
**/
ctlSecurityPanel *securityPage;
wxArrayString currentAcl;
wxArrayString groups;
bool securityChanged;
ctlSeclabelPanel *seclabelPage;
void OnChange(wxCommandEvent &event);
wxString GetGrant(const wxString &allPattern, const wxString &grantObject);
void OnAddPriv(wxCommandEvent &ev);
void OnDelPriv(wxCommandEvent &ev);
#ifdef __WXMAC__
void OnChangeSize(wxSizeEvent &ev);
#endif
void OnVarAdd(wxCommandEvent &ev);
void OnVarRemove(wxCommandEvent &ev);
void OnVarSelChange(wxListEvent &ev);
void OnVarnameSelChange(wxCommandEvent &ev);
void SetupVarEditor(int var);
private:
pgColumn *column;
pgTable *table;
pgColumn *changedColumn;
wxArrayString varInfo;
bool dirtyVars;
void OnSelChangeTyp(wxCommandEvent &ev);
wxString previousDefinition;
wxArrayString sequences;
DECLARE_EVENT_TABLE()
};
#endif
|