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 "AliEveTPCSectorVizEditor.h"
#include <EveDet/AliEveTPCSectorViz.h>

#include <TEveGValuators.h>

#include <TVirtualPad.h>

#include <TGButton.h>
#include <TGNumberEntry.h>
#include <TGSlider.h>
#include <TGDoubleSlider.h>


//______________________________________________________________________________
//
// Editor for AliEveTPCSectorViz.

ClassImp(AliEveTPCSectorVizEditor)

AliEveTPCSectorVizEditor::AliEveTPCSectorVizEditor(const TGWindow *p,
                                       Int_t width, Int_t height,
                                       UInt_t options, Pixel_t back) :
  TGedFrame(p, width, height, options | kVerticalFrame, back),
  fM(0),
  fSectorID  (0), fAutoTrans (0),
  fRnrInn    (0), fRnrOut1   (0), fRnrOut2(0),
  fThreshold (0), fMaxVal    (0),
  fTime      (0)
{
  // Constructor.

  fPriority = 40;

  Int_t labelW = 60;

  MakeTitle("AliEveTPCSectorViz");

  fSectorID = new TEveGValuator(this, "SectorID", 110, 0);
  fSectorID->SetLabelWidth(labelW);
  fSectorID->SetShowSlider(kFALSE);
  fSectorID->SetNELength(4);
  fSectorID->Build();
  fSectorID->SetLimits(0, 35);
  fSectorID->SetToolTip("0-17 +z plate; 18-35 -z plate");
  fSectorID->Connect("ValueSet(Double_t)",
		     "AliEveTPCSectorVizEditor", this, "DoSectorID()");
  // Reuse sectorID for auto-transformation button
  fAutoTrans = new TGCheckButton(fSectorID, "AutoTrans");
  fAutoTrans->SetToolTipText("Automatically set transformation to true position");
  fSectorID->AddFrame(fAutoTrans, new TGLayoutHints(kLHintsLeft, 12, 0, 1, 0));
  fAutoTrans->Connect("Toggled(Bool_t)","AliEveTPCSectorVizEditor", this, "DoAutoTrans()");
  AddFrame(fSectorID, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));

  {
    TGHorizontalFrame* f = new TGHorizontalFrame(this);

    fRnrInn = new TGCheckButton(f, "Inner");
    f->AddFrame(fRnrInn, new TGLayoutHints(kLHintsTop, 3, 1, 1, 0));
    fRnrInn->Connect("Toggled(Bool_t)","AliEveTPCSectorVizEditor", this, "DoRnrInn()");

    fRnrOut1 = new TGCheckButton(f, "Outer 1");
    f->AddFrame(fRnrOut1, new TGLayoutHints(kLHintsTop, 3, 1, 1, 0));
    fRnrOut1->Connect("Toggled(Bool_t)","AliEveTPCSectorVizEditor", this, "DoRnrOut1()");

    fRnrOut2 = new TGCheckButton(f, "Outer 2");
    f->AddFrame(fRnrOut2, new TGLayoutHints(kLHintsTop, 3, 1, 1, 0));
    fRnrOut2->Connect("Toggled(Bool_t)","AliEveTPCSectorVizEditor", this, "DoRnrOut2()");

    AddFrame(f, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
  }

  fThreshold = new TEveGValuator(this, "Threshold", 200, 0);
  fThreshold->SetNELength(4);
  fThreshold->SetLabelWidth(labelW);
  fThreshold->Build();
  fThreshold->GetSlider()->SetWidth(120);
  fThreshold->SetLimits(0,250);
  fThreshold->Connect("ValueSet(Double_t)",
		      "AliEveTPCSectorVizEditor", this, "DoThreshold()");
  AddFrame(fThreshold, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));

  fMaxVal = new TEveGValuator(this,"MaxVal", 200, 0);
  fMaxVal->SetNELength(4);
  fMaxVal->SetLabelWidth(labelW);
  fMaxVal->Build();
  fMaxVal->GetSlider()->SetWidth(120);
  fMaxVal->SetLimits(0, 500);
  fMaxVal->Connect("ValueSet(Double_t)",
		   "AliEveTPCSectorVizEditor", this, "DoMaxVal()");
  AddFrame(fMaxVal, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));

  fTime = new TEveGDoubleValuator(this,"Time", 200, 0);
  fTime->SetNELength(4);
  fTime->SetLabelWidth(labelW);
  fTime->Build();
  fTime->GetSlider()->SetWidth(224);
  fTime->SetLimits(0, 1023, TGNumberFormat::kNESInteger);
  fTime->Connect("ValueSet()",
		 "AliEveTPCSectorVizEditor", this, "DoTime()");
  AddFrame(fTime, new TGLayoutHints(kLHintsTop, 1, 1, 2, 1));
}

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

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

  fM = static_cast<AliEveTPCSectorViz*>(obj);

  fSectorID->SetValue(fM->fSectorID);
  fAutoTrans->SetState(fM->fAutoTrans  ? kButtonDown : kButtonUp);

  fRnrInn ->SetState(fM->fRnrInn  ? kButtonDown : kButtonUp);
  fRnrOut1->SetState(fM->fRnrOut1 ? kButtonDown : kButtonUp);
  fRnrOut2->SetState(fM->fRnrOut2 ? kButtonDown : kButtonUp);

  fThreshold->SetValue(fM->fThreshold);
  fMaxVal->SetValue(fM->fMaxVal);

  fTime->SetValues(fM->fMinTime, fM->fMaxTime);
}

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

