/[PAMELA software]/eventviewer/flight/src/FEVpamevcontrol.cpp
ViewVC logotype

Diff of /eventviewer/flight/src/FEVpamevcontrol.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by mocchiut, Fri Jul 14 14:18:05 2006 UTC revision 1.11 by mocchiut, Mon Jun 22 09:30:01 2009 UTC
# Line 46  char* operator+( std::streampos&, char* Line 46  char* operator+( std::streampos&, char*
46  #include <TArrow.h>  #include <TArrow.h>
47  #include <TStyle.h>  #include <TStyle.h>
48  //  //
49    #include <PamLevel2.h>
50    //
51  #include <FEVpamevcontrol.h>  #include <FEVpamevcontrol.h>
52  //  //
53  ClassImp(PAMevcontrol);  ClassImp(PAMevcontrol);
# Line 102  PAMevcontrol::PAMevcontrol(const TGWindo Line 104  PAMevcontrol::PAMevcontrol(const TGWindo
104    cvar = &var;    cvar = &var;
105    thefigure = &figure;    thefigure = &figure;
106    //    //
107    TGCompositeFrame *cframe1 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);    cframe1 = new TGCompositeFrame(this, 280, 40, kVerticalFrame);
108    TGCompositeFrame *cframe2 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);    TGCompositeFrame *cframe2 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);
109    TGCompositeFrame *cframe3 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);    TGCompositeFrame *cframe3 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);
110    TGCompositeFrame *cframe4 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);    TGCompositeFrame *cframe4 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);
111    TGGroupFrame *gf = new TGGroupFrame(cframe1, "Appearance");    TGCompositeFrame *cframe5 = new TGCompositeFrame(this, 280, 60, kVerticalFrame);
112      gf = new TGGroupFrame(cframe1, "Detectors");
113      TGGroupFrame *gf2 = new TGGroupFrame(cframe5, "Appearance");
114    TGGroupFrame *inputf = new TGGroupFrame(cframe2, "Input");    TGGroupFrame *inputf = new TGGroupFrame(cframe2, "Input");
115    TGGroupFrame *jumpf = new TGGroupFrame(cframe3, "Jump to");    TGGroupFrame *jumpf = new TGGroupFrame(cframe3, "Jump to");
116    TGGroupFrame *savef = new TGGroupFrame(cframe4, "Save figure as");    TGGroupFrame *savef = new TGGroupFrame(cframe4, "Save figure as");
# Line 118  PAMevcontrol::PAMevcontrol(const TGWindo Line 122  PAMevcontrol::PAMevcontrol(const TGWindo
122    TGHorizontalFrame *htext3 = new TGHorizontalFrame(jumpf,400,800);    TGHorizontalFrame *htext3 = new TGHorizontalFrame(jumpf,400,800);
123    TGHorizontalFrame *htext4 = new TGHorizontalFrame(jumpf,400,80);    TGHorizontalFrame *htext4 = new TGHorizontalFrame(jumpf,400,80);
124    TGHorizontalFrame *hframe = new TGHorizontalFrame(this,400,800);    TGHorizontalFrame *hframe = new TGHorizontalFrame(this,400,800);
125    TGHorizontalFrame *hframe1 = new TGHorizontalFrame(gf, 280, 50);    for (Int_t fr=0; fr<12; fr++) hframedec[fr] = new TGHorizontalFrame(gf, 7, 7);
126    TGHorizontalFrame *hframe2 = new TGHorizontalFrame(gf, 280, 40);    TGHorizontalFrame *hframe3 = new TGHorizontalFrame(gf2, 280, 40);
127    TGHorizontalFrame *hframe3 = new TGHorizontalFrame(gf, 280, 40);    TGHorizontalFrame *hframe4 = new TGHorizontalFrame(gf2,280,10);
   TGHorizontalFrame *hframe4 = new TGHorizontalFrame(gf,280,10);  
