30 TGGroupFrame* animCtrl =
new TGGroupFrame(
fTab, GetName());
31 animCtrl->SetTitlePos(TGGroupFrame::kCenter);
36 animCtrl->AddFrame(
fStartButton,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 5, 5, 5, 5));
42 TGCompositeFrame* frAnimType =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
43 TGLabel* gAnimType =
new TGLabel(frAnimType,
"Animation type:");
44 frAnimType->AddFrame(gAnimType,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 1, 1));
45 fTypeOpt =
new TGComboBox(frAnimType);
50 frAnimType->AddFrame(
fTypeOpt,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
51 animCtrl->AddFrame(frAnimType,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
52 fTypeOpt->Connect(
"Selected (Int_t,Int_t)", this->ClassName(),
this,
"UpdateEnaDisButtons()");
54 TGCompositeFrame* frSelAnimFrameSec =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
55 TGLabel* gLabelFrameSec =
new TGLabel(frSelAnimFrameSec,
"Frame length (s):");
56 frSelAnimFrameSec->AddFrame(gLabelFrameSec,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
57 fAnimFrameSec =
new TGNumberEntry(frSelAnimFrameSec, 5.0, 6, -1, TGNumberFormat::kNESReal,
58 TGNumberFormat::kNEANonNegative, TGNumberFormat::kNELLimitMin, 0);
60 frSelAnimFrameSec->AddFrame(
fAnimFrameSec,
new TGLayoutHints(kLHintsRight | kLHintsExpandX));
61 animCtrl->AddFrame(frSelAnimFrameSec,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
65 TGCompositeFrame* frSelEvtMin =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
66 TGLabel* gLabelEvtMin =
new TGLabel(frSelEvtMin,
"Min Evt:");
67 frSelEvtMin->AddFrame(gLabelEvtMin,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
68 fEvtMin =
new TGNumberEntry(frSelEvtMin, 0, 6, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative,
69 TGNumberFormat::kNELLimitMinMax, 0, (
fNbEvt ?
fNbEvt - 1 : 0));
71 frSelEvtMin->AddFrame(
fEvtMin,
new TGLayoutHints(kLHintsRight | kLHintsExpandX));
72 animCtrl->AddFrame(frSelEvtMin,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
74 TGCompositeFrame* frSelEvtMax =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
75 TGLabel* gLabelEvtMax =
new TGLabel(frSelEvtMax,
"Max Evt:");
76 frSelEvtMax->AddFrame(gLabelEvtMax,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
77 fEvtMax =
new TGNumberEntry(frSelEvtMax, 10, 6, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative,
78 TGNumberFormat::kNELLimitMinMax, 0, (
fNbEvt ?
fNbEvt - 1 : 0));
80 frSelEvtMax->AddFrame(
fEvtMax,
new TGLayoutHints(kLHintsRight | kLHintsExpandX));
81 animCtrl->AddFrame(frSelEvtMax,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
83 TGCompositeFrame* frSelEvtStep =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
84 TGLabel* gLabelEvtStep =
new TGLabel(frSelEvtStep,
"Step Evt:");
85 frSelEvtStep->AddFrame(gLabelEvtStep,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
86 fEvtStep =
new TGNumberEntry(frSelEvtStep, 0, 6, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAPositive,
87 TGNumberFormat::kNELLimitMinMax, 1, (
fNbEvt ?
fNbEvt - 1 : 1));
89 frSelEvtStep->AddFrame(
fEvtStep,
new TGLayoutHints(kLHintsRight | kLHintsExpandX));
90 animCtrl->AddFrame(frSelEvtStep,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
100 TGCompositeFrame* frSelTsMin =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
101 TGLabel* gLabelTsMin =
new TGLabel(frSelTsMin,
"Min Ts:");
102 frSelTsMin->AddFrame(gLabelTsMin,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
103 fTsMin =
new TGNumberEntry(frSelTsMin, 0, 6, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative,
104 TGNumberFormat::kNELLimitMinMax, 0, (
fNbTs ?
fNbTs - 1 : 0));
106 frSelTsMin->AddFrame(
fTsMin,
new TGLayoutHints(kLHintsRight | kLHintsExpandX));
107 animCtrl->AddFrame(frSelTsMin,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
109 TGCompositeFrame* frSelTsMax =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
110 TGLabel* gLabelTsMax =
new TGLabel(frSelTsMax,
"Max Ts:");
111 frSelTsMax->AddFrame(gLabelTsMax,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
112 fTsMax =
new TGNumberEntry(frSelTsMax, 10, 6, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative,
113 TGNumberFormat::kNELLimitMinMax, 0, (
fNbTs ?
fNbTs - 1 : 0));
115 frSelTsMax->AddFrame(
fTsMax,
new TGLayoutHints(kLHintsRight | kLHintsExpandX));
116 animCtrl->AddFrame(frSelTsMax,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
118 TGCompositeFrame* frSelTsStep =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
119 TGLabel* gLabelTsStep =
new TGLabel(frSelTsStep,
"Step Ts:");
120 frSelTsStep->AddFrame(gLabelTsStep,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
121 fTsStep =
new TGNumberEntry(frSelTsStep, 0, 6, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEAPositive,
122 TGNumberFormat::kNELLimitMinMax, 1, (
fNbTs ?
fNbTs - 1 : 1));
124 frSelTsStep->AddFrame(
fTsStep,
new TGLayoutHints(kLHintsRight | kLHintsExpandX));
125 animCtrl->AddFrame(frSelTsStep,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
127 Bool_t bAtLeastOneTs = (0 <
fNbTs);
128 fTsMin->SetState(bAtLeastOneTs);
129 fTsMax->SetState(bAtLeastOneTs);
130 fTsStep->SetState(bAtLeastOneTs);
138 animCtrl->AddFrame(
fBtnScreenshotEna,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
139 fBtnScreenshotEna->Connect(
"Clicked()", this->ClassName(),
this,
"UpdateEnaScreenshots()");
141 TGCompositeFrame* frSceneType =
new TGCompositeFrame(animCtrl,
fWidth, 30, kHorizontalFrame | kFixedWidth);
142 TGLabel* gLabelType =
new TGLabel(frSceneType,
"Scene type:");
143 frSceneType->AddFrame(gLabelType,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 1, 1, 2, 1));
157 frSceneType->AddFrame(
fSceneOpt,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
158 animCtrl->AddFrame(frSceneType,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
162 fBtnClearBuffer =
new TGCheckButton(animCtrl,
"Clear Buffer at Start");
164 animCtrl->AddFrame(
fBtnClearBuffer,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
166 fBtnRunContinuous =
new TGCheckButton(animCtrl,
"Run Continuous (stack events)");
168 animCtrl->AddFrame(
fBtnRunContinuous,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX));
171 fTab->AddFrame(animCtrl,
new TGLayoutHints(kLHintsRight | kLHintsExpandX, 1, 1, 2, 1));