~ubuntu-branches/ubuntu/utopic/pgadmin3/utopic-proposed

« back to all changes in this revision

Viewing changes to pgadmin/include/frm/frmStatus.h

  • Committer: Bazaar Package Importer
  • Author(s): Gerfried Fuchs
  • Date: 2011-06-07 23:03:54 UTC
  • mfrom: (1.3.1 upstream) (13 sid)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20110607230354-3td4j9y71u4ahcvj
Tags: 1.14.0~beta1-1
* New upstream development release, adding Build-Depends on
  postgresql-server-dev-all >= 117~.
* Add Build-Depends on quilt, (un)patch to debian/rules and patch for fixing
  the include for kwlist.h in pgadmin/db/keywords.c.
* Add pg_config --includedir-server output to CPPFLAGS.
* Remove unrecognized configure options: --with-wx-config,
  --with-pgsql-include, --enable-gtk2, --enable-unicode.
* Clean up manually the files that are left behind after the broken
  distclean.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
//////////////////////////////////////////////////////////////////////////
2
2
//
3
3
// pgAdmin III - PostgreSQL Tools
4
 
// 
5
 
// Copyright (C) 2002 - 2010, The pgAdmin Development Team
 
4
//
 
5
// Copyright (C) 2002 - 2011, The pgAdmin Development Team
6
6
// This software is released under the PostgreSQL Licence
7
7
//
8
8
// frmStatus.h - Status Screen
21
21
 
22
22
// wxAUI
23
23
#include <wx/aui/aui.h>
24
 
#include <wx/aui/auibook.h>
25
24
 
26
25
#include "dlg/dlgClasses.h"
27
26
#include "utils/factory.h"
 
27
#include "ctl/ctlAuiNotebook.h"
28
28
 
29
29
enum
30
30
{
31
 
    CTL_RATECBO=250,
32
 
    CTL_REFRESHBTN,
33
 
    CTL_CANCELBTN,
34
 
    CTL_TERMINATEBTN,
35
 
    CTL_COMMITBTN,
36
 
    CTL_ROLLBACKBTN,
37
 
    CTL_LOGCBO,
38
 
    CTL_ROTATEBTN,
39
 
    CTL_STATUSLIST,
40
 
    CTL_LOCKLIST,
41
 
    CTL_XACTLIST,
42
 
    CTL_LOGLIST,
43
 
    MNU_STATUSPAGE,
44
 
    MNU_LOCKPAGE,
45
 
    MNU_XACTPAGE,
46
 
    MNU_LOGPAGE,
47
 
    MNU_TERMINATE,
48
 
    MNU_COMMIT,
49
 
    MNU_ROLLBACK,
 
31
        CTL_RATECBO = 250,
 
32
        CTL_REFRESHBTN,
 
33
        CTL_CANCELBTN,
 
34
        CTL_TERMINATEBTN,
 
35
        CTL_COMMITBTN,
 
36
        CTL_ROLLBACKBTN,
 
37
        CTL_LOGCBO,
 
38
        CTL_ROTATEBTN,
 
39
        CTL_STATUSLIST,
 
40
        CTL_LOCKLIST,
 
41
        CTL_XACTLIST,
 
42
        CTL_LOGLIST,
 
43
        MNU_STATUSPAGE,
 
44
        MNU_LOCKPAGE,
 
45
        MNU_XACTPAGE,
 
46
        MNU_LOGPAGE,
 
47
        MNU_TERMINATE,
 
48
        MNU_COMMIT,
 
49
        MNU_ROLLBACK,
50
50
        MNU_COPY_QUERY,
51
 
    MNU_HIGHLIGHTSTATUS,
52
 
    TIMER_REFRESHUI_ID,
53
 
    TIMER_STATUS_ID,
54
 
    TIMER_LOCKS_ID,
55
 
    TIMER_XACT_ID,
56
 
    TIMER_LOG_ID
 
51
        MNU_HIGHLIGHTSTATUS,
 
52
        TIMER_REFRESHUI_ID,
 
53
        TIMER_STATUS_ID,
 
54
        TIMER_LOCKS_ID,
 
55
        TIMER_XACT_ID,
 
56
        TIMER_LOG_ID
57
57
};
58
58
 
59
59
 