void AliEveTPCSectorVizEditor::DoSectorID()
{
  // Slot for SectorID.

  fM->SetSectorID((Int_t) fSectorID->GetValue());
  Update();
}

void AliEveTPCSectorVizEditor::DoAutoTrans()
{
  // Slot for AutoTrans.

  fM->SetAutoTrans(fAutoTrans->IsOn());
  Update();
}

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

void AliEveTPCSectorVizEditor::DoRnrInn()
{
  // Slot for RnrInn.

  fM->SetRnrInn(fRnrInn->IsOn());
  Update();
}

void AliEveTPCSectorVizEditor::DoRnrOut1()
{
  // Slot for RnrOut1.

  fM->SetRnrOut1(fRnrOut1->IsOn());
  Update();
}

void AliEveTPCSectorVizEditor::DoRnrOut2()
{
  // Slot for RnrOut2.

  fM->SetRnrOut2(fRnrOut2->IsOn());
  Update();
}

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

void AliEveTPCSectorVizEditor::DoThreshold()
{
  // Slot for Threshold.

  fM->SetThreshold((Short_t) fThreshold->GetValue());
  fThreshold->SetValue(fM->fThreshold);
  Update();
}

void AliEveTPCSectorVizEditor::DoMaxVal()
{
  // Slot for MaxVal.

  fM->SetMaxVal((Int_t) fMaxVal->GetValue());
  fMaxVal->SetValue(fM->fMaxVal);
  Update();
}

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

