~ubuntu-branches/ubuntu/utopic/knutclient/utopic

« back to all changes in this revision

Viewing changes to knutclient/knutmainwindow.h

  • Committer: Bazaar Package Importer
  • Author(s): Arnaud Quette
  • Date: 2008-06-19 11:09:50 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20080619110950-izi2q2vd0dhwlpym
Tags: 0.9.4-1
* New upstream release
* Merge back Ubuntu changes
* debian/knutclient.menu: update section to fix lintian warnings
* debian/watch: update the pattern for matching new releases (Closes: #471247)
* debian/control:
  - move Homepage to the field and update the URL
  - update Standards-Version to 3.8.0
  - update debhelper Build-Depends to 5.0.51
  - add automake and autoconf to Build-Depends
  - update NUT URL
* debian/rules:
  - fix lintian warning debian-rules-ignores-make-clean-error
  - add a commented call to dh_icons

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
                          knutmainwindow.h  -  description
3
 
                             -------------------
4
 
    begin                : Po cen 16 2003
5
 
    copyright            : (C) 2003 by Daniel Prynych
6
 
    email                : Daniel.Prynych@alo.cz
7
 
 ***************************************************************************/
8
 
 
9
 
/***************************************************************************
10
 
 *                                                                         *
11
 
 *   This program is free software; you can redistribute it and/or modify  *
12
 
 *   it under the terms of the GNU General Public License as published by  *
13
 
 *   the Free Software Foundation; either version 2 of the License, or     *
14
 
 *   (at your option) any later version.                                   *
15
 
 *                                                                         *
16
 
 ***************************************************************************/
17
 
 
18
 
#ifndef KNUTMAINWINDOW_H
19
 
#define KNUTMAINWINDOW_H
20
 
 
21
 
 
22
 
#ifdef HAVE_CONFIG_H
23
 
#include <config.h>
24
 
#endif
25
 
 
26
 
#include "knutprefdlg.h"
27
 
#include "knutupsdata.h"
28
 
#include "knutvardata.h"
29
 
#include "knutfrontpanel.h"
30
 
#include "knutnet.h"
31
 
#include "kanalog.h"
32
 
#include "knutpanelmeter.h"
33
 
 
34
 
#include <kapp.h>
35
 
#include <kmainwindow.h>
36
 
#include <kaction.h>
37
 
 
38
 
 
39
 
#include <qwidget.h>
40
 
#include <qdatetime.h>
41
 
#include <qstringlist.h>
42
 
#include <qprogressbar.h>
43
 
#include <qsplitter.h>
44
 
 
45
 
 
46
 
/**
47
 
  *@author Daniel Prynych
48
 
  */
49
 
 
50
 
/** Trida slouzi pro zobrazeni okna s informacemi o UPS.
51
 
 *
52
 
 * @author Daniel Prynych
53
 
 * @short Hlavni okno
54
 
 * @version 0.2.2
55
 
 */
56
 
class KNutMainWindow : public KMainWindow {
57
 
  Q_OBJECT
58
 
  public:
59
 
 
60
 
/**
61
 
 * Konstruktor - vytvori hlavni okno.
62
 
 *
63
 
 * @param tListKNutEvent ukazatel na QStringList obsahuje textove udaje o udalostech (ztrata spojeni, prepnuti atd.)
64
 
 * @param tActiveUpsInfo ukazatel na data o aktivni UPS
65
 
 * @param tSettingData ukazatel na zakladni data programu (barvy pozadi, mezikruzi, rucicky ... ,fonty atd )
66
 
 * @param tAnalogRecords ukazatel na tridu ktera pracuje s daty o upsekach
67
 
 *
68
 
 * @since  0.3.1
69
 
 **/
70
 
   KNutMainWindow(QStringList* tListKNutEvent, struct upsInfo* tActiveUpsInfo, SettingDataDef* tSettingData, KNutUpsData* tUpsRecords, KNutVarData* tAnalogRecords, QWidget* parent=0,const char *name=0);
71
 
 
72
 
/**
73
 
 * Destruktor
74
 
 *
75
 
 * @since  0.1.1
76
 
 **/
77
 
    ~KNutMainWindow();
78
 
 
79
 
/**
80
 
 * Prekresli informace hlavniho panelu.
81
 
 *
82
 
 * @since  0.1.2
83
 
 **/
84
 
  void repaintPanel(void);
85
 
 
86
 
 
87
 
/**
88
 
 * Prekresli analogove panely na zaklade jejich stavu.
89
 
 *
90
 
 * @since  0.3
91
 
 **/
92
 
  void repaintAnalogs (void);
93
 
 
94
 
/**
95
 
 * Da prikaz k prekresleni analogovych panelu, hlavniho panelu a nastavi jejich hodnoty na
96
 
 * zaklade XFer hodnot.
97
 
 *
98
 
 * @since  0.3.1
99
 
 **/
100
 
  void showUpsData (void);
101
 
 
102
 
 
103
 
/**
104
 
 * Prida dalsi radku do seznamu udalosti a zobrazi je v dolni casti panelu.
105
 
 *
106
 
 * @param text udava text udalosti.
107
 
 * @param name udava jmeno UPS-ky tak jak je vedena v seznamu UPS-ek tohoto programu
108
 
 *
109
 
 * @since  0.1
110
 
 **/
111
 
  void addComboStatusItem (const QString text, const QString name = QString::null);
112
 
 
113
 
/**
114
 
 * Prestavi hlavni panel na zaklade hodnotu changeSetting.
115
 
 * Tuto hodnotu generuje konfiguracni okno.
116
 
 *
117
 
 * @param changeSetting udava jake nstaveni bylo zmeneno.
118
 
 *
119
 
 * @since  0.1.2
120
 
 **/
121
 
  void setConfig (unsigned int changeSetting);
122
 
 
123
 
/**
124
 
 * Nastavi Combo (pro jmeno UPSky).
125
 
 *
126
 
 * &param name je jmeno UPSky ktere bude nastavena.
127
 
 *
128
 
 * @since  0.1
129
 
 **/
130
 
  void setCombo(QString name);
131
 
  
132
 
/**
133
 
 * Nastavi vsechny panely na nulovo hodnotu
134
 
 *
135
 
 * @since  0.2
136
 
 **/
137
 
  void zeroingPanels (void);
138
 
 
139
 
 
140
 
  
141
 
  signals:
142
 
/**
143
 
 * Tento signal je vyslan pokud byla vybrana jina UPS-ka.
144
 
 *
145
 
 * @since  0.1
146
 
 **/
147
 
  void UPSChanged (QString);
148
 
 
149
 
/**
150
 
 * Tento signal je vyslan pokud byl z menu zadan pozadavek na zobrazeni okna
151
 
 * pro nastaveni programu (preference).
152
 
 *
153
 
 * @since  0.1
154
 
 **/
155
 
  void preferenceUps (void);
156
 
 
157
 
/**
158
 
 * Tento signal je vyslan pokud byl z menu zadan pozadavek na zobrazeni seznamu promennych.
159
 
 *
160
 
 * @since  0.1
161
 
 **/
162
 
  void showUPSVars (void);
163
 
 
164
 
/**
165
 
 * Tento signal je vyslan pokud byl z menu zadan pozadavek na zmenu RW promennych.
166
 
 * This signal is emited when request for change RW varianles was orederd from menu.
167
 
 *
168
 
 * @since  0.1
169
 
 **/
170
 
  void makeRWVars(void);
171
 
 
172
 
 
173
 
/**
174
 
 * Tento signal je vyslan pokud byl z menu vybran pozadavek na obnovu spojeni.
175
 
 * This signal is emited when request for refresh connection was selected from menu.
176
 
 *
177
 
 * @since  0.1
178
 
 **/
179
 
  void makeRefreshConnection(void);  
180
 
 
181
 
/**
182
 
 * Tento signal je vyslan pokud byl z menu zadan pozadavek na provedeni okamzitych prikazu.
183
 
 *
184
 
 * @since  0.1
185
 
 **/
186
 
  void makeInstComms(void);
187
 
 
188
 
/**
189
 
 * Tento signal je vyslan pokud byl z menu zadan pozadavek na ukonceni cele aplikace.
190
 
 *
191
 
 * @since  0.1
192
 
 **/
193
 
 void endApplication();
194
 
  
195
 
 
196
 
  private slots:
197
 
  void slotDescription(void);
198
 
  void slotShowToolBar(void);
199
 
  void slotShowStatusBar(void);
200
 
  void slotPreferencesUps(void);
201
 
  void slotPrintUPSVars(void);
202
 
  void slotInstComms(void);
203
 
  void slotRWVars(void);
204
 
  void slotChangeRWVars ( QString varName);
205
 
  void closeEvent( QCloseEvent *e );
206
 
  void slotCloseKnutClient (void);
207
 
  void slotChangeUPS (const QString &name);
208
 
  void slotConfigureKeys(void);
209
 
  void slotRefreshConnection(void);
210
 
 
211
 
 
212
 
  private:
213
 
/************** private functions ************************/
214
 
 
215
 
  void activeConfiguration (void);
216
 
  int activeMainCombo (void);
217
 
  void hideUpsData (void);
218
 
 
219
 
/************ inicializacni funkce ********************/
220
 
  void initVars ( void );
221
 
  void initAction ( void );
222
 
  void initStatusBar ( void );
223
 
  void initToolBar ( void );
224
 
  void initStatusBarMessage ( void );
225
 
 
226
 
 
227
 
/************** private vars **************************/
228
 
// Nazvy promenych UPS cislovany jsou od 0 do 10 "NONE", "UTILITY", "BATTPCT", "UPSTEMP", "ACFREQ", "LOADPCT", "AMBTEMP", "AMBHUMID", "BATTVOLT", "OUTVOLT", "CURRENT"
229
 
 
230
 
  struct upsInfo* activeUpsInfo; // hodnoty pro vybrane ups
231
 
  SettingDataDef* settingData;  // v teto strukture jsou ulozeny promene ktere nastavuji konfiguraci
232
 
 
233
 
  KAction *quit;
234
 
  KAction *preferencesUps;
235
 
  KToggleAction *descriptionAction;
236
 
 
237
 
  KNutPrefDlg* prefDlg;
238
 
  KNutUpsData* upsRecords;
239
 
  KNutVarData* analogRecords;
240
 
 
241
 
  int activeUpsIndex;
242
 
  QLabel* area; // hlavni plocha na ni umistime panel a analogove ukazatele
243
 
 
244
 
  QSplitter* mainSplit;
245
 
  KNutFrontPanel* frontPanel;
246
 
 
247
 
  // nactene hodnoty promenych UPS, tyto promene se ctou jen jednou
248
 
  QString manufacturer, upsModel, serial, firmrev;
249
 
  bool existLowHighXfer;
250
 
  float lowXfer, highXfer;
251
 
  QPalette mainPalette, areaPalette, mPanelPalette, aPanelPalette;
252
 
 
253
 
  // Combo a pomocne struktury pro dolni radku
254
 
  KComboBox *infoCombo;
255
 
 
256
 
  QStringList *listKNutEvent;
257
 
 
258
 
  KNutPanelMeter* panelMeter;
259
 
  };
260
 
#endif
261