pgadmin3/include/dlg/dlgIndex.h
2020-07-07 22:19:12 +05:00

73 lines
1.6 KiB
C++

//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// dlgIndex.h - Index property
//
//////////////////////////////////////////////////////////////////////////
#ifndef __DLG_INDEXPROP
#define __DLG_INDEXPROP
#include "dlg/dlgProperty.h"
class pgIndex;
class pgIndexBase;
#define btnAddCol CTRL_BUTTON("btnAddCol")
#define btnRemoveCol CTRL_BUTTON("btnRemoveCol")
class dlgIndexBase : public dlgCollistProperty
{
public:
dlgIndexBase(pgaFactory *factory, frmMain *frame, const wxString &resName, pgIndexBase *index, pgTable *parentNode);
dlgIndexBase(pgaFactory *factory, frmMain *frame, const wxString &resName, ctlListView *colList);
void OnSelectComboCol(wxCommandEvent &ev);
void OnSelectListCol(wxListEvent &ev);
void OnSelectCol();
void CheckChange();
pgObject *GetObject();
int Go(bool modal);
protected:
pgIndexBase *index;
private:
DECLARE_EVENT_TABLE()
};
class dlgIndex : public dlgIndexBase
{
public:
dlgIndex(pgaFactory *factory, frmMain *frame, pgIndex *index, pgTable *parentNode);
int Go(bool modal);
void CheckChange();
wxString GetColumns();
wxString GetSql();
pgObject *CreateObject(pgCollection *collection);
private:
#ifdef __WXMAC__
void OnChangeSize(wxSizeEvent &ev);
#endif
void OnSelectType(wxCommandEvent &ev);
void OnDescChange(wxCommandEvent &ev);
void OnAddCol(wxCommandEvent &ev);
void OnRemoveCol(wxCommandEvent &ev);
wxString m_previousType;
DECLARE_EVENT_TABLE()
};
#endif