pgadmin3/include/frm/frmMainConfig.h
2020-07-07 22:19:12 +05:00

84 lines
2 KiB
C++

//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// frmMainConfig.h - Backend configuration tool
//
//////////////////////////////////////////////////////////////////////////
#ifndef FRMMAINCONFIG_H
#define FRMMAINCONFIG_H
#include "utils/pgconfig.h"
#include "frm/frmConfig.h"
#include "dlg/dlgClasses.h"
#include "utils/factory.h"
class ctlListView;
class pgServer;
WX_DECLARE_OBJARRAY(pgConfigOrgLine, pgConfigOrgLineArray);
class frmMainConfig : public frmConfig
{
public:
frmMainConfig(const wxString &title, const wxString &configFile);
frmMainConfig(frmMain *parent, pgServer *server = 0);
~frmMainConfig();
protected:
void DisplayFile(const wxString &str);
void WriteFile(pgConn *conn = 0);
wxString GetHintString();
wxString GetHelpPage() const;
private:
void Init();
void Init(pgSettingReader *reader);
void InitForm();
void FillList(const wxString &categoryMember, const wxString &altCategoryMember = wxEmptyString);
void FillList(wxArrayString *category);
void OnContents(wxCommandEvent &event);
void OnUndo(wxCommandEvent &event);
void OnEditSetting(wxListEvent &event);
void OnSelectSetting(wxListEvent &event);
void UpdateLine(int line);
void OnOpen(wxCommandEvent &event);
ctlListView *cfgList;
pgSettingItemHashmap options;
pgCategoryHashmap categories;
pgConfigOrgLineArray lines;
wxString serverVersionNumber;
DECLARE_EVENT_TABLE()
};
class mainConfigFactory : public actionFactory
{
public:
mainConfigFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
wxWindow *StartDialog(frmMain *form, pgObject *obj);
bool CheckEnable(pgObject *obj);
};
class mainConfigFileFactory : public actionFactory
{
public:
mainConfigFileFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
wxWindow *StartDialog(frmMain *form, pgObject *obj);
};
#endif