#ifndef CTA_ACTL_CDTS_SIMULATOR_VIEWER #define CTA_ACTL_CDTS_SIMULATOR_VIEWER #include #include #include #include #include #include #include #include namespace CTA { namespace ACTL { namespace CDTS { class Simulator; typedef std::shared_ptr Simulator_ptr; class SimulatorFrame : public TGVerticalFrame { public: SimulatorFrame(const TGWindow& pParent, const Simulator_ptr& pSimulator, uint16_t pWidth = 650, uint16_t pHeight = 200); virtual ~SimulatorFrame(); void StartStopClicked(); // *SIGNAL* void FrequencyEntryChanged(); // *SIGNAL* void FrequencySliderChanged(); // *SIGNAL* void RMSEntryChanged(); // *SIGNAL* void RMSSliderChanged(); // *SIGNAL* void BunchCounterErrorClicked(); // *SIGNAL* void EventCounterErrorClicked(); // *SIGNAL* void TimeStampMissingClicked(); // *SIGNAL* void SecondErrorClicked(); // *SIGNAL* void PicoSecondErrorClicked(); // *SIGNAL* private: Simulator_ptr fSimulator; Hints fHints; TGHorizontalFrame fMainFrame; TGTextButton fStartStopButton; TGLabel fFrequencyLabel; TGNumberEntry fFrequencyEntry; TGHSlider fFrequencySlider; TGLabel fRMSLabel; TGNumberEntry fRMSEntry; TGHSlider fRMSSlider; TGHorizontalFrame fErrorFrame; TGCheckButton fBunchCounterErrorButton; TGCheckButton fEventCounterErrorButton; TGCheckButton fTimeStampMissingButton; TGCheckButton fSecondErrorButton; TGCheckButton fPicoSecondErrorButton; ClassDef(SimulatorFrame, 0) }; class SimulatorViewer : public TGMainFrame { public: typedef std::vector Simulators; SimulatorViewer(const Simulators& pSimulators, const std::string& pName = "UCTS Simulator", uint16_t pWidth = 650, uint16_t pHeight = 200); virtual ~SimulatorViewer() {} private: typedef std::shared_ptr SimulatorFrame_ptr; typedef std::vector Frames; Hints fHints; Frames fFrames; ClassDef(SimulatorViewer, 0) }; } } } #endif