60
60
enum
61
61
{
62
 
    PANE_STATUS=1,
63
 
    PANE_LOCKS,
64
 
    PANE_XACT,
65
 
    PANE_LOG
 
62
        PANE_STATUS = 1,
 
63
        PANE_LOCKS,
 
64
        PANE_XACT,
 
65
        PANE_LOG
66
66
};
67
67
 
68
68
 
90
90
class frmStatus : public pgFrame
91
91
{
92
92
public:
93
 
    frmStatus(frmMain *form, const wxString& _title, pgConn *conn);
94
 
    ~frmStatus();
95
 
    void Go();
96
 
    
 
93
        frmStatus(frmMain *form, const wxString &_title, pgConn *conn);
 
94
        ~frmStatus();
 
95
        void Go();
 
96
 
97
97
private:
98
 
    wxAuiManager manager;
99
 
    
100
 
    frmMain *mainForm;
101
 
    pgConn *connection, *locks_connection;
102
 
 
103
 
    wxString logFormat;
104
 
    bool logHasTimestamp, logFormatKnown;
105
 
    int logFmtPos;
106
 
 
107
 
    wxDateTime logfileTimestamp, latestTimestamp;
108
 
    wxString logDirectory, logfileName;
109
 
 
110
 
    wxString savedPartialLine;
111
 
 
112
 
    bool showCurrent, isCurrent;
113
 
    
114
 
    long backend_pid;
 
98
        wxAuiManager manager;
 
99
 
 
100
        frmMain *mainForm;
 
101
        pgConn *connection, *locks_connection;
 
102
 
 
103
        wxString logFormat;
 
104
        bool logHasTimestamp, logFormatKnown;
 
105
        int logFmtPos;
 
106
 
 
107
        wxDateTime logfileTimestamp, latestTimestamp;
 
108
        wxString logDirectory, logfileName;
 
109
 
 
110
        wxString savedPartialLine;
 
111
 
 
112
        bool showCurrent, isCurrent;
 
113
 
 
114
        long backend_pid;
115
115
 
116
116
        bool loaded;
117
 
    long logfileLength;
118
 
    
119
 
    int currentPane;
120
 
 
121
 
    int statusSortColumn;
122
 
    wxString statusSortOrder;
123
 
    int lockSortColumn;
124
 
    wxString lockSortOrder;
125
 
    int xactSortColumn;
126
 
    wxString xactSortOrder;
127
 
 
128
 
    wxComboBox    *cbRate;
129
 
    wxComboBox    *cbLogfiles;
130
 
    wxButton      *btnRotateLog;
131
 
    ctlComboBoxFix *cbDatabase;
132
 
    
133
 
    wxTimer *refreshUITimer;
134
 
    wxTimer *statusTimer, *locksTimer, *xactTimer, *logTimer;
135
 
    int statusRate, locksRate, xactRate, logRate;
136
 
 
137
 
    ctlListView   *statusList;
138
 
    ctlListView   *lockList;
139
 
    ctlListView   *xactList;
140
 
    ctlListView   *logList;
141
 
    
142
 
    int cboToRate();
143
 
    wxString rateToCboString(int rate);
144
 
 
145
 
    wxImageList *listimages;
146
 
 
147
 
    void AddStatusPane();
148
 
    void AddLockPane();
149
 
    void AddXactPane();
150
 
    void AddLogPane();
151
 
 
152
 
    void OnHelp(wxCommandEvent& ev);
153
 
    void OnExit(wxCommandEvent& event);
154
 
    
155
 
    void OnCopy(wxCommandEvent& ev);
156
 
    void OnCopyQuery(wxCommandEvent& ev);
157
 
 
158
 
    void OnToggleStatusPane(wxCommandEvent& event);
159
 
    void OnToggleLockPane(wxCommandEvent& event);
160
 
    void OnToggleXactPane(wxCommandEvent& event);
161
 
    void OnToggleLogPane(wxCommandEvent& event);
162
 
    void OnToggleToolBar(wxCommandEvent& event);
163
 
    void OnDefaultView(wxCommandEvent& event);
164
 
    void OnHighlightStatus(wxCommandEvent& event);
165
 
    
166
 
    void OnRefreshUITimer(wxTimerEvent &event);
167
 
    void OnRefreshStatusTimer(wxTimerEvent &event);
168
 
    void OnRefreshLocksTimer(wxTimerEvent &event);
169
 
    void OnRefreshXactTimer(wxTimerEvent &event);
170
 
    void OnRefreshLogTimer(wxTimerEvent &event);
171
 
    
172
 
    void SetColumnImage(ctlListView *list, int col, int image);
173
 
    void OnSortStatusGrid(wxListEvent &event);
174
 
    void OnSortLockGrid(wxListEvent &event);
175
 
    void OnSortXactGrid(wxListEvent &event);
176
 
 
177
 
    void OnRateChange(wxCommandEvent &event);
178
 
    
179
 
    void OnPaneClose(wxAuiManagerEvent& evt);
180
 
 
181
 
    void OnClose(wxCloseEvent &event);
182
 
    void OnRefresh(wxCommandEvent &event);
183
 
    void OnCancelBtn(wxCommandEvent &event);
184
 
    void OnStatusCancelBtn(wxCommandEvent &event);
185
 
    void OnLocksCancelBtn(wxCommandEvent &event);
186
 
    void OnTerminateBtn(wxCommandEvent &event);
187
 
    void OnStatusTerminateBtn(wxCommandEvent &event);
188
 
    void OnLocksTerminateBtn(wxCommandEvent &event);
 
117
        long logfileLength;
 
118
 
 
119
        int currentPane;
 
120
 
 
121
        int statusSortColumn;
 
122
        wxString statusSortOrder;
 
123
        int lockSortColumn;
 
124
        wxString lockSortOrder;
 
125
        int xactSortColumn;
 
126
        wxString xactSortOrder;
 
127
 
 
128
        wxComboBox    *cbRate;
 
129
        wxComboBox    *cbLogfiles;
 
130
        wxButton      *btnRotateLog;
 
131
        ctlComboBoxFix *cbDatabase;
 
132
 
 
133
        wxTimer *refreshUITimer;
 
134
        wxTimer *statusTimer, *locksTimer, *xactTimer, *logTimer;
 
135
        int statusRate, locksRate, xactRate, logRate;
 
136
 
 
137
        ctlListView   *statusList;
 
138
        ctlListView   *lockList;
 
139
        ctlListView   *xactList;
 
140
        ctlListView   *logList;
 
141
 
 
142
        wxMenu        *statusPopupMenu;
 
143
        wxMenu        *lockPopupMenu;
 
144
        wxMenu        *xactPopupMenu;
 
145
 
 
146
        int statusColWidth[10], lockColWidth[10], xactColWidth[5];
 
147
 
 
148
        int cboToRate();
 
149
        wxString rateToCboString(int rate);
 
150
 
 
151
        wxImageList *listimages;
 
152
 
 
153
        void AddStatusPane();
 
154
        void AddLockPane();
 
155
        void AddXactPane();
 
156
        void AddLogPane();
 
157
 
 
158
        void OnHelp(wxCommandEvent &ev);
 
159
        void OnContents(wxCommandEvent &ev);
 
160
        void OnExit(wxCommandEvent &event);
 
161
 
 
162
        void OnCopy(wxCommandEvent &ev);
 
163
        void OnCopyQuery(wxCommandEvent &ev);
 
164
 
 
165
        void OnToggleStatusPane(wxCommandEvent &event);
 
166
        void OnToggleLockPane(wxCommandEvent &event);
 
167
        void OnToggleXactPane(wxCommandEvent &event);
 
168
        void OnToggleLogPane(wxCommandEvent &event);
 
169
        void OnToggleToolBar(wxCommandEvent &event);
 
170
        void OnDefaultView(wxCommandEvent &event);
 
171
        void OnHighlightStatus(wxCommandEvent &event);
 
172
 
 
173
        void OnRefreshUITimer(wxTimerEvent &event);
 
174
        void OnRefreshStatusTimer(wxTimerEvent &event);
 
175
        void OnRefreshLocksTimer(wxTimerEvent &event);
 
176
        void OnRefreshXactTimer(wxTimerEvent &event);
 
177
        void OnRefreshLogTimer(wxTimerEvent &event);
 
178
 
 
179
        void SetColumnImage(ctlListView *list, int col, int image);
 
180
        void OnSortStatusGrid(wxListEvent &event);
 
181
        void OnSortLockGrid(wxListEvent &event);
 
182
        void OnSortXactGrid(wxListEvent &event);
 
183
 
 
184
        void OnRightClickStatusGrid(wxListEvent &event);
 
185
        void OnRightClickLockGrid(wxListEvent &event);
 
186
        void OnRightClickXactGrid(wxListEvent &event);
 
187
 
 
188
        void OnStatusMenu(wxCommandEvent &event);
 
189
        void OnLockMenu(wxCommandEvent &event);
 
190
        void OnXactMenu(wxCommandEvent &event);
 
191
 
 
192
        void OnChgColSizeStatusGrid(wxListEvent &event);
 
193
        void OnChgColSizeLockGrid(wxListEvent &event);
 
194
        void OnChgColSizeXactGrid(wxListEvent &event);
 
195
 
 
196
        void OnRateChange(wxCommandEvent &event);
 
197
 
 
198
        void OnPaneClose(wxAuiManagerEvent &evt);
 
199
 
 
200
        void OnClose(wxCloseEvent &event);
 
201
        void OnRefresh(wxCommandEvent &event);
 
202
        void OnCancelBtn(wxCommandEvent &event);
 
203
        void OnStatusCancelBtn(wxCommandEvent &event);
 
204
        void OnLocksCancelBtn(wxCommandEvent &event);
 
205
        void OnTerminateBtn(wxCommandEvent &event);
 
206
        void OnStatusTerminateBtn(wxCommandEvent &event);
 
207
        void OnLocksTerminateBtn(wxCommandEvent &event);
189
208
        void OnSelStatusItem(wxListEvent &event);
190
209
        void OnSelLockItem(wxListEvent &event);
191
 
    void OnSelXactItem(wxListEvent &event);
192
 
    void OnSelLogItem(wxListEvent &event);
 
210
        void OnSelXactItem(wxListEvent &event);
 
211
        void OnSelLogItem(wxListEvent &event);
193
212
        void OnLoadLogfile(wxCommandEvent &event);
194
 
    void OnRotateLogfile(wxCommandEvent &event);
195
 
    void OnCommit(wxCommandEvent &event);
196
 
    void OnRollback(wxCommandEvent &event);
197
 
 
198
 
    void OnChangeDatabase(wxCommandEvent &ev);
199
 
 
200
 
    int fillLogfileCombo();
201
 
    void emptyLogfileCombo();
202
 
 
203
 
    void addLogFile(wxDateTime *dt, bool skipFirst);
204
 
    void addLogFile(const wxString &filename, const wxDateTime timestamp, long len, long &read, bool skipFirst);
205
 
    void addLogLine(const wxString &str, bool formatted=true, bool csv_log_format=false);
 
213
        void OnRotateLogfile(wxCommandEvent &event);
 
214
        void OnCommit(wxCommandEvent &event);
 
215
        void OnRollback(wxCommandEvent &event);
 
216
 
 
217
        void OnChangeDatabase(wxCommandEvent &ev);
 
218
 
 
219
        int fillLogfileCombo();
 
220
        void emptyLogfileCombo();
 
221
 
 
222
        void addLogFile(wxDateTime *dt, bool skipFirst);
 
223
        void addLogFile(const wxString &filename, const wxDateTime timestamp, long len, long &read, bool skipFirst);
 
224
        void addLogLine(const wxString &str, bool formatted = true, bool csv_log_format = false);
206
225
 
207
226
        void checkConnection();
208
 
    
209
 
    DECLARE_EVENT_TABLE()
 
227
 
 
228
        DECLARE_EVENT_TABLE()
210
229
};
211
230
 
212
231
 
213
232
class serverStatusFactory : public actionFactory
214
233
{
215
234
public:
216
 
    serverStatusFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
217
 
    wxWindow *StartDialog(frmMain *form, pgObject *obj);
218
 
    bool CheckEnable(pgObject *obj);
 
235
        serverStatusFactory(menuFactoryList *list, wxMenu *mnu, ctlMenuToolbar *toolbar);
 
236
        wxWindow *StartDialog(frmMain *form, pgObject *obj);
 
237
        bool CheckEnable(pgObject *obj);
219
238
};
220
239
 
221
240
#endif