/* * Title: PupeDiagnosticsWin.h * Author: M.Thomas BEAM Ltd * Date: 2007-02-13 * * Contents: Pupe Diagnostics window * * Mod Rec: * */ #ifndef PUPEDIAGNOSTICSWIN_H #define PUPEDIAGNOSTICSWIN_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef struct { char* name; int startBit; int nBits; bool isSigned; double gain; } PupeDiagBitDefinition; /*! Configure System and setup user interface window. * */ class PupeDiagnosticsWin : public QHBox { Q_OBJECT public: PupeDiagnosticsWin(QWidget* w,Control& c); ~PupeDiagnosticsWin(); public slots: void show(); ///< Update and make the widget visible private slots: void refresh(); void saveFile(); private: void setXAxisLabel(); void setGraphHeights(int numGraphs); void setPlotData(); void updateGraphs(PupeDiagBitDefinition defs[]); bool eventFilter(QObject *o, QEvent *e ); void warningDialog(BString title, BError err); void writeFile(PupeDiagBitDefinition defs[]); BArray extractBitLinear(PupeDiagBitDefinition def); Control& ocontrol; BArray< UInt64 > odata; BList oplots; QSpinBox* ochannel; BQComboBox* osource; BQComboBox* oclock; QCheckBox* otriggerSourceData; QCheckBox* otriggerAnd; QCheckBox* otriggerStore; QCheckBox* okst; QLineEdit* ostartTime; QLineEdit* opostTriggerDelay; QLineEdit* otriggerMask; QCheckBox* oClock; QCheckBox* oCycleStart; QCheckBox* oCycleStop; QCheckBox* oCalStart; QCheckBox* oCalStop; QCheckBox* oInjection; QCheckBox* oHChange; QCheckBox* oFref; QPushButton* orefreshButton; QPushButton* osaveButton; BGraphControlBasic* ographControls; BFile ofile; }; #endif