3 #include "TPCSector3DEditor.h"
4 #include <Alieve/TPCSector3D.h>
6 #include <TVirtualPad.h>
11 #include <TGNumberEntry.h>
12 #include <TGColorSelect.h>
14 #include <TGDoubleSlider.h>
17 using namespace Alieve;
19 //______________________________________________________________________
23 ClassImp(TPCSector3DEditor)
25 TPCSector3DEditor::TPCSector3DEditor(const TGWindow *p, Int_t id, Int_t width, Int_t height,
26 UInt_t options, Pixel_t back) :
27 TGedFrame(p, id, width, height, options | kVerticalFrame, back)
30 MakeTitle("TPCSector3D");
32 fRnrFrame = new TGCheckButton(this, "ShowFrame");
33 AddFrame(fRnrFrame, new TGLayoutHints(kLHintsTop, 3, 1, 1, 0));
35 ("Toggled(Bool_t)","Alieve::TPCSector3DEditor", this, "DoRnrFrame()");
38 TGHorizontalFrame* f = new TGHorizontalFrame(this);
39 TGLabel *l = new TGLabel(f, "Drift Velocity factor:");
40 f->AddFrame(l, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 25, 2, 1, 1));
41 fDriftVel = new TGNumberEntry(f, 0., 6, -1,
42 TGNumberFormat::kNESRealOne, TGNumberFormat::kNEAPositive,
43 TGNumberFormat::kNELLimitMinMax, 0.001, 1000.0);
44 fDriftVel->GetNumberEntry()->SetToolTipText("Drift velocity factor.");
45 f->AddFrame(fDriftVel, new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
46 fDriftVel->Associate(f);
47 fDriftVel->Connect("ValueSet(Long_t)", "Alieve::TPCSector3DEditor", this, "DoDriftVel()");
48 AddFrame(f, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
51 // Register the editor.
52 TClass *cl = TPCSector3D::Class();
53 TGedElement *ge = new TGedElement;
56 cl->GetEditorList()->Add(ge);
59 TPCSector3DEditor::~TPCSector3DEditor()
62 /**************************************************************************/
64 void TPCSector3DEditor::SetModel(TVirtualPad* pad, TObject* obj, Int_t /*event*/)
69 if (!obj || !obj->InheritsFrom(TPCSector3D::Class()) || obj->InheritsFrom(TVirtualPad::Class())) {
77 fM = dynamic_cast<TPCSector3D*>(fModel);
79 fRnrFrame->SetState(fM->fRnrFrame ? kButtonDown : kButtonUp);
80 fDriftVel->SetNumber(fM->fDriftVel);
85 /**************************************************************************/
87 void TPCSector3DEditor::DoRnrFrame()
89 fM->SetRnrFrame(fRnrFrame->IsOn());
93 void TPCSector3DEditor::DoDriftVel()
95 fM->SetDriftVel((Float_t) fDriftVel->GetNumber());