void AliEveTPCSectorVizEditor::DoTime()
{
  // Slot for time-range.

  fM->SetMinTime((Int_t) fTime->GetMin());
  fM->SetMaxTime((Int_t) fTime->GetMax());
  Update();
}
 AliEveTPCSectorVizEditor.cxx:1
 AliEveTPCSectorVizEditor.cxx:2
 AliEveTPCSectorVizEditor.cxx:3
 AliEveTPCSectorVizEditor.cxx:4
 AliEveTPCSectorVizEditor.cxx:5
 AliEveTPCSectorVizEditor.cxx:6
 AliEveTPCSectorVizEditor.cxx:7
 AliEveTPCSectorVizEditor.cxx:8
 AliEveTPCSectorVizEditor.cxx:9
 AliEveTPCSectorVizEditor.cxx:10
 AliEveTPCSectorVizEditor.cxx:11
 AliEveTPCSectorVizEditor.cxx:12
 AliEveTPCSectorVizEditor.cxx:13
 AliEveTPCSectorVizEditor.cxx:14
 AliEveTPCSectorVizEditor.cxx:15
 AliEveTPCSectorVizEditor.cxx:16
 AliEveTPCSectorVizEditor.cxx:17
 AliEveTPCSectorVizEditor.cxx:18
 AliEveTPCSectorVizEditor.cxx:19
 AliEveTPCSectorVizEditor.cxx:20
 AliEveTPCSectorVizEditor.cxx:21
 AliEveTPCSectorVizEditor.cxx:22
 AliEveTPCSectorVizEditor.cxx:23
 AliEveTPCSectorVizEditor.cxx:24
 AliEveTPCSectorVizEditor.cxx:25
 AliEveTPCSectorVizEditor.cxx:26
 AliEveTPCSectorVizEditor.cxx:27
 AliEveTPCSectorVizEditor.cxx:28
 AliEveTPCSectorVizEditor.cxx:29
 AliEveTPCSectorVizEditor.cxx:30
 AliEveTPCSectorVizEditor.cxx:31
 AliEveTPCSectorVizEditor.cxx:32
 AliEveTPCSectorVizEditor.cxx:33
 AliEveTPCSectorVizEditor.cxx:34
 AliEveTPCSectorVizEditor.cxx:35
 AliEveTPCSectorVizEditor.cxx:36
 AliEveTPCSectorVizEditor.cxx:37
 AliEveTPCSectorVizEditor.cxx:38
 AliEveTPCSectorVizEditor.cxx:39
 AliEveTPCSectorVizEditor.cxx:40
 AliEveTPCSectorVizEditor.cxx:41
 AliEveTPCSectorVizEditor.cxx:42
 AliEveTPCSectorVizEditor.cxx:43
 AliEveTPCSectorVizEditor.cxx:44
 AliEveTPCSectorVizEditor.cxx:45
 AliEveTPCSectorVizEditor.cxx:46
 AliEveTPCSectorVizEditor.cxx:47
 AliEveTPCSectorVizEditor.cxx:48
 AliEveTPCSectorVizEditor.cxx:49
 AliEveTPCSectorVizEditor.cxx:50
 AliEveTPCSectorVizEditor.cxx:51
 AliEveTPCSectorVizEditor.cxx:52
 AliEveTPCSectorVizEditor.cxx:53
 AliEveTPCSectorVizEditor.cxx:54
 AliEveTPCSectorVizEditor.cxx:55
 AliEveTPCSectorVizEditor.cxx:56
 AliEveTPCSectorVizEditor.cxx:57
 AliEveTPCSectorVizEditor.cxx:58
 AliEveTPCSectorVizEditor.cxx:59
 AliEveTPCSectorVizEditor.cxx:60
 AliEveTPCSectorVizEditor.cxx:61
 AliEveTPCSectorVizEditor.cxx:62
 AliEveTPCSectorVizEditor.cxx:63
 AliEveTPCSectorVizEditor.cxx:64
 AliEveTPCSectorVizEditor.cxx:65
 AliEveTPCSectorVizEditor.cxx:66
 AliEveTPCSectorVizEditor.cxx:67
 AliEveTPCSectorVizEditor.cxx:68
 AliEveTPCSectorVizEditor.cxx:69
 AliEveTPCSectorVizEditor.cxx:70
 AliEveTPCSectorVizEditor.cxx:71
 AliEveTPCSectorVizEditor.cxx:72
 AliEveTPCSectorVizEditor.cxx:73
 AliEveTPCSectorVizEditor.cxx:74
 AliEveTPCSectorVizEditor.cxx:75
 AliEveTPCSectorVizEditor.cxx:76
 AliEveTPCSectorVizEditor.cxx:77
 AliEveTPCSectorVizEditor.cxx:78
 AliEveTPCSectorVizEditor.cxx:79
 AliEveTPCSectorVizEditor.cxx:80
 AliEveTPCSectorVizEditor.cxx:81
 AliEveTPCSectorVizEditor.cxx:82
 AliEveTPCSectorVizEditor.cxx:83
 AliEveTPCSectorVizEditor.cxx:84
 AliEveTPCSectorVizEditor.cxx:85
 AliEveTPCSectorVizEditor.cxx:86
 AliEveTPCSectorVizEditor.cxx:87
 AliEveTPCSectorVizEditor.cxx:88
 AliEveTPCSectorVizEditor.cxx:89
 AliEveTPCSectorVizEditor.cxx:90
 AliEveTPCSectorVizEditor.cxx:91
 AliEveTPCSectorVizEditor.cxx:92
 AliEveTPCSectorVizEditor.cxx:93
 AliEveTPCSectorVizEditor.cxx:94
 AliEveTPCSectorVizEditor.cxx:95
 AliEveTPCSectorVizEditor.cxx:96
 AliEveTPCSectorVizEditor.cxx:97
 AliEveTPCSectorVizEditor.cxx:98
 AliEveTPCSectorVizEditor.cxx:99
 AliEveTPCSectorVizEditor.cxx:100
 AliEveTPCSectorVizEditor.cxx:101
 AliEveTPCSectorVizEditor.cxx:102
 AliEveTPCSectorVizEditor.cxx:103
 AliEveTPCSectorVizEditor.cxx:104
 AliEveTPCSectorVizEditor.cxx:105
 AliEveTPCSectorVizEditor.cxx:106
 AliEveTPCSectorVizEditor.cxx:107
 AliEveTPCSectorVizEditor.cxx:108
 AliEveTPCSectorVizEditor.cxx:109
 AliEveTPCSectorVizEditor.cxx:110
 AliEveTPCSectorVizEditor.cxx:111
 AliEveTPCSectorVizEditor.cxx:112
 AliEveTPCSectorVizEditor.cxx:113
 AliEveTPCSectorVizEditor.cxx:114
 AliEveTPCSectorVizEditor.cxx:115
 AliEveTPCSectorVizEditor.cxx:116
 AliEveTPCSectorVizEditor.cxx:117
 AliEveTPCSectorVizEditor.cxx:118
 AliEveTPCSectorVizEditor.cxx:119
 AliEveTPCSectorVizEditor.cxx:120
 AliEveTPCSectorVizEditor.cxx:121
 AliEveTPCSectorVizEditor.cxx:122
 AliEveTPCSectorVizEditor.cxx:123
 AliEveTPCSectorVizEditor.cxx:124
 AliEveTPCSectorVizEditor.cxx:125
 AliEveTPCSectorVizEditor.cxx:126
 AliEveTPCSectorVizEditor.cxx:127
 AliEveTPCSectorVizEditor.cxx:128
 AliEveTPCSectorVizEditor.cxx:129
 AliEveTPCSectorVizEditor.cxx:130
 AliEveTPCSectorVizEditor.cxx:131
 AliEveTPCSectorVizEditor.cxx:132
 AliEveTPCSectorVizEditor.cxx:133
 AliEveTPCSectorVizEditor.cxx:134
 AliEveTPCSectorVizEditor.cxx:135
 AliEveTPCSectorVizEditor.cxx:136
 AliEveTPCSectorVizEditor.cxx:137
 AliEveTPCSectorVizEditor.cxx:138
 AliEveTPCSectorVizEditor.cxx:139
 AliEveTPCSectorVizEditor.cxx:140
 AliEveTPCSectorVizEditor.cxx:141
 AliEveTPCSectorVizEditor.cxx:142
 AliEveTPCSectorVizEditor.cxx:143
 AliEveTPCSectorVizEditor.cxx:144
 AliEveTPCSectorVizEditor.cxx:145
 AliEveTPCSectorVizEditor.cxx:146
 AliEveTPCSectorVizEditor.cxx:147
 AliEveTPCSectorVizEditor.cxx:148
 AliEveTPCSectorVizEditor.cxx:149
 AliEveTPCSectorVizEditor.cxx:150
 AliEveTPCSectorVizEditor.cxx:151
 AliEveTPCSectorVizEditor.cxx:152
 AliEveTPCSectorVizEditor.cxx:153
 AliEveTPCSectorVizEditor.cxx:154
 AliEveTPCSectorVizEditor.cxx:155
 AliEveTPCSectorVizEditor.cxx:156
 AliEveTPCSectorVizEditor.cxx:157
 AliEveTPCSectorVizEditor.cxx:158
 AliEveTPCSectorVizEditor.cxx:159
 AliEveTPCSectorVizEditor.cxx:160
 AliEveTPCSectorVizEditor.cxx:161
 AliEveTPCSectorVizEditor.cxx:162
 AliEveTPCSectorVizEditor.cxx:163
 AliEveTPCSectorVizEditor.cxx:164
 AliEveTPCSectorVizEditor.cxx:165
 AliEveTPCSectorVizEditor.cxx:166
 AliEveTPCSectorVizEditor.cxx:167
 AliEveTPCSectorVizEditor.cxx:168
 AliEveTPCSectorVizEditor.cxx:169
 AliEveTPCSectorVizEditor.cxx:170
 AliEveTPCSectorVizEditor.cxx:171
 AliEveTPCSectorVizEditor.cxx:172
 AliEveTPCSectorVizEditor.cxx:173
 AliEveTPCSectorVizEditor.cxx:174
 AliEveTPCSectorVizEditor.cxx:175
 AliEveTPCSectorVizEditor.cxx:176
 AliEveTPCSectorVizEditor.cxx:177
 AliEveTPCSectorVizEditor.cxx:178
 AliEveTPCSectorVizEditor.cxx:179
 AliEveTPCSectorVizEditor.cxx:180
 AliEveTPCSectorVizEditor.cxx:181
 AliEveTPCSectorVizEditor.cxx:182
 AliEveTPCSectorVizEditor.cxx:183
 AliEveTPCSectorVizEditor.cxx:184
 AliEveTPCSectorVizEditor.cxx:185
 AliEveTPCSectorVizEditor.cxx:186
 AliEveTPCSectorVizEditor.cxx:187
 AliEveTPCSectorVizEditor.cxx:188
 AliEveTPCSectorVizEditor.cxx:189
 AliEveTPCSectorVizEditor.cxx:190
 AliEveTPCSectorVizEditor.cxx:191
 AliEveTPCSectorVizEditor.cxx:192
 AliEveTPCSectorVizEditor.cxx:193
 AliEveTPCSectorVizEditor.cxx:194
 AliEveTPCSectorVizEditor.cxx:195
 AliEveTPCSectorVizEditor.cxx:196
 AliEveTPCSectorVizEditor.cxx:197
 AliEveTPCSectorVizEditor.cxx:198
 AliEveTPCSectorVizEditor.cxx:199
 AliEveTPCSectorVizEditor.cxx:200
 AliEveTPCSectorVizEditor.cxx:201
 AliEveTPCSectorVizEditor.cxx:202
 AliEveTPCSectorVizEditor.cxx:203
 AliEveTPCSectorVizEditor.cxx:204
 AliEveTPCSectorVizEditor.cxx:205
 AliEveTPCSectorVizEditor.cxx:206