128    TGVerticalFrame *hframe5 = new TGVerticalFrame(hframe4, 280, 40);    TGVerticalFrame *hframe5 = new TGVerticalFrame(hframe4, 280, 40);
129    TGHorizontalFrame *hfrprog = new TGHorizontalFrame(this,400,800);    TGHorizontalFrame *hfrprog = new TGHorizontalFrame(this,400,800);
130    //    //
# Line 132  PAMevcontrol::PAMevcontrol(const TGWindo Line 135  PAMevcontrol::PAMevcontrol(const TGWindo
135    fText->Connect("ReturnPressed()", "PAMevcontrol", this,"SetFilename()");    fText->Connect("ReturnPressed()", "PAMevcontrol", this,"SetFilename()");
136    fText->Connect("TabPressed()", "PAMevcontrol", this,"CompleteText()");    fText->Connect("TabPressed()", "PAMevcontrol", this,"CompleteText()");
137    htext->AddFrame(fText, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY, 0, 5, 5, 5));    htext->AddFrame(fText, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY, 0, 5, 5, 5));
138    htext->AddFrame(Load, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX,0,5,5,5));    htext->AddFrame(Load, new TGLayoutHints(kLHintsCenterX,0,5,5,5));
139    inputf->AddFrame(new TGLabel(inputf, new TGHotString("Filename:")));    inputf->AddFrame(new TGLabel(inputf, new TGHotString("Filename:")));
140    inputf->AddFrame(htext, new TGLayoutHints(kLHintsExpandX));    inputf->AddFrame(htext, new TGLayoutHints(kLHintsExpandX));
141    //    //
# Line 140  PAMevcontrol::PAMevcontrol(const TGWindo Line 143  PAMevcontrol::PAMevcontrol(const TGWindo
143    fText2->SetText(cvar->thefilter.Data());    fText2->SetText(cvar->thefilter.Data());
144    TGTextButton *Load2 = new TGTextButton(htext2,"Load");    TGTextButton *Load2 = new TGTextButton(htext2,"Load");
145    Load2->Connect("Clicked()","TGTextEntry",fText2,"ReturnPressed()");    Load2->Connect("Clicked()","TGTextEntry",fText2,"ReturnPressed()");
146      Load2->SetToolTipText("Clear box and click to unload file");
147    fText2->Connect("ReturnPressed()", "PAMevcontrol", this,"SetFilter()");    fText2->Connect("ReturnPressed()", "PAMevcontrol", this,"SetFilter()");
148    fText2->Connect("TabPressed()", "PAMevcontrol", this,"CompleteText()");    fText2->Connect("TabPressed()", "PAMevcontrol", this,"CompleteText()");
149    htext2->AddFrame(fText2, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY, 0, 5, 5, 5));    htext2->AddFrame(fText2, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY, 0, 5, 5, 5));
150    htext2->AddFrame(Load2, new TGLayoutHints(kLHintsCenterX | kLHintsExpandX,0,5,5,5));    htext2->AddFrame(Load2, new TGLayoutHints(kLHintsCenterX,0,5,5,5));
151    inputf->AddFrame(new TGLabel(inputf, new TGHotString("Selection file:")));    inputf->AddFrame(new TGLabel(inputf, new TGHotString("Selection file:")));
152    inputf->AddFrame(htext2, new TGLayoutHints(kLHintsExpandX));    inputf->AddFrame(htext2, new TGLayoutHints(kLHintsExpandX));
153    //    //
154    cframe2->AddFrame(inputf,new TGLayoutHints(kLHintsExpandX,5,5,5,5));    cframe2->AddFrame(inputf,new TGLayoutHints(kLHintsExpandX,5,5,5,5));
155    //    //
156    TGCheckButton *fchktof = new TGCheckButton(hframe1, "TOF");      //
157      //
158      fComboDec = new TGComboBox(gf, 98);
159      fComboDec->AddEntry(" - Select Detector -", 11);
160      fComboDec->AddEntry("PSCU - ORB", 0);
161      fComboDec->AddEntry("Run", 1);
162      fComboDec->AddEntry("Trigger", 2);
163      fComboDec->AddEntry("ToF", 3);
164      fComboDec->AddEntry("Tracker", 4);
165      fComboDec->AddEntry("Anticounter", 5);
166      fComboDec->AddEntry("Calorimeter", 6);
167      fComboDec->AddEntry("S4", 7);
168      fComboDec->AddEntry("ND", 8);
169      fComboDec->AddEntry("Software info", 9);
170      fComboDec->AddEntry("ALL", 10);
171      fComboDec->Select(11);
172      fComboDec->Resize(150,23);
173      gf->AddFrame(fComboDec, new TGLayoutHints(kLHintsCenterY | kLHintsExpandX| kLHintsLeft, 5, 7, 7, 7));
174      fComboDec->Connect("Selected(Int_t)","PAMevcontrol",this,"refreshdec(Int_t)");
175      //
176      // PSCU/Orbital
177      //
178      fshoworb = new TGTextButton(hframedec[0], "Show Data");  
179      fshoworb->Connect("Clicked()","PAMevcontrol", this,"showorbdata()");
180      if ( !cvar->ORB ) fshoworb->SetState(kButtonDisabled);
181      hframedec[0]->AddFrame(fshoworb, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
182      //
183      // RUN
184      //
185      fshowrun = new TGTextButton(hframedec[1], "Show Data");  
186      fshowrun->Connect("Clicked()","PAMevcontrol", this,"showrundata()");
187      if ( !cvar->RUN ) fshoworb->SetState(kButtonDisabled);
188      hframedec[1]->AddFrame(fshowrun, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
189      //
190      // Trigger
191      //
192      fshowtrg = new TGTextButton(hframedec[2], "Show Data");  
193      fshowtrg->Connect("Clicked()","PAMevcontrol", this,"showtrgdata()");
194      if ( !cvar->TRG ) fshowtrg->SetState(kButtonDisabled);
195      hframedec[2]->AddFrame(fshowtrg, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
196      //
197      // TOF
198      //
199      fchktof = new TGCheckButton(hframedec[3], "Show");  
200    fchktof->Connect("Clicked()","PAMevcontrol", this,"chktof()");    fchktof->Connect("Clicked()","PAMevcontrol", this,"chktof()");
201    if ( cvar->TOF ) fchktof->SetState(kButtonDown);    if ( cvar->TOF ) fchktof->SetState(kButtonDown);
202    hframe1->AddFrame(fchktof, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,0,5,5,5));    hframedec[3]->AddFrame(fchktof, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
203      fshowtof = new TGTextButton(hframedec[3], "Show Data");  
204      fshowtof->Connect("Clicked()","PAMevcontrol", this,"showtofdata()");
205      if ( !cvar->TOF ) fshowtof->SetState(kButtonDisabled);
206      hframedec[3]->AddFrame(fshowtof, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
207    //    //
208    TGCheckButton *fchkac = new TGCheckButton(hframe1, "AC");      // Tracker
   fchkac->Connect("Clicked()","PAMevcontrol", this,"chkac()");    
   if ( cvar->AC ) fchkac->SetState(kButtonDown);  
   hframe1->AddFrame(fchkac, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,5,25,5,5));  
209    //    //
210    TGCheckButton *fchktrk = new TGCheckButton(hframe1, "Tracker");      fchktrk = new TGCheckButton(hframedec[4], "Show");  
211    fchktrk->Connect("Clicked()","PAMevcontrol",this,"chktrk()");      fchktrk->Connect("Clicked()","PAMevcontrol",this,"chktrk()");  
212    if ( cvar->TRK ) fchktrk->SetState(kButtonDown);    if ( cvar->TRK ) fchktrk->SetState(kButtonDown);
213    hframe1->AddFrame(fchktrk, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,10,5,5,5));    hframedec[4]->AddFrame(fchktrk, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
214      fshowtrk = new TGTextButton(hframedec[4], "Show Data");  
215      fshowtrk->Connect("Clicked()","PAMevcontrol", this,"showtrkdata()");
216      if ( !cvar->TRK ) fshowtrk->SetState(kButtonDisabled);
217      hframedec[4]->AddFrame(fshowtrk, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
218      //
219      // AC
220      //
221      fchkac = new TGCheckButton(hframedec[5], "Show");  
222      fchkac->Connect("Clicked()","PAMevcontrol", this,"chkac()");  
223      if ( cvar->AC ) fchkac->SetState(kButtonDown);
224      hframedec[5]->AddFrame(fchkac, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
225      fshowac = new TGTextButton(hframedec[5], "Show Data");  
226      fshowac->Connect("Clicked()","PAMevcontrol", this,"showacdata()");
227      if ( !cvar->AC ) fshowac->SetState(kButtonDisabled);
228      hframedec[5]->AddFrame(fshowac, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
229      //
230      // Calorimeter
231      //
232      fchkcalo = new TGCheckButton(hframedec[6], "Show");  
233      fchkcalo->Connect("Clicked()","PAMevcontrol",this,"chkcalo()");  
234      if ( cvar->CALO ) fchkcalo->SetState(kButtonDown);
235      hframedec[6]->AddFrame(fchkcalo, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
236      fchkcalost = new TGCheckButton(hframedec[6], "Track");  
237      fchkcalost->Connect("Clicked()","PAMevcontrol",this,"chkcalost()");  
238      if ( cvar->CALO ) fchkcalost->SetState(kButtonUp);
239      hframedec[6]->AddFrame(fchkcalost, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,2,5,5));
240      fshowcal = new TGTextButton(hframedec[6], "Show Data");  
241      fshowcal->Connect("Clicked()","PAMevcontrol", this,"showcaldata()");
242      if ( !cvar->CALO ) fshowcal->SetState(kButtonDisabled);
243      hframedec[6]->AddFrame(fshowcal, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
244    //    //
245    gf->AddFrame(hframe1, new TGLayoutHints(kLHintsExpandX));    // S4
246    //    //
247    TGCheckButton *fchks4 = new TGCheckButton(hframe2, "S4");      fchks4 = new TGCheckButton(hframedec[7], "Show");  
248    fchks4->Connect("Clicked()","PAMevcontrol",this,"chks4()");      fchks4->Connect("Clicked()","PAMevcontrol",this,"chks4()");  
249    if ( cvar->S4 ) fchks4->SetState(kButtonDown);    if ( cvar->S4 ) fchks4->SetState(kButtonDown);
250    hframe2->AddFrame(fchks4, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,0,15,5,5));    hframedec[7]->AddFrame(fchks4, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
251      fshows4 = new TGTextButton(hframedec[7], "Show Data");  
252      fshows4->Connect("Clicked()","PAMevcontrol", this,"shows4data()");
253      if ( !cvar->S4 ) fshows4->SetState(kButtonDisabled);
254      hframedec[7]->AddFrame(fshows4, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
255    //    //
256    TGCheckButton *fchknd = new TGCheckButton(hframe2, "ND");      // ND
257      //
258      fchknd = new TGCheckButton(hframedec[8], "Show");  
259    fchknd->Connect("Clicked()","PAMevcontrol",this,"chknd()");      fchknd->Connect("Clicked()","PAMevcontrol",this,"chknd()");  
260    if ( cvar->ND ) fchknd->SetState(kButtonDown);    if ( cvar->ND ) fchknd->SetState(kButtonDown);
261    hframe2->AddFrame(fchknd, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,5,25,5,5));    hframedec[8]->AddFrame(fchknd, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
262      fshownd = new TGTextButton(hframedec[8], "Show Data");  
263      fshownd->Connect("Clicked()","PAMevcontrol", this,"shownddata()");
264      if ( !cvar->ND ) fshownd->SetState(kButtonDisabled);
265      hframedec[8]->AddFrame(fshownd, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
266    //    //
267    TGCheckButton *fchkcalo = new TGCheckButton(hframe2, "Calorimeter");      // Software infos
268    fchkcalo->Connect("Clicked()","PAMevcontrol",this,"chkcalo()");      //
269    if ( cvar->CALO ) fchkcalo->SetState(kButtonDown);    fshowsi = new TGTextButton(hframedec[9], "Show Data");  
270    hframe2->AddFrame(fchkcalo, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,10,2,5,5));    fshowsi->Connect("Clicked()","PAMevcontrol", this,"showsidata()");
271      if ( !cvar->RUN ) fshoworb->SetState(kButtonDisabled);
272      hframedec[9]->AddFrame(fshoworb, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
273      //
274      // All data
275    //    //
276    gf->AddFrame(hframe2, new TGLayoutHints(kLHintsExpandX));    fshowall = new TGTextButton(hframedec[10], "Show Data");  
277      fshowall->Connect("Clicked()","PAMevcontrol", this,"showalldata()");
278      hframedec[10]->AddFrame(fshowall, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
279    //    //
280    TGCheckButton *fchkinfo = new TGCheckButton(hframe3, "Infos");      //  for (Int_t fr=0; fr<11; fr++) gf->AddFrame(hframedec[fr], new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,1,1,1,1));
281      //
282      gf->AddFrame(hframedec[11], new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,17,17));  
283      //
284      //  for (Int_t fr=0; fr<11; fr++) gf->AddFrame(hframedec[fr],new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,0,5,5,5));
285      //  gf->GetLayoutManager()->SetPadBottom(5);
286      //  gf->MapSubwindows();
287      //
288      fchkinfo = new TGCheckButton(hframe3, "Infos");  
289    fchkinfo->Connect("Clicked()","PAMevcontrol",this,"chkinfo()");      fchkinfo->Connect("Clicked()","PAMevcontrol",this,"chkinfo()");  
290    if ( cvar->INFOS ) fchkinfo->SetState(kButtonDown);    if ( cvar->INFOS ) fchkinfo->SetState(kButtonDown);
291    hframe3->AddFrame(fchkinfo, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,0,5,5,5));    hframe3->AddFrame(fchkinfo, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,0,5,5,5));
292    //    //
293    TGCheckButton *fchknames = new TGCheckButton(hframe3, "Names");      fchknames = new TGCheckButton(hframe3, "Names");  
294    fchknames->Connect("Clicked()","PAMevcontrol",this,"chknames()");      fchknames->Connect("Clicked()","PAMevcontrol",this,"chknames()");  
295    if ( cvar->VINFOS ) fchknames->SetState(kButtonDown);    if ( cvar->VINFOS ) fchknames->SetState(kButtonDown);
296    hframe3->AddFrame(fchknames, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,5,5,5,5));    hframe3->AddFrame(fchknames, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
297    TGCheckButton *fchkpalette = new TGCheckButton(hframe3, "Palette");      fchkpalette = new TGCheckButton(hframe3, "Palette");  
298    fchkpalette->Connect("Clicked()","PAMevcontrol",this,"chkpalette()");      fchkpalette->Connect("Clicked()","PAMevcontrol",this,"chkpalette()");  
299    if ( cvar->PALETTE) fchkpalette->SetState(kButtonDown);    if ( cvar->PALETTE) fchkpalette->SetState(kButtonDown);
300    hframe3->AddFrame(fchkpalette, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,10,5,5,5));    hframe3->AddFrame(fchkpalette, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,10,5,5,5));
301    gf->AddFrame(hframe3, new TGLayoutHints(kLHintsExpandX));    gf2->AddFrame(hframe3, new TGLayoutHints(kLHintsExpandX));
302    //    //
303    TGVButtonGroup *group = new TGVButtonGroup(hframe4);    TGVButtonGroup *group = new TGVButtonGroup(hframe4);
   TGRadioButton *bwc0;  
   TGRadioButton *bwc1;  
304    bwc0 = new TGRadioButton(group, "Colour");    bwc0 = new TGRadioButton(group, "Colour");
305    bwc1 = new TGRadioButton(group, "B/W");    bwc1 = new TGRadioButton(group, "B/W");
306    if ( cvar->bw ){    if ( cvar->bw ){
# Line 210  PAMevcontrol::PAMevcontrol(const TGWindo Line 310  PAMevcontrol::PAMevcontrol(const TGWindo
310    };    };
311    bwc0->Connect("Pressed()", "PAMevcontrol",this,"radiocolor()");    bwc0->Connect("Pressed()", "PAMevcontrol",this,"radiocolor()");
312    bwc1->Connect("Pressed()", "PAMevcontrol",this,"radiobw()");    bwc1->Connect("Pressed()", "PAMevcontrol",this,"radiobw()");
313    hframe4->AddFrame(group,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,1,5,5,5));    hframe4->AddFrame(group,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
314    //    //
315    //    //
316    ftrks4 = new TGCheckButton(hframe5, "Track in S4/ND");      //  ftrks4 = new TGCheckButton(hframe5, "Track in S4/ND");  
317    ftrks4->Connect("Clicked()","PAMevcontrol",this,"radiotrack()");      //  ftrks4->Connect("Clicked()","PAMevcontrol",this,"radiotrack()");  
318    if ( cvar->tracknds4) ftrks4->SetState(kButtonDown);    //  if ( cvar->tracknds4) ftrks4->SetState(kButtonDown);
319    hframe5->AddFrame(ftrks4, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,5,2,5,5));    //  hframe5->AddFrame(ftrks4, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
320    ffl0 = new TGCheckButton(hframe5, "Force LEVEL0");  
321      fgetl0 = new TGTextButton(hframe5, "Get L0 file");  
322      fgetl0->Connect("Clicked()","PAMevcontrol", this,"getl0file()");
323      hframe5->AddFrame(fgetl0, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
324    
325      ffl0 = new TGCheckButton(hframe5, "Force RAW");
326    ffl0->Connect("Clicked()","PAMevcontrol",this,"forcel0()");    ffl0->Connect("Clicked()","PAMevcontrol",this,"forcel0()");
327    if ( cvar->fl0 ) ffl0->SetState(kButtonDown);    if ( cvar->fl0 ) ffl0->SetState(kButtonDown);
328    if ( !cvar->fl0 ) ffl0->SetState(kButtonUp);    if ( !cvar->fl0 ) ffl0->SetState(kButtonUp);
329    hframe5->AddFrame(ffl0, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,5,2,5,5));    hframe5->AddFrame(ffl0, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
330    //    //
331    hframe4->AddFrame(hframe5, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY,10,5,5,5));    hframe4->AddFrame(hframe5, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,10,5,5,5));
332    gf->AddFrame(hframe4, new TGLayoutHints(kLHintsExpandX));    gf2->AddFrame(hframe4, new TGLayoutHints(kLHintsExpandX));
333    //    //
334    cframe1->AddFrame(gf, new TGLayoutHints(kLHintsExpandX));    cframe1->AddFrame(gf, new TGLayoutHints(kLHintsExpandX,5,5,5,5));
335      //  cframe1->Resize(280,10);
336      //  cframe1->GetLayoutManager()->SetDefaultHeight(5);
337      //  MapWindow();
338      //
339      cframe5->AddFrame(gf2, new TGLayoutHints(kLHintsExpandX,5,5,5,5));
340    //    //
341    TGHButtonGroup *jgroup = new TGHButtonGroup(htext4);    TGHButtonGroup *jgroup = new TGHButtonGroup(htext4);
   TGRadioButton *jbwc0;  
   TGRadioButton *jbwc1;  
342    jbwc0 = new TGRadioButton(jgroup, "packet     ");    jbwc0 = new TGRadioButton(jgroup, "packet     ");
343    jbwc1 = new TGRadioButton(jgroup, "progressive");    jbwc1 = new TGRadioButton(jgroup, "progressive");
344    jbwc1->SetState(kButtonDown);    jbwc1->SetState(kButtonDown);
# Line 273  PAMevcontrol::PAMevcontrol(const TGWindo Line 381  PAMevcontrol::PAMevcontrol(const TGWindo
381    fCombo->Select(0);    fCombo->Select(0);
382    fCombo->Resize(50,23);    fCombo->Resize(50,23);
383    //  htexts->AddFrame(fCombo, new TGLayoutHints(kLHintsCenterX | kLHintsTop | kLHintsLeft | kLHintsCenterY | kLHintsExpandX, 0, 8, 1, 1));    //  htexts->AddFrame(fCombo, new TGLayoutHints(kLHintsCenterX | kLHintsTop | kLHintsLeft | kLHintsCenterY | kLHintsExpandX, 0, 8, 1, 1));
384    htexts->AddFrame(fCombo, new TGLayoutHints(kLHintsExpandY | kLHintsRight, 2, 2, 2, 1));    htexts->AddFrame(fCombo, new TGLayoutHints(kLHintsExpandY | kLHintsExpandY| kLHintsRight, 2, 2, 2, 1));
385    //    //
386    htextsl->AddFrame(save, new TGLayoutHints(kLHintsExpandX,0,0,2,1));    htextsl->AddFrame(save, new TGLayoutHints(kLHintsExpandX,0,0,2,1));
387    savef->AddFrame(htexts, new TGLayoutHints(kLHintsExpandX,0,0,2,5));    savef->AddFrame(htexts, new TGLayoutHints(kLHintsExpandX,0,0,2,5));
# Line 310  PAMevcontrol::PAMevcontrol(const TGWindo Line 418  PAMevcontrol::PAMevcontrol(const TGWindo
418    //  AddFrame(htext, new TGLayoutHints(kLHintsExpandX,2,2,15,1));    //  AddFrame(htext, new TGLayoutHints(kLHintsExpandX,2,2,15,1));
419    AddFrame(cframe2, new TGLayoutHints(kLHintsExpandX,1,1,1,1));    AddFrame(cframe2, new TGLayoutHints(kLHintsExpandX,1,1,1,1));
420    AddFrame(cframe1, new TGLayoutHints(kLHintsExpandX,1,1,1,1));    AddFrame(cframe1, new TGLayoutHints(kLHintsExpandX,1,1,1,1));
421      AddFrame(cframe5, new TGLayoutHints(kLHintsExpandX,1,1,1,1));
422    AddFrame(cframe3, new TGLayoutHints(kLHintsExpandX,1,1,1,1));    AddFrame(cframe3, new TGLayoutHints(kLHintsExpandX,1,1,1,1));
423    AddFrame(cframe4, new TGLayoutHints(kLHintsExpandX,1,1,1,1));    AddFrame(cframe4, new TGLayoutHints(kLHintsExpandX,1,1,1,1));
424    AddFrame(hfrprog, new TGLayoutHints(kLHintsExpandX,1,1,1,1));    AddFrame(hfrprog, new TGLayoutHints(kLHintsExpandX,1,1,1,1));
425    AddFrame(hframe, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY,1,1,1,1));    AddFrame(hframe, new TGLayoutHints(kLHintsExpandX,1,1,1,1));
426    // Set a name to the main frame    // Set a name to the main frame
427    SetWindowName("PAMELA Event Viewer control panel");    SetWindowName("PAMELA Event Viewer control panel");
428    // Map all subwindows of main frame    // Map all subwindows of main frame
# Line 322  PAMevcontrol::PAMevcontrol(const TGWindo Line 431  PAMevcontrol::PAMevcontrol(const TGWindo
431    Resize(GetDefaultSize());    Resize(GetDefaultSize());
432    // Map main frame    // Map main frame
433    MapWindow();    MapWindow();
434      //
435      gf->HideFrame(hframedec[11]);
436      for (Int_t fr=0; fr<11; fr++){
437        gf->AddFrame(hframedec[fr],new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,0,5,5,5));
438        gf->HideFrame(hframedec[fr]);
439      };
440      gf->MapSubwindows();
441      //
442    }
443    
444    void PAMevcontrol::Refresh(){
445      // bah
446      return;
447      this->Clear();
448      MapSubwindows();
449      // Initialize the layout algorithm
450      Resize(GetDefaultSize());
451      // Map main frame
452      MapWindow();  
453  }  }
454    
455  void PAMevcontrol::DIALOG(Int_t ty, TString warn){      void PAMevcontrol::DIALOG(Int_t ty, TString warn){    
456      //      //
457      // ty = 0 -> INFO, ty = 1 -> WARNING, ty = 3 -> ERROR      // ty = 0 -> INFO, ty = 1 -> WARNING, ty = 2 -> ERROR
458      //      //
459      Int_t retval;      Int_t retval;
460      TString title;      TString title;
461      EMsgBoxIcon mb_icon = kMBIconStop;      EMsgBoxIcon mb_icon = kMBIconStop;
462      if ( ty == 0 ){      if ( ty == 2 || ty == 3 ){
463          if ( ty == 2 ){
464            title="ERROR!!";
465            mb_icon = kMBIconStop;
466            new TGMsgBox(gClient->GetRoot(), this, title.Data(), warn.Data(), mb_icon, kMBOk, &retval);
467          } else {
468            title="HELP";
469            mb_icon = kMBIconQuestion;
470            new TGMsgBox(gClient->GetRoot(), this, title.Data(), warn.Data(), mb_icon, kMBOk, &retval);
471          };
472        } else {
473          if ( ty == 0 ){
474          title="INFO";          title="INFO";
475          mb_icon = kMBIconAsterisk;          mb_icon = kMBIconAsterisk;
476      };        };
477      if ( ty == 1 ){        if ( ty == 1 ){
478          title="WARNING!";          title="WARNING!";
479          mb_icon = kMBIconExclamation;          mb_icon = kMBIconExclamation;
480          };      
481          if ( ty == 4 ){
482            title="DATA";
483            mb_icon = kMBIconExclamation;
484          };
485          const TGPicture *icon_pic;
486          switch (mb_icon) {
487          case kMBIconStop:
488            icon_pic = gClient->GetPicture("mb_stop_s.xpm");
489            if (!icon_pic) Error("TGMsgBox", "mb_stop_s.xpm not found");
490            break;
491            
492          case kMBIconQuestion:
493            icon_pic = gClient->GetPicture("mb_question_s.xpm");
494            if (!icon_pic) Error("TGMsgBox", "mb_question_s.xpm not found");
495            break;
496            
497          case kMBIconExclamation:
498            icon_pic = gClient->GetPicture("mb_exclamation_s.xpm");
499            if (!icon_pic) Error("TGMsgBox", "mb_exclamation_s.xpm not found");
500            break;
501            
502          case kMBIconAsterisk:
503            icon_pic = gClient->GetPicture("mb_asterisk_s.xpm");
504            if (!icon_pic) Error("TGMsgBox", "mb_asterisk_s.xpm not found");
505            break;
506            
507          default:
508            icon_pic = 0;
509            break;
510          }
511          //
512          if ( ty == 4 ){// non funziona il recupero dei puntatori a questi oggetti come e` possibile?
513            //      gObjectTable->Print();
514            TGLabel *la=dynamic_cast<TGLabel*>(gDirectory->FindObject("la"));
515            TGHorizontalFrame *fLabelFrame=dynamic_cast<TGHorizontalFrame*>(gDirectory->FindObject("fLabelFrame"));
516            TGTransientFrame *compofra=dynamic_cast<TGTransientFrame*>(gDirectory->FindObject("compofra"));
517            if ( la ) la->Delete();
518            if ( fLabelFrame ) fLabelFrame->Delete();
519            if ( compofra ){
520              compofra->DestroyWindow();
521              compofra->Delete();  
522            };
523          };
524          TGTransientFrame *compofra = new TGTransientFrame(gClient->GetRoot(), 0, 200, 80, kHorizontalFrame);      
525          TGHorizontalFrame *fIconFrame = NULL;
526          TGIcon *fIcon = NULL;
527          if ( ty != 4 ){
528            compofra->DontCallClose();      
529            fIconFrame = new TGHorizontalFrame(compofra, 98, 78);
530            fIcon = new TGIcon(fIconFrame, icon_pic, icon_pic->GetWidth(), icon_pic->GetHeight());
531            fIconFrame->AddFrame(fIcon, new TGLayoutHints(kLHintsCenterX|kLHintsCenterY, 1, 1, 1, 1));
532            compofra->AddFrame(fIconFrame, new TGLayoutHints(kLHintsCenterX|kLHintsCenterY, 1, 1, 1, 1));
533          };
534          //
535          TGHorizontalFrame *fLabelFrame = new TGHorizontalFrame(compofra, 98, 78);
536          TGLabel *la=new TGLabel(fLabelFrame,warn.Data());
537          la->SetTextJustify(kLHintsCenterX);
538          fLabelFrame->AddFrame(la, new TGLayoutHints(kLHintsCenterX|kLHintsCenterY, 1, 1, 1, 1));
539          compofra->AddFrame(fLabelFrame, new TGLayoutHints(kLHintsCenterX|kLHintsCenterY, 1, 1, 1, 1));
540          //                
541          compofra->SetWindowName(title.Data());
542          compofra->MapSubwindows();
543          if ( ty != 4 ){
544            compofra->Resize(compofra->GetDefaultWidth(),80);
545          } else {
546            compofra->Resize(compofra->GetDefaultSize());
547          };
548          compofra->CenterOnParent();
549          compofra->MapWindow();
550          //
551          if ( ty != 4 ){
552            Int_t kkk = 0;
553            while ( kkk < 200 ){
554              gSystem->ProcessEvents();
555              gSystem->Sleep(10);
556              kkk++;
557            };
558          };
559          if ( compofra && ty != 4 ){
560            la->Delete();
561            fLabelFrame->Delete();
562            if ( fIcon ) fIcon->Delete();
563            if ( fIconFrame ) fIconFrame->Delete();
564            compofra->DestroyWindow();
565            compofra->Delete();    
566          };
567      };      };
568      if ( ty == 2 ){      //
         title="ERROR!!";  
         mb_icon = kMBIconStop;  
     };  
     new TGMsgBox(gClient->GetRoot(), this, title.Data(), warn.Data(), mb_icon, kMBOk, &retval);  
569  }  }
570    
571    void PAMevcontrol::refreshdec(Int_t n){
572      //
573      for (Int_t i=0; i<11; i++){
574        gf->HideFrame(hframedec[i]);
575      };
576      //
577      if ( n < 11 ){
578        gf->ShowFrame(hframedec[n]);
579      };
580    };
581    
582    
583    void PAMevcontrol::showorbdata(){
584      cvar->showorb = !cvar->showorb;
585      if ( !cvar->showorb ) fshoworb->SetText("Show Data");
586      if ( cvar->showorb ) fshoworb->SetText("Hide Data");
587      //  printf("orb \n");
588    };
589    
590    void PAMevcontrol::showtrgdata(){
591      cvar->showtrg = !cvar->showtrg;
592      if ( !cvar->showtrg ) fshowtrg->SetText("Show Data");
593      if ( cvar->showtrg ) fshowtrg->SetText("Hide Data");
594      //  printf("trg \n");
595    };
596    
597    void PAMevcontrol::showrundata(){
598      cvar->showrun = !cvar->showrun;
599      if ( !cvar->showrun ) fshowrun->SetText("Show Data");
600      if ( cvar->showrun ) fshowrun->SetText("Hide Data");
601      //  printf("run \n");
602    };
603    
604    void PAMevcontrol::showcaldata(){
605      cvar->showcal = !cvar->showcal;
606      if ( !cvar->showcal ) fshowcal->SetText("Show Data");
607      if ( cvar->showcal ) fshowcal->SetText("Hide Data");
608      //  printf("cal \n");
609    };
610    
611    void PAMevcontrol::chkcalost(){
612      if ( cvar->CALOT ) {
613        cvar->CALOT = 0;
614      } else {
615        cvar->CALOT = 1;
616      };
617      cvar->i--;
618      cvar->nevents = 0;
619      cvar->firstevno = 0;
620      cvar->lastevno = 0;
621      cvar->refresh = true;
622    };
623    
624    void PAMevcontrol::showtrkdata(){
625      cvar->showtrk = !cvar->showtrk;
626      if ( !cvar->showtrk ) fshowtrk->SetText("Show Data");
627      if ( cvar->showtrk ) fshowtrk->SetText("Hide Data");
628      //  printf("trk \n");
629    };
630    
631    void PAMevcontrol::showtofdata(){
632      cvar->showtof = !cvar->showtof;
633      if ( !cvar->showtof ) fshowtof->SetText("Show Data");
634      if ( cvar->showtof ) fshowtof->SetText("Hide Data");
635      //  printf("tof \n");
636    };
637    
638    void PAMevcontrol::showacdata(){
639      cvar->showac = !cvar->showac;
640      if ( !cvar->showac ) fshowac->SetText("Show Data");
641      if ( cvar->showac ) fshowac->SetText("Hide Data");
642      //  printf("ac \n");
643    };
644    
645    void PAMevcontrol::shownddata(){
646      cvar->shownd = !cvar->shownd;
647      if ( !cvar->shownd ) fshownd->SetText("Show Data");
648      if ( cvar->shownd ) fshownd->SetText("Hide Data");
649      //  printf("nd \n");
650    };
651    
652    void PAMevcontrol::shows4data(){
653      cvar->shows4 = !cvar->shows4;
654      if ( !cvar->shows4 ) fshows4->SetText("Show Data");
655      if ( cvar->shows4 ) fshows4->SetText("Hide Data");
656      //  printf("s4 \n");
657    };
658    
659    void PAMevcontrol::showsidata(){
660      cvar->showsi = !cvar->showsi;
661      if ( !cvar->showsi ) fshowsi->SetText("Show Data");
662      if ( cvar->showsi ) fshowsi->SetText("Hide Data");
663      //  printf("si \n");
664    };
665    
666    void PAMevcontrol::showalldata(){
667      cvar->showall = !cvar->showall;
668      if ( !cvar->showall ) fshowall->SetText("Show Data");
669      if ( cvar->showall ) fshowall->SetText("Hide Data");
670      //  printf("all \n");
671    };
672    
673  void PAMevcontrol::SetFilename() {  void PAMevcontrol::SetFilename() {
674      TGTextEntry *entry = (TGTextEntry*)gTQSender;      TGTextEntry *entry = (TGTextEntry*)gTQSender;
675      TString text = entry->GetText();      TString text = entry->GetText();
676      cvar->thefilename=text.Data();      cvar->thefilename=text.Data();
677        cvar->i = 0;
678      cvar->nevents = 0;      cvar->nevents = 0;
679      cvar->firstevno = 0;      cvar->firstevno = 0;
680      cvar->lastevno = 0;      cvar->lastevno = 0;
# Line 362  void PAMevcontrol::SetFilename() { Line 686  void PAMevcontrol::SetFilename() {
686      cvar->waitforever = false;      cvar->waitforever = false;
687  }  }
688    
689    void PAMevcontrol::getl0file() {
690      //
691      TString host = "mysql://localhost/pamelaprod";
692      TString user = "anonymous";
693      TString psw = "";
694      const char *pamdbhost=gSystem->Getenv("PAM_DBHOST");
695      const char *pamdbuser=gSystem->Getenv("PAM_DBUSER");
696      const char *pamdbpsw=gSystem->Getenv("PAM_DBPSW");
697      if ( !pamdbhost ) pamdbhost = "";
698      if ( !pamdbuser ) pamdbuser = "";
699      if ( !pamdbpsw ) pamdbpsw = "";
700      if ( strcmp(pamdbhost,"") ) host = pamdbhost;
701      if ( strcmp(pamdbuser,"") ) user = pamdbuser;
702      if ( strcmp(pamdbpsw,"") ) psw = pamdbpsw;
703      cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
704      cout<<"Connecting to DB"<<endl;
705      cout<<"HOST "<<host<<endl;
706      cout<<"USER "<<user<<endl;
707      cout<<"PSW  "<<psw<<endl;
708      cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
709      TSQLServer *dbc = TSQLServer::Connect(host.Data(),user.Data(),psw.Data());
710      //
711      TSQLResult *pResult;
712      TSQLRow *Row;
713      //
714      if( dbc && dbc->IsConnected() ){
715        //
716        // Retrieve the file
717        //
718        if ( clev->file == 2 ){
719          //
720          // Starting from level2
721          //
722          GL_ROOT glroot = GL_ROOT();
723          if( !glroot.Query_GL_ROOT(cvar->idroot,dbc) ){
724            //
725            cvar->thefilename= glroot.PATH + glroot.NAME;
726            cvar->nevents = 0;
727            cvar->firstevno = 0;
728            cvar->lastevno = 0;
729            if ( cvar->fl0 ) {
730              cvar->fl0 = false;
731              ffl0->SetState(kButtonUp);
732            };
733            cvar->restart = true;
734            cvar->waitforever = false;
735            //
736            if ( cvar->thefilter != "" ){
737              cvar->thefilter="";
738              cvar->selex = true;
739            };
740            cvar->i = cvar->EVF + cvar->i ;
741            //cvar->refresh = true;
742            //      cvar->file = 0;
743            //
744          } else {  
745            stringstream warning;
746            warning.str("");
747            warning << " Problems getting Level0 file ";
748            DIALOG(2,warning.str().c_str());
749          };
750        } else {      
751          //
752          // starting from L0
753          //
754          stringstream query;
755          query.str("");
756          query << " SELECT ID FROM GL_ROOT WHERE NAME='"<< gSystem->BaseName(cvar->thefilename.Data()) <<"' order by INSERT_TIME desc limit 1;";
757          //      printf(" query is %s \n",query.str().c_str());
758          pResult = dbc->Query(query.str().c_str());
759          Row = pResult->Next();      
760          UInt_t idrl0 = 0;
761          if ( Row ){
762            idrl0 = (UInt_t)atoll(Row->GetField(0));
763          };
764          //
765          query.str("");
766          query << " SELECT ID,ID_ROOT_L2,EV_FROM FROM GL_RUN WHERE EV_FROM<="<<cvar->i<<" AND EV_TO>="<< cvar->i<<" AND ID_ROOT_L0="<< idrl0 <<";";
767          //      printf(" query is %s \n",query.str().c_str());
768          pResult = dbc->Query(query.str().c_str());
769          Row = pResult->Next();      
770          UInt_t idrl2 = 0;
771          UInt_t idrlun = 0;
772          UInt_t evfrom = 0;
773          if ( Row ){
774            idrlun = (UInt_t)atoll(Row->GetField(0));
775            idrl2 = (UInt_t)atoll(Row->GetField(1));
776            evfrom = (UInt_t)atoll(Row->GetField(2));
777          };
778          //
779          query.str("");
780          query << " SELECT ID,NEVENTS FROM GL_RUN WHERE ID_ROOT_L2="<< idrl2 <<" order by RUNHEADER_TIME asc;";
781          //      printf(" query is %s \n",query.str().c_str());
782          pResult = dbc->Query(query.str().c_str());
783          Row = pResult->Next();      
784          UInt_t coren = 0;
785          while ( Row ){
786            if ( (UInt_t)atoll(Row->GetField(0)) == idrlun ) break;
787            coren += (UInt_t)atoll(Row->GetField(1));
788            Row = pResult->Next();      
789          };
790          coren += cvar->i - evfrom;
791          //
792          GL_ROOT glroot = GL_ROOT();
793          if( !glroot.Query_GL_ROOT(idrl2,dbc) ){
794            //
795            cvar->i = coren;
796            //
797            cvar->thefilename= glroot.PATH + glroot.NAME;
798            cvar->nevents = 0;
799            cvar->firstevno = 0;
800            cvar->lastevno = 0;
801            if ( cvar->fl0 ) {
802              cvar->fl0 = false;
803              ffl0->SetState(kButtonUp);
804            };
805            cvar->restart = true;
806            cvar->waitforever = false;
807            //
808            if ( cvar->thefilter != "" ){
809              cvar->thefilter="";
810              cvar->selex = true;
811            };
812            //
813          } else {  
814            stringstream warning;
815            warning.str("");
816            warning << " Problems getting Level2 file ";
817            DIALOG(2,warning.str().c_str());
818          };
819          //      stringstream warning;
820          //      warning.str("");
821          //      warning << " Not yet implemented ";
822          //      DIALOG(2,warning.str().c_str());
823        };
824        //
825      } else {
826        stringstream warning;
827        warning.str("");
828        warning << " Problems connectiong to DB! ";
829        DIALOG(2,warning.str().c_str());
830      };
831      dbc->Close();
832    };
833    
834  void PAMevcontrol::CheckLevel() {  void PAMevcontrol::CheckLevel() {
835    if ( clev->file == 2 ){    if ( clev->file == 2 ){
836      ffl0->SetState(kButtonDisabled);      ffl0->SetState(kButtonDisabled);
837      if ( !cvar->tracknds4 ) {  //     if ( !cvar->tracknds4 ) {
838        ftrks4->SetState(kButtonUp);  //       ftrks4->SetState(kButtonUp);
839      } else {  //     } else {
840        ftrks4->SetState(kButtonDown);  //       ftrks4->SetState(kButtonDown);
841      };  //     };
842    } else {        } else {    
843      ftrks4->SetState(kButtonDisabled);      //ftrks4->SetState(kButtonDisabled);
844      if ( !cvar->fl0 ) {      if ( !cvar->fl0 ) {
845        ffl0->SetState(kButtonUp);        ffl0->SetState(kButtonUp);
846      } else {      } else {
847        ffl0->SetState(kButtonDown);            ffl0->SetState(kButtonDown);    
848      };      };
849    };    };
850      if ( clev->file == 2 ){
851        fgetl0->SetText("Get L0 file");
852      } else {
853        fgetl0->SetText("Get L2 file");
854      };
855  }  }
856    
857  void PAMevcontrol::SetSearching() {  void PAMevcontrol::SetSearching() {
# Line 388  void PAMevcontrol::StopSearching() { Line 862  void PAMevcontrol::StopSearching() {
862    bstop->SetState(kButtonDisabled);    bstop->SetState(kButtonDisabled);
863  };  };
864    
865    void PAMevcontrol::RefreshButtons() {
866      if ( cvar->jumprog ){
867        jbwc1->SetState(kButtonDown);
868        jbwc0->SetState(kButtonUp);
869      } else {
870        jbwc1->SetState(kButtonUp);
871        jbwc0->SetState(kButtonDown);
872      };
873      if ( cvar->fl0 ){
874        ffl0->SetState(kButtonDown);
875      } else {
876        ffl0->SetState(kButtonUp);
877      };
878      //  if ( cvar->tracknds4) ftrks4->SetState(kButtonDown);
879      if ( cvar->bw ){
880        bwc1->SetState(kButtonDown);
881        bwc0->SetState(kButtonUp);
882      } else {
883        bwc0->SetState(kButtonDown);
884        bwc1->SetState(kButtonUp);
885      };
886      if ( cvar->PALETTE) fchkpalette->SetState(kButtonDown); else fchkpalette->SetState(kButtonUp);
887      if ( cvar->VINFOS ) fchknames->SetState(kButtonDown); else fchknames->SetState(kButtonUp);
888      if ( cvar->INFOS ) fchkinfo->SetState(kButtonDown); else fchkinfo->SetState(kButtonUp);
889      //
890      if ( cvar->CALOT ) fchkcalost->SetState(kButtonDown); else fchkcalost->SetState(kButtonUp);
891      if ( cvar->CALO ){
892        fchkcalo->SetState(kButtonDown);
893        fshowcal->SetState(kButtonUp);    
894      } else {
895        fchkcalo->SetState(kButtonUp);
896        fchkcalost->SetState(kButtonDisabled);
897        fshowcal->SetState(kButtonDisabled);    
898      };
899      //
900      if ( cvar->ND ){
901        fchknd->SetState(kButtonDown);
902        fshownd->SetState(kButtonUp);
903      } else {
904        fchknd->SetState(kButtonUp);
905        fshownd->SetState(kButtonDisabled);
906      };
907      //
908      if ( cvar->S4 ){
909        fchks4->SetState(kButtonDown);
910        fshows4->SetState(kButtonUp);
911      } else {
912        fchks4->SetState(kButtonUp);
913        fshows4->SetState(kButtonDisabled);
914      };
915      //
916      if ( cvar->TRK ){
917        fchktrk->SetState(kButtonDown);
918        fshowtrk->SetState(kButtonUp);
919      } else {
920        fchktrk->SetState(kButtonUp);
921        fshowtrk->SetState(kButtonDisabled);
922      }
923      //
924      if ( cvar->AC ){
925        fchkac->SetState(kButtonDown);
926        fshowac->SetState(kButtonUp);
927      } else {
928        fchkac->SetState(kButtonUp);
929        fshowac->SetState(kButtonDisabled);
930      };
931      //
932      if ( cvar->TOF ){
933        fchktof->SetState(kButtonDown);
934        fshowtof->SetState(kButtonUp);
935      } else {
936        fchktof->SetState(kButtonUp);
937        fshowtof->SetState(kButtonDisabled);
938      };
939      //
940      CheckLevel();
941      //
942    };
943    
944  void PAMevcontrol::SetFilter() {  void PAMevcontrol::SetFilter() {
945      TGTextEntry *entry = (TGTextEntry*)gTQSender;      TGTextEntry *entry = (TGTextEntry*)gTQSender;
946      TString text = entry->GetText();      TString text = entry->GetText();
# Line 568  void PAMevcontrol::increment(float val) Line 1121  void PAMevcontrol::increment(float val)
1121  }  }
1122    
1123  void PAMevcontrol::forcel0() {  void PAMevcontrol::forcel0() {
1124      if ( cvar->fl0 ) {    cvar->fl0 = !cvar->fl0;
1125          cvar->fl0 = false;    cvar->alrforc = false;
1126      } else {    cvar->i--;
1127          cvar->fl0 = true;    cvar->nevents = 0;
1128      };    cvar->firstevno = 0;
1129      cvar->alrforc = false;    cvar->lastevno = 0;
1130      cvar->i--;    cvar->refresh = true;
     cvar->nevents = 0;  
     cvar->firstevno = 0;  
     cvar->lastevno = 0;  
     cvar->refresh = true;  
1131  }  }
1132    
1133  void PAMevcontrol::clearselfi(){  void PAMevcontrol::clearselfi(){

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.23