SpikeStream Application Library  0.2
AbstractExperimentWidget.h
Go to the documentation of this file.
00001 #ifndef ABSTRACTEXPERIMENT_H
00002 #define ABSTRACTEXPERIMENT_H
00003 
00004 //SpikeStream includes
00005 #include "ParameterInfo.h"
00006 
00007 //Qt includes
00008 #include <QHash>
00009 #include <QPushButton>
00010 #include <QToolBar>
00011 #include <QWidget>
00012 
00013 namespace spikestream {
00014 
00015         class AbstractExperimentWidget : public QWidget {
00016                 Q_OBJECT
00017 
00018                 public:
00019                         AbstractExperimentWidget(QWidget* parent= 0);
00020                         virtual ~AbstractExperimentWidget();
00021                         virtual void setWrapper(void* wrapper) = 0;
00022 
00023 
00024                 signals:
00025                         void experimentStarted();
00026                         void experimentEnded();
00027 
00028 
00029                 protected slots:
00030                         void parametersButtonClicked();
00031                         virtual void startExperiment() = 0;
00032                         virtual void stopExperiment() = 0;
00033 
00034 
00035                 protected:
00036                         //=====================  VARIABLES  =======================
00038                         QAction* playAction;
00039 
00041                         QAction* stopAction;
00042 
00044                         QPushButton* parametersButton;
00045 
00047                         QHash<QString, double> parameterMap;
00048 
00050                         QHash<QString, double> defaultParameterMap;
00051 
00053                         QList<ParameterInfo> parameterInfoList;
00054 
00055 
00056                         //======================  METHODS  ========================
00057                         virtual void buildParameters() = 0;
00058                         QToolBar* getToolBar();
00059 
00060                 private:
00062                         bool parametersBuilt;
00063 
00064         };
00065 
00066 }
00067 #endif//ABSTRACTEXPERIMENT_H
00068 
 All Classes Files Functions Variables Typedefs Friends Defines