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
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// dlgAggregate.h - Aggregate properties dialog
//
//////////////////////////////////////////////////////////////////////////
#ifndef __DLG_AGGREGATEPROP
#define __DLG_AGGREGATEPROP
#include "dlg/dlgProperty.h"
#include "ctl/ctlSeclabelPanel.h"
class pgSchema;
class pgAggregate;
class dlgAggregate : public dlgTypeProperty
{
public:
dlgAggregate(pgaFactory *factory, frmMain *frame, pgAggregate *agg, pgSchema *sch);
int Go(bool modal);
void CheckChange();
wxString GetSql();
pgObject *CreateObject(pgCollection *collection);
pgObject *GetObject();
protected:
/*
* Aggregate Privileges:
* - Did not inherit dlgTypeProperty & dlgSecurityProperty as it will
* lead to a lot of problem later
**/
ctlSecurityPanel *securityPage;
wxArrayString currentAcl;
wxArrayString groups;
bool securityChanged;
wxString GetGrant(const wxString &allPattern, const wxString &grantObject);
void OnAddPriv(wxCommandEvent &ev);
void OnDelPriv(wxCommandEvent &ev);
private:
pgSchema *schema;
pgAggregate *aggregate;
ctlSeclabelPanel *seclabelPage;
virtual wxString GetDisplayName()
{
return GetName() + wxT("(") + GetInputTypesList() + wxT(")");
};
#ifdef __WXMAC__
void OnChangeSize(wxSizeEvent &ev);
#endif
void OnChange(wxCommandEvent &event);
void OnChangeType(wxCommandEvent &ev);
void OnChangeTypeBase(wxCommandEvent &ev);
void OnChangeTypeState(wxCommandEvent &ev);
void OnAddInputType(wxCommandEvent &ev);
void OnRemoveInputType(wxCommandEvent &ev);
void OnSelectInputType(wxListEvent &ev);
long GetInputTypeOid(int param);
wxString GetInputTypesList();
wxString GetInputTypesOidList();
DECLARE_EVENT_TABLE()
};
#endif
|