Ignore:
Timestamp:
11/05/01 10:35:36 (23 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/meventdisp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc

    r1015 r1030  
    115115    plist->AddToList(pedest);
    116116
    117     fInitOk = fEvtLoop->PreProcess();
    118 
    119     if (fInitOk)
    120         GetTaskList()->Process();
    121 
    122117    return geom;
    123118}
     
    147142    fDisplay = new MCamDisplay(geom);
    148143    fDisplay->Draw();
    149 
    150144    fList->Add(fDisplay);
     145
     146    ReadFirstEvent();
    151147
    152148    //
     
    161157    SetWindowName("Hillas Event Display");
    162158    SetIconName("Hillas");
    163 
    164     UpdateDisplay();
    165     UpdateNumOfEvts();
    166     UpdateEventCounter();
    167159
    168160    MapWindow();
     
    177169void MGCamDisplay::UpdateDisplay()
    178170{
    179     if (!fInitOk)
     171    if (!IsInitOk())
    180172        return;
    181173
  • trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc

    r1023 r1030  
    139139// --------------------------------------------------------------------------
    140140//
    141 //  Show the correct number of events
    142 //
    143 void MGEvtDisplay::UpdateNumOfEvts()
    144 {
    145     char txt[100];
    146     sprintf(txt, "out of %d Events", GetReader()->GetEntries());
    147 
    148     fNumOfEvts->SetText(new TGString(txt));
    149 }
    150 
    151 // --------------------------------------------------------------------------
    152 //
    153141//  Add the second part of the top frame: This are the event number controls
    154142//
     
    405393    AddMenuBar();
    406394    AddFrames(fname, tname);
    407     UpdateEventCounter();
    408395}
    409396
     
    435422//  and updates the display
    436423//
    437 void MGEvtDisplay::ReadinEvent(UInt_t iEvt)
    438 {
    439     if (!fInitOk)
    440         return;
    441 
    442     Int_t buttons = 4;
    443     Int_t retval  = 0;
    444 
    445     //
    446     //  first check if the new event is in the range of possible events
    447     //
    448     if (iEvt >= GetReader()->GetEntries())
     424void MGEvtDisplay::ReadinEvent()
     425{
     426    if (GetTaskList()->Process())
    449427    {
    450         new TGMsgBox(gClient->GetRoot(), this, "WARNING!",
    451                      "The event number is out of range!!!",
    452                      kMBIconExclamation, buttons, &retval);
     428        GetReader()->DecEventNum();
     429        UpdateDisplay();
    453430    }
    454     else
    455     {
    456         GetReader()->SetEventNum(iEvt);
    457 
    458         if (GetTaskList()->Process())
    459             UpdateDisplay();
    460     }
    461 
    462     UpdateEventCounter();
    463 }
    464 
    465 // --------------------------------------------------------------------------
    466 //
    467 //  Update the event counter
    468 //
    469 void MGEvtDisplay::UpdateEventCounter()
    470 {
    471     char txt[256];
    472 
    473     sprintf(txt, "%d", GetReader()->GetEventNum());
    474 
    475     fTxtEvtNr->SetText(txt);
     431
     432    fTxtEvtNr->SetText(Form("%d", GetReader()->GetEventNum()+1));
     433}
     434
     435void MGEvtDisplay::ReadFirstEvent()
     436{
     437    fInitOk = fEvtLoop->PreProcess();
     438
     439    if (fInitOk)
     440        ReadinEvent();
     441
     442    TGString *txt = new TGString(Form("out of %d Events", GetReader()->GetEntries()));
     443    fNumOfEvts->SetText(txt);
    476444}
    477445
     
    526494// --------------------------------------------------------------------------
    527495//
    528 //    ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
     496//  ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
    529497//
    530498// Processes information from all GUI items.
     
    535503Bool_t MGEvtDisplay::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
    536504{
    537     switch(GET_MSG(msg))
     505    if (GET_MSG(msg)!=kC_TEXTENTRY && GET_MSG(msg)!=kC_COMMAND)
     506        return kTRUE;
     507
     508    switch(GET_SUBMSG(msg))
    538509    {
    539     case kC_COMMAND:
     510    case kTE_ENTER:
     511    case kCM_BUTTON:
     512        if (parm1==kClose)
     513        {
     514            CloseWindow();
     515            return kTRUE;
     516        }
     517
     518        if (!fInitOk)
     519            return kTRUE;
     520
    540521        switch(GET_SUBMSG(msg))
    541522        {
     523        case kTE_ENTER:
     524            if (GetReader()->SetEventNum(atoi(fTxtEvtNr->GetText())-1))
     525                ReadinEvent();
     526            return kTRUE;
     527
    542528        case kCM_BUTTON:
    543529            switch (parm1)
    544530            {
    545531            case kEvtPrev:
    546                 //
    547                 // '-2' is because MReadTree::Process increases the
    548                 // Event number by one - this is the natural behaviour
    549                 // after reading one event
    550                 //
    551                 ReadinEvent(GetReader()->GetEventNum()-2);
     532                if (GetReader()->DecEventNum())
     533                    ReadinEvent();
    552534                return kTRUE;
    553535
    554536            case kEvtNext:
    555                 //
    556                 // '+0' is because MReadTree::Process increases the
    557                 // Event number by one - this is the natural behaviour
    558                 // after reading one event
    559                 //
    560                 ReadinEvent(GetReader()->GetEventNum());
    561                 return kTRUE;
    562 
    563             case kClose:
    564                 CloseWindow();
    565                 return kTRUE;
    566             }
    567             return kTRUE;
    568 
    569         case kCM_MENU:
    570             switch (parm1)
    571             {
    572             case kFileSaveAs:
    573                 SaveAsDialog();
    574                 return kTRUE;
    575             case kFileSaveAsRoot:
    576                 fCanvas->SaveAs("display.root");
    577                 return kTRUE;
    578             case kFileSaveAsC:
    579                 fCanvas->SaveSource("display.C");
    580                 return kTRUE;
    581             case kFileSaveAsPS:
    582                 fCanvas->SaveAs("display.ps");
    583                 return kTRUE;
    584             case kFileSaveAsEPS:
    585                 fCanvas->SaveAs("display.eps");
    586                 return kTRUE;
    587             case kFileSaveAsGIF:
    588                 fCanvas->SaveAs("display.gif");
    589                 return kTRUE;
    590             case kFilePrint:
    591                 fCanvas->Print();
    592                 return kTRUE;
    593             case kClose:
    594                 CloseWindow();
     537                if (GetReader()->IncEventNum())
     538                    ReadinEvent();
    595539                return kTRUE;
    596540            }
     
    599543        return kTRUE;
    600544
    601     case kC_TEXTENTRY:
    602         if (GET_SUBMSG(msg) == kTE_ENTER)
    603             ReadinEvent(atoi(fTxtEvtNr->GetText())-1);
     545    case kCM_MENU:
     546        switch (parm1)
     547            {
     548            case kFileSaveAs:
     549                SaveAsDialog();
     550                return kTRUE;
     551            case kFileSaveAsRoot:
     552                fCanvas->SaveAs("display.root");
     553                return kTRUE;
     554            case kFileSaveAsC:
     555                // FIXME: The line opening the canvas is wrong.
     556                fCanvas->SaveSource("display.C");
     557                return kTRUE;
     558            case kFileSaveAsPS:
     559                fCanvas->SaveAs("display.ps");
     560                return kTRUE;
     561            case kFileSaveAsEPS:
     562                fCanvas->SaveAs("display.eps");
     563                return kTRUE;
     564            case kFileSaveAsGIF:
     565                fCanvas->SaveAs("display.gif");
     566                return kTRUE;
     567            case kFilePrint:
     568                fCanvas->Print();
     569                return kTRUE;
     570            case kClose:
     571                CloseWindow();
     572                return kTRUE;
     573            }
    604574        return kTRUE;
    605575    }
    606 
    607576    return kTRUE;
    608577}
  • trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h

    r1023 r1030  
    4040
    4141    void SaveAsDialog() const;
     42    void ReadinEvent();
    4243
    43     void ReadinEvent(UInt_t iEvt);
     44    Bool_t fInitOk;
    4445
    4546protected:
     
    5455    TGVerticalFrame  *fMidFrame;
    5556
    56     Bool_t fInitOk;
    57 
    5857    MParList  *GetParList() const;
    5958    MTaskList *GetTaskList() const;
    6059    MReadTree *GetReader() const;
    6160
    62     void UpdateEventCounter();
    63     void UpdateNumOfEvts();
     61    void   ReadFirstEvent();
     62    Bool_t IsInitOk() { return fInitOk; }
    6463
    6564    virtual void UpdateDisplay() = 0;
  • trunk/MagicSoft/Mars/meventdisp/MGFadcDisp.cc

    r991 r1030  
    125125    // preprocess eventloop and read in first event (process)
    126126    //
    127     fInitOk = fEvtLoop->PreProcess();
    128 
    129     if (fInitOk)
    130         GetTaskList()->Process();
     127    GetReader()->DisableAutoScheme();
     128    ReadFirstEvent();
    131129
    132130    //
     
    144142    SetWindowName("Fadc Event Display");
    145143    SetIconName("Fadc");
    146 
    147     UpdateDisplay();
    148     UpdateNumOfEvts();
    149     UpdateEventCounter();
    150144
    151145    MapWindow();
     
    220214void MGFadcDisp::UpdateDisplay()
    221215{
    222     if (!fInitOk)
     216    if (!IsInitOk())
    223217        return;
    224218
Note: See TracChangeset for help on using the changeset viewer.