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 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
// copyright : (C) 2014 The CodeLite Team
// file name : db_explorer_settings.h
//
// -------------------------------------------------------------------------
// A
// _____ _ _ _ _
// / __ \ | | | | (_) |
// | / \/ ___ __| | ___| | _| |_ ___
// | | / _ \ / _ |/ _ \ | | | __/ _ )
// | \__/\ (_) | (_| | __/ |___| | || __/
// \____/\___/ \__,_|\___\_____/_|\__\___|
//
// F i l e
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
#ifndef DBEXPLORERSETTINGS_H
#define DBEXPLORERSETTINGS_H
#include "serialized_object.h"
#include "cl_config.h"
#define DBE_CONFIG "database-explorer"
#define DBE_CONFIG_FILE "database-explorer.conf"
class DbConnectionInfo : public clConfigItem
{
protected:
wxString m_connectionName;
wxString m_server;
int m_port;
wxString m_password;
wxString m_username;
wxString m_defaultDatabase;
int m_connectionType;
public:
enum {
DbConnTypeMySQL,
DbConnTypePgSQL
};
public:
DbConnectionInfo();
virtual ~DbConnectionInfo();
virtual void FromJSON(const JSONElement& json);
virtual JSONElement ToJSON() const;
void SetConnectionName(const wxString& connectionName) {
this->m_connectionName = connectionName;
}
void SetPassword(const wxString& password) {
this->m_password = password;
}
void SetServer(const wxString& server) {
this->m_server = server;
}
void SetPort(const int port) {
this->m_port = port;
}
void SetUsername(const wxString& username) {
this->m_username = username;
}
const wxString& GetConnectionName() const {
return m_connectionName;
}
const wxString& GetPassword() const {
return m_password;
}
const wxString& GetServer() const {
return m_server;
}
const int GetPort() const {
return m_port;
}
const wxString& GetUsername() const {
return m_username;
}
void SetDefaultDatabase(const wxString& defaultDatabase) {
this->m_defaultDatabase = defaultDatabase;
}
const wxString& GetDefaultDatabase() const {
return m_defaultDatabase;
}
void SetConnectionType(int connectionType) {
this->m_connectionType = connectionType;
}
int GetConnectionType() const {
return m_connectionType;
}
bool IsValid() const {
return !m_connectionName.IsEmpty() &&
!m_server.IsEmpty() &&
!m_username.IsEmpty() &&
!m_password.IsEmpty();
}
};
typedef std::vector<DbConnectionInfo> DbConnectionInfoVec;
class DbExplorerSettings : public clConfigItem
{
protected:
wxArrayString m_recentFiles;
DbConnectionInfoVec m_connections;
wxArrayString m_sqlHistory;
public:
DbExplorerSettings();
virtual ~DbExplorerSettings();
void SetRecentFiles(const wxArrayString& recentFiles);
const wxArrayString& GetRecentFiles() const {
return m_recentFiles;
}
DbConnectionInfoVec GetPgSQLConnections();
void SetPgSQLConnections(const DbConnectionInfoVec& conns);
DbConnectionInfoVec GetMySQLConnections();
void SetMySQLConnections(const DbConnectionInfoVec& conns);
void SetSqlHistory(const wxArrayString& sqlHistory) {
this->m_sqlHistory = sqlHistory;
}
const wxArrayString& GetSqlHistory() const {
return m_sqlHistory;
}
virtual void FromJSON(const JSONElement &json);
virtual JSONElement ToJSON() const;
};
#endif // DBEXPLORERSETTINGS_H
|