ROOT logo
// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#include "AliEveTrackFitterEditor.h"
#include "AliEveTrackFitter.h"

#include <TGButton.h>

//==============================================================================
//==============================================================================
// AliEveTrackFitterEditor
//==============================================================================

//______________________________________________________________________________
//
// GUI editor for class AliEveTrackFitter

ClassImp(AliEveTrackFitterEditor)

AliEveTrackFitterEditor::AliEveTrackFitterEditor(const TGWindow *p, Int_t width, Int_t height,
    UInt_t options, Pixel_t back) :
  TGedFrame(p, width, height, options | kVerticalFrame, back),
  fM(0),
  fFit(0),
  fReset(0),
  fStart(0),
  fStop(0),
  fGraph(0)
{
  // Constructor.

  MakeTitle("AliEveTrackFitter");

  fStart = new TGTextButton(this, "Start");
  AddFrame(fStart, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 3, 1));
  fStart->Connect("Clicked()",
                  "AliEveTrackFitterEditor", this, "DoStart()");

  fFit = new TGTextButton(this, "Fit");
  AddFrame(fFit, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 1));
  fFit->Connect("Clicked()",
                "AliEveTrackFitterEditor", this, "DoFit()");

  fReset = new TGTextButton(this, "Reset");
  AddFrame(fReset, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 1));
  fReset->Connect("Clicked()",
                  "AliEveTrackFitterEditor", this, "DoReset()");

  fStop = new TGTextButton(this, "Stop");
  AddFrame(fStop, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 1, 1, 4));
  fStop->Connect("Clicked()",
                 "AliEveTrackFitterEditor", this, "DoStop()");

  fGraph = new TGTextButton(this, "DebugGraph");
  AddFrame(fGraph, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 4, 2, 4, 1));
  fGraph->Connect("Clicked()",
                 "AliEveTrackFitterEditor", this, "DoGraph()");
 }

/******************************************************************************/

void AliEveTrackFitterEditor::SetModel(TObject* obj)
{
  // Set model object.

  fM = static_cast<AliEveTrackFitter*>(obj);

  if(fM->GetConnected())
  {
    fStart->SetState(kButtonDisabled);
    fStop->SetState(kButtonUp);
  }
  else
  {
    fStop->SetState(kButtonDisabled);
    fStart->SetState(kButtonEngaged);
    fStart->SetState(kButtonUp);
  }
}

/**************************************************************************/

void AliEveTrackFitterEditor::DoFit()
{
  // Fit slot.

  fM->FitTrack();
  Update();
}

void AliEveTrackFitterEditor::DoReset()
{
  // Reset slot.

  fM->Reset();
  Update();
}

void AliEveTrackFitterEditor::DoStart()
{
  // Start selection slot.

  fM->Start();
  fStart->SetState(kButtonDisabled);
  fStop->SetState(kButtonUp);
}

void AliEveTrackFitterEditor::DoStop()
{
  // Stop selection slot.

  fM->Stop();
  fStop->SetState(kButtonDisabled);
  fStart->SetState(kButtonUp);
}

