1 ////////////////////////////////////////////////////////////////////////// 2 // 3 // pgAdmin III - PostgreSQL Tools 4 // 5 // Copyright (C) 2002 - 2016, The pgAdmin Development Team 6 // This software is released under the PostgreSQL Licence 7 // 8 // dlgIndex.h - Index property 9 // 10 ////////////////////////////////////////////////////////////////////////// 11 12 13 #ifndef __DLG_INDEXPROP 14 #define __DLG_INDEXPROP 15 16 #include "dlg/dlgProperty.h" 17 18 19 class pgIndex; 20 class pgIndexBase; 21 22 #define btnAddCol CTRL_BUTTON("btnAddCol") 23 #define btnRemoveCol CTRL_BUTTON("btnRemoveCol") 24 25 class dlgIndexBase : public dlgCollistProperty 26 { 27 public: 28 dlgIndexBase(pgaFactory *factory, frmMain *frame, const wxString &resName, pgIndexBase *index, pgTable *parentNode); 29 dlgIndexBase(pgaFactory *factory, frmMain *frame, const wxString &resName, ctlListView *colList); 30 31 void OnSelectComboCol(wxCommandEvent &ev); 32 void OnSelectListCol(wxListEvent &ev); 33 void OnSelectCol(); 34 void CheckChange(); 35 pgObject *GetObject(); 36 int Go(bool modal); 37 38 protected: 39 pgIndexBase *index; 40 41 private: 42 DECLARE_EVENT_TABLE() 43 }; 44 45 46 class dlgIndex : public dlgIndexBase 47 { 48 public: 49 dlgIndex(pgaFactory *factory, frmMain *frame, pgIndex *index, pgTable *parentNode); 50 51 int Go(bool modal); 52 void CheckChange(); 53 wxString GetColumns(); 54 wxString GetSql(); 55 pgObject *CreateObject(pgCollection *collection); 56 57 private: 58 #ifdef __WXMAC__ 59 void OnChangeSize(wxSizeEvent &ev); 60 #endif 61 62 void OnSelectType(wxCommandEvent &ev); 63 void OnDescChange(wxCommandEvent &ev); 64 void OnAddCol(wxCommandEvent &ev); 65 void OnRemoveCol(wxCommandEvent &ev); 66 67 wxString m_previousType; 68 69 DECLARE_EVENT_TABLE() 70 }; 71 72 73 #endif 74