diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /src/pmchart/pmchart.h | |
download | pcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'src/pmchart/pmchart.h')
-rw-r--r-- | src/pmchart/pmchart.h | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/src/pmchart/pmchart.h b/src/pmchart/pmchart.h new file mode 100644 index 0000000..381ccdc --- /dev/null +++ b/src/pmchart/pmchart.h @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2012-2014, Red Hat. + * Copyright (c) 2007-2008, Aconex. All Rights Reserved. + * + * 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. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + */ +#ifndef PMCHART_H +#define PMCHART_H + +#include "ui_pmchart.h" +#include "statusbar.h" +#include <qmc_time.h> + +class TimeAxis; +class NameSpace; +class TabDialog; +class InfoDialog; +class ChartDialog; +class ExportDialog; +class SearchDialog; +class SamplesDialog; +class OpenViewDialog; +class SaveViewDialog; +class SettingsDialog; + +class PmChart : public QMainWindow, public Ui::PmChart +{ + Q_OBJECT + +public: + PmChart(); + + typedef enum { + DebugApp = 0x1, + DebugUi = 0x1, + DebugProtocol = 0x2, + DebugView = 0x4, + DebugTimeless = 0x8, + DebugForce = 0x10, + } DebugOptions; + + static int defaultFontSize(); + static const char *defaultFontFamily() { return "Sans Serif"; } + static double defaultChartDelta() { return 1.0; } // seconds + static double defaultLoggerDelta() { return 1.0; } + static int defaultVisibleHistory() { return 60; } // points + static int defaultSampleHistory() { return 180; } + static int defaultTimeout() { return 8000; } // milliseconds + static int minimumPoints() { return 2; } + static int maximumPoints() { return 720; } + static int maximumLegendLength() { return 120; } // chars + static int minimumChartHeight() { return 80; } // pixels + + Tab *activeTab() { return chartTabWidget->activeTab(); } + void setActiveTab(int index, bool redisplay); + void addActiveTab(Tab *tab); + bool isArchiveTab(); + bool isTabRecording(); + TabWidget *tabWidget() { return chartTabWidget; } + TimeAxis *timeAxis() { return my.statusBar->timeAxis(); } + QLabel *dateLabel() { return my.statusBar->dateLabel(); } + Chart *acceptNewChart(); + + virtual void step(bool livemode, QmcTime::Packet *pmtime); + virtual void VCRMode(bool livemode, QmcTime::Packet *pmtime, bool drag); + virtual void timeZone(bool livemode, QmcTime::Packet *pmtime, char *tzdata); + virtual void setStyle(char *style); + virtual void updateHeight(int); + virtual void metricInfo(QString src, QString m, QString inst, int srcType); + virtual void metricSearch(QTreeWidget *pmns); + virtual void createNewTab(bool liveMode); + virtual void setValueText(QString &text); + virtual void setDateLabel(QString label); + virtual void setDateLabel(time_t seconds, QString tz); + virtual void setButtonState(QedTimeButton::State state); + virtual void setRecordState(bool recording); + + virtual void updateToolbarContents(); + virtual void updateToolbarLocation(); + virtual QList<QAction*> toolbarActionsList(); + virtual QList<QAction*> enabledActionsList(); + virtual void setupEnabledActionsList(); + virtual void addSeparatorAction(); + virtual void setEnabledActionsList(QStringList tools, bool redisplay); + + virtual void newScheme(); // request new scheme of settings dialog + virtual void newScheme(QString); // reply back to requesting dialog(s) + virtual void updateBackground(); + virtual void updateFont(const QString &family, const QString &style, int size); + + void painter(QPainter *qp, int pw, int ph, bool transparent, bool currentOnly); + + // Adjusted height for exporting images (without UI elements) + int exportHeight() + { return height() - menuBar()->height() - toolBar->height(); } + +public slots: + virtual void init(); + virtual void quit(); + virtual void enableUi(); + virtual void exportFile(); + virtual void setupDialogs(); + virtual void fileOpenView(); + virtual void fileSaveView(); + virtual void fileExport(); + virtual void acceptExport(); + virtual void filePrint(); + virtual void fileQuit(); + virtual void helpManual(); + virtual void helpAbout(); + virtual void helpAboutQt(); + virtual void helpSeeAlso(); + virtual void whatsThis(); + virtual void optionsShowTimeControl(); + virtual void optionsHideTimeControl(); + virtual void optionsToolbar(); + virtual void optionsConsole(); + virtual void optionsNewPmchart(); + virtual void fileNewChart(); + virtual void editChart(); + virtual void acceptEditChart(); + virtual void closeChart(); + virtual void editTab(); + virtual void acceptEditTab(); + virtual void editSamples(); + virtual void acceptEditSamples(); + virtual void addTab(); + virtual void acceptNewTab(); + virtual void closeTab(); + virtual void activeTabChanged(int); + virtual void editSettings(); + virtual void recordStart(); + virtual void recordQuery(); + virtual void recordStop(); + virtual void recordDetach(); + virtual void timeout(); + virtual void zoomIn(); + virtual void zoomOut(); + virtual void updateToolbarOrientation(Qt::Orientation); + +protected slots: + virtual void languageChange(); + virtual void closeEvent(QCloseEvent *); + +private: + struct { + bool dialogsSetup; + bool toolbarHidden; + bool consoleHidden; + + TabDialog *newtab; + TabDialog *edittab; + InfoDialog *info; + ChartDialog *newchart; // shared by New and Edit Chart actions + ExportDialog *exporter; + SearchDialog *search; + SamplesDialog *samples; + OpenViewDialog *openview; + SaveViewDialog *saveview; + SettingsDialog *settings; + + QList<QAction*> separatorsList; // separator follow these + QList<QAction*> toolbarActionsList; // all toolbar actions + QList<QAction*> enabledActionsList; // currently visible actions + + int timeAxisRightAlign; + StatusBar *statusBar; + } my; + + void editTab(int index); +}; + +#endif // PMCHART_H |