ksetiwatch.h
Go to the documentation of this file.00001 /***************************************************************************/ 00014 #ifndef KSETIWATCH_H 00015 #define KSETIWATCH_H 00016 00017 #include <qlist.h> 00018 00019 #include <kmainwindow.h> 00020 00021 #include "setidefs.h" 00022 00023 class KTabCtl; 00024 class QListViewItem; 00025 class QPopupMenu; 00026 class Analysis; 00027 class DataInfo; 00028 class UserInfo; 00029 class CompletedWUList; 00030 class Options; 00031 class About; 00032 class DockWidget; 00033 class SetiLoc; 00034 00036 class KswOptions 00037 { 00038 public: 00039 int RefreshInterval; 00043 int StatusFilterValue; 00046 bool hms; 00049 bool MinimizeToPanel; 00051 bool StartMinimized; 00053 bool DrawGrid; 00055 QString SelectedLocation; 00059 bool ReportSpike; 00061 bool ReportGaussian; 00063 bool ReportPulse; 00065 bool ReportTriplet; 00067 bool ShowRecords; 00069 WUScore Record; 00072 bool ShowText; 00074 bool FillMarker; 00076 int MarkerSize; 00078 bool PlaySound; 00080 QString HighSignalSound; 00082 }; 00083 00085 #define globalopts Ksetiwatch::globalOptions() 00086 00093 class KsetiwatchApp : public KApplication 00094 { 00095 Q_OBJECT 00096 00097 public: 00104 KsetiwatchApp(bool allowStyles = true, bool GUIEnabled = true); 00106 ~KsetiwatchApp(); 00114 void commitData(QSessionManager& sm); 00116 bool closedBySessionManager() {return(sessionClose);} 00117 00118 private: 00119 bool sessionClose; 00120 }; 00121 00130 class Ksetiwatch : public KMainWindow 00131 { 00132 Q_OBJECT 00133 00134 public: 00137 struct TableColumn { 00138 QString text; 00140 int width; 00143 int alignment; 00146 }; 00147 00152 Ksetiwatch(const char* name=0); 00154 ~Ksetiwatch(); 00159 bool startMinimized() {return globalopts->StartMinimized;} 00170 static SetiLoc* getLocation(const QString& name); 00176 static QList<SetiLoc>& locationList() {return(Ksetiwatch::SetiList);} 00181 static KswOptions* globalOptions() {return(&Ksetiwatch::GlobalOptions);} 00190 enum ListId {ListAdd, ListEdit, ListDelete, ListRemove}; 00191 00192 public slots: // Public slots 00201 void slotUpdateList(SetiLoc* loc, int type); 00203 void close(); 00204 00205 protected: 00209 bool event(QEvent *e); 00216 bool queryClose(); 00222 bool queryExit(); 00228 void startClients(); 00234 void stopClients(); 00235 00236 private: 00237 static QList<SetiLoc> SetiList; 00238 static KswOptions GlobalOptions; 00239 KTabCtl* ktb; 00240 Analysis* ana; 00241 DataInfo* di; 00242 UserInfo* ui; 00243 CompletedWUList* cwu; 00244 Options* opt; 00245 About* abt; 00246 DockWidget* ksdock; 00247 QPopupMenu* dockrightpopup; 00248 bool readyToQuit; 00249 bool locListCleared; 00250 00251 private slots: 00253 void saveConfig(); 00255 void readConfig(); 00257 void handleTabSelection(int); 00259 void toggleIcon(); 00260 00261 signals: // Signals 00268 void listModified(SetiLoc*, int); 00269 }; 00270 #endif

