source: trunk/FACT++/gui/MainWindow.h@ 11105

Last change on this file since 11105 was 11102, checked in by tbretz, 14 years ago
Added possibility to set the clock conditioner's frequency for some selected frequency.
File size: 3.7 KB
Line 
1#ifndef FACT_MainWindow
2#define FACT_MainWindow
3
4#include "design.h"
5
6#include <QMainWindow>
7
8class TObject;
9class TCanvas;
10
11class MainWindow : public QMainWindow, protected Ui::MainWindow
12{
13 Q_OBJECT;
14
15 void MakeLEDs(QPushButton **arr, QGridLayout *lay, const char *slot) const;
16
17 void SelectTab(const QString &name);
18 void SetTriggerSequence();
19 void SetTriggerCoincidence();
20 void SetCalibCoincidence();
21
22protected:
23 QPushButton *fFtuLED[40];
24 QPushButton *fFadLED[40];
25
26 bool fInHandler;
27
28public:
29 MainWindow(QWidget *p=0);
30
31private slots:
32 // System status
33 void on_fShutdown_clicked();
34 void on_fShutdownAll_clicked();
35
36 // Status LEDs signals
37 void on_fStatusFTULed_clicked();
38 void on_fStatusFTMLed_clicked();
39 void on_fStatusFADLed_clicked();
40 void on_fStatusLoggerLed_clicked();
41 void on_fStatusChatLed_clicked();
42 //void on_fStatusFTMEnable_stateChanged(int state);
43
44 // Tab Widget
45 void on_fTabWidget_tabCloseRequested(int which);
46 virtual void on_fTabWidget_currentChanged(int) { }
47
48 // Tab: FTM
49 void on_fEnableTrigger_stateChanged(int);
50 void on_fEnableExt1_stateChanged(int);
51 void on_fEnableExt2_stateChanged(int);
52 void on_fEnableClockCond_stateChanged(int);
53 void on_fEnableVeto_stateChanged(int);
54
55 void on_fTriggerSeqPed_valueChanged(int) { SetTriggerSequence(); }
56 void on_fTriggerSeqLPint_valueChanged(int) { SetTriggerSequence(); }
57 void on_fTriggerSeqLPext_valueChanged(int) { SetTriggerSequence(); }
58
59 void on_fPhysicsCoincidence_valueChanged(int);
60 void on_fPhysicsWindow_valueChanged(int);
61 void on_fCalibCoincidence_valueChanged(int);
62 void on_fCalibWindow_valueChanged(int);
63
64 void on_fTriggerInterval_valueChanged(int);
65 void on_fTriggerDelay_valueChanged(int);
66 void on_fTimeMarkerDelay_valueChanged(int);
67 void on_fDeadTime_valueChanged(int);
68/*
69 void on_fClockCondR0_valueChanged(int) { }
70 void on_fClockCondR1_valueChanged(int) { }
71 void on_fClockCondR8_valueChanged(int) { }
72 void on_fClockCondR9_valueChanged(int) { }
73 void on_fClockCondR11_valueChanged(int) { }
74 void on_fClockCondR13_valueChanged(int) { }
75 void on_fClockCondR14_valueChanged(int) { }
76 void on_fClockCondR15_valueChanged(int) { }
77*/
78 void on_fPrescalingVal_valueChanged(int);
79
80 void on_fClockCondFreq_activated(int);
81
82 // Tab: FTUs
83 void slot_fFtuLED_clicked();
84 void on_fFtuPing_toggled(bool);
85 void on_fFtuAllOn_clicked();
86 void on_fFtuAllOff_clicked();
87
88 // Tab: Rates
89 virtual void on_fPixelEnable_stateChanged(int) { }
90 virtual void on_fThresholdVal_valueChanged(int) { }
91 virtual void on_fThresholdIdx_valueChanged(int) { }
92 virtual void on_fThresholdCrate_valueChanged(int) { }
93 virtual void on_fThresholdBoard_valueChanged(int) { }
94 virtual void on_fThresholdPatch_valueChanged(int) { }
95 virtual void on_fPixelIdx_valueChanged(int) { }
96
97 void on_fPixelEnableAll_clicked();
98 void on_fPixelDisableAll_clicked();
99
100 virtual void on_fPixelDisableOthers_clicked() { }
101 virtual void on_fThresholdDisableOthers_clicked() { }
102
103 virtual void on_fRatePatch1_valueChanged(int) { }
104 virtual void on_fRatePatch2_valueChanged(int) { }
105 virtual void on_fRateBoard1_valueChanged(int) { }
106 virtual void on_fRateBoard2_valueChanged(int) { }
107
108 // Tab: FADs
109 void slot_fFadLED_clicked() { }
110
111 // Tab: Chat
112 void on_fChatSend_clicked();
113
114 // Tab: Commands
115 /// Needs access to DimNetwork thus it is implemented in the derived class
116 virtual void on_fDimCmdSend_clicked() { }
117
118 // Main menu
119 // void on_fMenuLogSaveAs_triggered(bool)
120
121 virtual void slot_RootEventProcessed(TObject *, unsigned int, TCanvas *) { }
122 virtual void slot_RootUpdate() { }
123
124 void slot_TimeUpdate();
125};
126
127#endif
Note: See TracBrowser for help on using the repository browser.