void AliEveTrackFitterEditor::DoGraph()
{
  // Draw graph slot.

  fM->DrawDebugGraph();
  Update();
}
 AliEveTrackFitterEditor.cxx:1
 AliEveTrackFitterEditor.cxx:2
 AliEveTrackFitterEditor.cxx:3
 AliEveTrackFitterEditor.cxx:4
 AliEveTrackFitterEditor.cxx:5
 AliEveTrackFitterEditor.cxx:6
 AliEveTrackFitterEditor.cxx:7
 AliEveTrackFitterEditor.cxx:8
 AliEveTrackFitterEditor.cxx:9
 AliEveTrackFitterEditor.cxx:10
 AliEveTrackFitterEditor.cxx:11
 AliEveTrackFitterEditor.cxx:12
 AliEveTrackFitterEditor.cxx:13
 AliEveTrackFitterEditor.cxx:14
 AliEveTrackFitterEditor.cxx:15
 AliEveTrackFitterEditor.cxx:16
 AliEveTrackFitterEditor.cxx:17
 AliEveTrackFitterEditor.cxx:18
 AliEveTrackFitterEditor.cxx:19
 AliEveTrackFitterEditor.cxx:20
 AliEveTrackFitterEditor.cxx:21
 AliEveTrackFitterEditor.cxx:22
 AliEveTrackFitterEditor.cxx:23
 AliEveTrackFitterEditor.cxx:24
 AliEveTrackFitterEditor.cxx:25
 AliEveTrackFitterEditor.cxx:26
 AliEveTrackFitterEditor.cxx:27
 AliEveTrackFitterEditor.cxx:28
 AliEveTrackFitterEditor.cxx:29
 AliEveTrackFitterEditor.cxx:30
 AliEveTrackFitterEditor.cxx:31
 AliEveTrackFitterEditor.cxx:32
 AliEveTrackFitterEditor.cxx:33
 AliEveTrackFitterEditor.cxx:34
 AliEveTrackFitterEditor.cxx:35
 AliEveTrackFitterEditor.cxx:36
 AliEveTrackFitterEditor.cxx:37
 AliEveTrackFitterEditor.cxx:38
 AliEveTrackFitterEditor.cxx:39
 AliEveTrackFitterEditor.cxx:40
 AliEveTrackFitterEditor.cxx:41
 AliEveTrackFitterEditor.cxx:42
 AliEveTrackFitterEditor.cxx:43
 AliEveTrackFitterEditor.cxx:44
 AliEveTrackFitterEditor.cxx:45
 AliEveTrackFitterEditor.cxx:46
 AliEveTrackFitterEditor.cxx:47
 AliEveTrackFitterEditor.cxx:48
 AliEveTrackFitterEditor.cxx:49
 AliEveTrackFitterEditor.cxx:50
 AliEveTrackFitterEditor.cxx:51
 AliEveTrackFitterEditor.cxx:52
 AliEveTrackFitterEditor.cxx:53
 AliEveTrackFitterEditor.cxx:54
 AliEveTrackFitterEditor.cxx:55
 AliEveTrackFitterEditor.cxx:56
 AliEveTrackFitterEditor.cxx:57
 AliEveTrackFitterEditor.cxx:58
 AliEveTrackFitterEditor.cxx:59
 AliEveTrackFitterEditor.cxx:60
 AliEveTrackFitterEditor.cxx:61
 AliEveTrackFitterEditor.cxx:62
 AliEveTrackFitterEditor.cxx:63
 AliEveTrackFitterEditor.cxx:64
 AliEveTrackFitterEditor.cxx:65
 AliEveTrackFitterEditor.cxx:66
 AliEveTrackFitterEditor.cxx:67
 AliEveTrackFitterEditor.cxx:68
 AliEveTrackFitterEditor.cxx:69
 AliEveTrackFitterEditor.cxx:70
 AliEveTrackFitterEditor.cxx:71
 AliEveTrackFitterEditor.cxx:72
 AliEveTrackFitterEditor.cxx:73
 AliEveTrackFitterEditor.cxx:74
 AliEveTrackFitterEditor.cxx:75
 AliEveTrackFitterEditor.cxx:76
 AliEveTrackFitterEditor.cxx:77
 AliEveTrackFitterEditor.cxx:78
 AliEveTrackFitterEditor.cxx:79
 AliEveTrackFitterEditor.cxx:80
 AliEveTrackFitterEditor.cxx:81
 AliEveTrackFitterEditor.cxx:82
 AliEveTrackFitterEditor.cxx:83
 AliEveTrackFitterEditor.cxx:84
 AliEveTrackFitterEditor.cxx:85
 AliEveTrackFitterEditor.cxx:86
 AliEveTrackFitterEditor.cxx:87
 AliEveTrackFitterEditor.cxx:88
 AliEveTrackFitterEditor.cxx:89
 AliEveTrackFitterEditor.cxx:90
 AliEveTrackFitterEditor.cxx:91
 AliEveTrackFitterEditor.cxx:92
 AliEveTrackFitterEditor.cxx:93
 AliEveTrackFitterEditor.cxx:94
 AliEveTrackFitterEditor.cxx:95
 AliEveTrackFitterEditor.cxx:96
 AliEveTrackFitterEditor.cxx:97
 AliEveTrackFitterEditor.cxx:98
 AliEveTrackFitterEditor.cxx:99
 AliEveTrackFitterEditor.cxx:100
 AliEveTrackFitterEditor.cxx:101
 AliEveTrackFitterEditor.cxx:102
 AliEveTrackFitterEditor.cxx:103
 AliEveTrackFitterEditor.cxx:104
 AliEveTrackFitterEditor.cxx:105
 AliEveTrackFitterEditor.cxx:106
 AliEveTrackFitterEditor.cxx:107
 AliEveTrackFitterEditor.cxx:108
 AliEveTrackFitterEditor.cxx:109
 AliEveTrackFitterEditor.cxx:110
 AliEveTrackFitterEditor.cxx:111
 AliEveTrackFitterEditor.cxx:112
 AliEveTrackFitterEditor.cxx:113
 AliEveTrackFitterEditor.cxx:114
 AliEveTrackFitterEditor.cxx:115
 AliEveTrackFitterEditor.cxx:116
 AliEveTrackFitterEditor.cxx:117
 AliEveTrackFitterEditor.cxx:118
 AliEveTrackFitterEditor.cxx:119
 AliEveTrackFitterEditor.cxx:120
 AliEveTrackFitterEditor.cxx:121
 AliEveTrackFitterEditor.cxx:122
 AliEveTrackFitterEditor.cxx:123
 AliEveTrackFitterEditor.cxx:124
 AliEveTrackFitterEditor.cxx:125
 AliEveTrackFitterEditor.cxx:126
 AliEveTrackFitterEditor.cxx:127
 AliEveTrackFitterEditor.cxx:128
 AliEveTrackFitterEditor.cxx:129