File: db_explorer_settings.h

package info (click to toggle)
codelite 6.1.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 48,992 kB
  • ctags: 43,502
  • sloc: cpp: 334,263; ansic: 18,441; xml: 4,713; yacc: 2,653; lex: 2,449; python: 1,188; sh: 385; makefile: 40
file content (144 lines) | stat: -rw-r--r-- 4,261 bytes parent folder | download
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