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
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// dlgTable.h - Table property
//
//////////////////////////////////////////////////////////////////////////
#ifndef __DLG_TABLEPROP
#define __DLG_TABLEPROP
#include "dlg/dlgProperty.h"
#include "ctl/ctlSeclabelPanel.h"
enum
{
COL_NAME = 0,
COL_DEFINITION,
COL_INHERIT,
COL_SQLCHANGE,
COL_COMMENTS,
COL_STATISTICS,
COL_PGCOLUMN,
COL_TYPEOID,
COL_CHANGEDCOL
};
enum
{
TAB_PROPERTIES = 0,
TAB_DEFINITION,
TAB_INHERITS,
TAB_LIKE,
TAB_COLUMNS,
TAB_CONSTRAINTS,
TAB_AUTOVACUUM,
TAB_PRIVILEGES,
TAB_SECLABEL,
TAB_SQL
};
class pgSchema;
class pgTable;
class pgColumn;
class dlgTable : public dlgSecurityProperty
{
public:
dlgTable(pgaFactory *factory, frmMain *frame, pgTable *db, pgSchema *sch);
int Go(bool modal);
void CheckChange();
wxString GetSql();
pgObject *CreateObject(pgCollection *collection);
pgObject *GetObject();
~dlgTable();
private:
pgSchema *schema;
pgTable *table;
ctlSeclabelPanel *seclabelPage;
dataTypeCache dtCache;
void OnChange(wxCommandEvent &event);
void OnOK(wxCommandEvent &ev);
void OnChangeTable(wxCommandEvent &ev);
#ifdef __WXMAC__
void OnChangeSize(wxSizeEvent &ev);
#endif
void OnChangeOfType(wxCommandEvent &ev);
void OnAddTable(wxCommandEvent &ev);
void OnRemoveTable(wxCommandEvent &ev);
void OnSelChangeTable(wxCommandEvent &ev);
void OnAddCol(wxCommandEvent &ev);
void OnChangeCol(wxCommandEvent &ev);
void OnRemoveCol(wxCommandEvent &ev);
void OnSelChangeCol(wxListEvent &ev);
void OnAddConstr(wxCommandEvent &ev);
void OnRemoveConstr(wxCommandEvent &ev);
void OnSelChangeConstr(wxListEvent &ev);
void OnChangeVacuum(wxCommandEvent &ev);
void FillConstraint();
void FillAutoVacuumParameters(wxString &setString, wxString &resetStr,
const wxString ¶meter, const wxString &val);
void PopulateDatatypeCache();
wxString GetItemConstraintType(ctlListView *list, long pos);
bool hasPK;
wxArrayString previousColumns, previousConstraints, previousTables, constraintsDefinition;
wxArrayString tableOids, inheritedTableOids;
wxTreeItemId columnsItem, constraintsItem;
wxString GetNumString(wxTextCtrl *ctl, bool enabled, const wxString &val);
wxString AppendNum(bool &changed, wxTextCtrl *ctl, wxString val);
bool tableVacEnabled, hasVacuum, settingAutoVacuum;
wxString settingVacBaseThr, settingAnlBaseThr, settingCostDelay,
settingCostLimit, settingFreezeMinAge, settingFreezeMaxAge,
settingFreezeTableAge;
wxString tableVacBaseThr, tableAnlBaseThr, tableCostDelay,
tableCostLimit, tableFreezeMinAge, tableFreezeMaxAge,
tableFreezeTableAge;
wxString settingVacFactor, settingAnlFactor;
wxString tableVacFactor, tableAnlFactor;
/* Toast Table */
bool toastTableVacEnabled, toastTableHasVacuum;
wxString toastTableVacBaseThr,
toastTableCostDelay, toastTableCostLimit,
toastTableFreezeMinAge, toastTableFreezeMaxAge,
toastTableFreezeTableAge;
wxString toastTableVacFactor;
DECLARE_EVENT_TABLE()
};
#endif
|