SpikeStream Application Library
0.2
|
00001 #ifndef ABSTRACTANALYSISWIDGET_H 00002 #define ABSTRACTANALYSISWIDGET_H 00003 00004 //SpikeStream includes 00005 #include "AnalysisRunner.h" 00006 using namespace spikestream; 00007 00008 //Qt includes 00009 #include <QComboBox> 00010 #include <QToolBar> 00011 #include <QWidget> 00012 00013 namespace spikestream { 00014 00017 class AbstractAnalysisWidget : public QWidget { 00018 Q_OBJECT 00019 00020 public: 00021 AbstractAnalysisWidget(QWidget* parent); 00022 virtual ~AbstractAnalysisWidget(); 00023 virtual void hideAnalysisResults() = 0; 00024 00025 protected slots: 00026 virtual void archiveChanged(); 00027 void checkToolBarEnabled(); 00028 void fixTimeStepSelection(int); 00029 virtual void exportAnalysis() = 0; 00030 virtual QString getAnalysisName() = 0; 00031 virtual void loadAnalysis(); 00032 void loadArchiveTimeStepsIntoCombos(); 00033 virtual void networkChanged(); 00034 virtual void newAnalysis() = 0; 00035 virtual void plotGraphs() = 0; 00036 virtual void selectParameters(); 00037 virtual void startAnalysis() = 0; 00038 virtual void stopAnalysis(); 00039 virtual void threadFinished(); 00040 virtual void updateResults() = 0; 00041 00042 00043 protected: 00044 //======================= VARIABLES ======================== 00046 QToolBar* toolBar; 00047 00049 QComboBox* fromTimeStepCombo; 00050 00052 QComboBox* toTimeStepCombo; 00053 00055 AnalysisRunner* analysisRunner; 00056 00058 AnalysisInfo analysisInfo; 00059 00061 int currentTask; 00062 00064 static const int UNDEFINED_TASK = 0; 00065 00067 static const int ANALYSIS_TASK = 1; 00068 00069 00070 //========================== METHODS ======================== 00071 QToolBar* getDefaultToolBar(); 00072 int getFirstTimeStep(); 00073 int getLastTimeStep(); 00074 QStringList getTimeStepList(unsigned int min, unsigned int max); 00075 virtual void initializeAnalysisInfo() = 0; 00076 }; 00077 00078 } 00079 00080 #endif//ABSTRACTANALYSISWIDGET_H 00081