#include "TEveProjectionAxesEditor.h"
#include "TEveProjectionAxes.h"
#include "TEveGValuators.h"
#include "TGComboBox.h"
#include "TGButton.h"
#include "TGLabel.h"
#include "TG3DLine.h"
ClassImp(TEveProjectionAxesEditor);
TEveProjectionAxesEditor::TEveProjectionAxesEditor(const TGWindow *p, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p, width, height, options | kVerticalFrame, back),
fM(0),
fLabMode(0),
fAxesMode(0),
fCenterFrame(0),
fDrawCenter(0),
fDrawOrigin(0)
{
MakeTitle("TEveProjectionAxis");
Int_t labw=52;
{
TGHorizontalFrame* f = new TGHorizontalFrame(this);
TGCompositeFrame *labfr = new TGHorizontalFrame(f, labw, 20, kFixedSize);
labfr->AddFrame(new TGLabel(labfr, "Labels:") , new TGLayoutHints(kLHintsLeft | kLHintsBottom));
f->AddFrame(labfr, new TGLayoutHints(kLHintsLeft|kLHintsBottom, 0, 1, 1, 1));
fLabMode = new TGComboBox(f, "Position");
fLabMode->AddEntry("Value", 1);
fLabMode->AddEntry("Position", 0);
fLabMode->GetTextEntry()->SetToolTipText("Set tick-marks on equidistant values/screen position.");
TGListBox* lb = fLabMode->GetListBox();
lb->Resize(lb->GetWidth(), 2*18);
fLabMode->Resize(80, 20);
fLabMode->Connect("Selected(Int_t)", "TEveProjectionAxesEditor", this, "DoLabMode(Int_t)");
f->AddFrame(fLabMode, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
AddFrame(f);
}
{
TGHorizontalFrame* f = new TGHorizontalFrame(this);
TGCompositeFrame *labfr = new TGHorizontalFrame(f, labw, 20, kFixedSize);
labfr->AddFrame(new TGLabel(labfr, "Axes:") , new TGLayoutHints(kLHintsLeft | kLHintsBottom));
f->AddFrame(labfr, new TGLayoutHints(kLHintsLeft|kLHintsBottom, 0, 1, 1, 1));
fAxesMode = new TGComboBox(f, "All");
fAxesMode->AddEntry("Horizontal", TEveProjectionAxes::kHorizontal);
fAxesMode->AddEntry("Vertical",TEveProjectionAxes::kVertical);
fAxesMode->AddEntry("All", TEveProjectionAxes::kAll);
TGListBox* lb = fAxesMode->GetListBox();
lb->Resize(lb->GetWidth(), 2*18);
fAxesMode->Resize(80, 20);
fAxesMode->Connect("Selected(Int_t)", "TEveProjectionAxesEditor", this, "DoAxesMode(Int_t)");
f->AddFrame(fAxesMode, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
AddFrame(f);
}
fCenterFrame = CreateEditorTabSubFrame("Center");
TGCompositeFrame *title1 = new TGCompositeFrame(fCenterFrame, 180, 10,
kHorizontalFrame |
kLHintsExpandX |
kFixedWidth |
kOwnBackground);
title1->AddFrame(new TGLabel(title1, "Distortion Center"),
new TGLayoutHints(kLHintsLeft, 1, 1, 0, 0));
title1->AddFrame(new TGHorizontal3DLine(title1),
new TGLayoutHints(kLHintsExpandX, 5, 5, 7, 7));
fCenterFrame->AddFrame(title1, new TGLayoutHints(kLHintsTop, 0, 0, 2, 0));
{
TGHorizontalFrame* hf1 = new TGHorizontalFrame(fCenterFrame);
fDrawOrigin = new TGCheckButton(hf1, "DrawOrigin");
hf1->AddFrame(fDrawOrigin, new TGLayoutHints(kLHintsLeft, 2,1,0,4));
fDrawOrigin->Connect("Toggled(Bool_t)"," TEveProjectionAxesEditor", this, "DoDrawOrigin()");
fDrawCenter = new TGCheckButton(hf1, "DrawCenter");
hf1->AddFrame(fDrawCenter, new TGLayoutHints(kLHintsLeft, 2,1,0,4));
fDrawCenter->Connect("Toggled(Bool_t)"," TEveProjectionAxesEditor", this, "DoDrawCenter()");
fCenterFrame->AddFrame(hf1, new TGLayoutHints(kLHintsTop, 0,0,0,0));
}
}
void TEveProjectionAxesEditor::SetModel(TObject* obj)
{
fM = dynamic_cast<TEveProjectionAxes*>(obj);
fLabMode->Select(fM->GetLabMode(), kFALSE);
fAxesMode->Select(fM->GetAxesMode(), kFALSE);
fDrawCenter->SetState(fM->GetDrawCenter() ? kButtonDown : kButtonUp);
fDrawOrigin->SetState(fM->GetDrawOrigin() ? kButtonDown : kButtonUp);
}
void TEveProjectionAxesEditor::DoDrawOrigin()
{
fM->SetDrawOrigin(fDrawOrigin->IsOn());
Update();
}
void TEveProjectionAxesEditor::DoDrawCenter()
{
fM->SetDrawCenter(fDrawCenter->IsOn());
Update();
}
void TEveProjectionAxesEditor::DoLabMode(Int_t mode)
{
TEveProjectionAxes::ELabMode em = (TEveProjectionAxes::ELabMode ) mode;
fM->SetLabMode(em);
Update();
}
void TEveProjectionAxesEditor::DoAxesMode(Int_t mode)
{
TEveProjectionAxes::EAxesMode em = (TEveProjectionAxes::EAxesMode ) mode;
fM->SetAxesMode(em);
Update();
}
TEveProjectionAxesEditor.cxx:1 TEveProjectionAxesEditor.cxx:2 TEveProjectionAxesEditor.cxx:3 TEveProjectionAxesEditor.cxx:4 TEveProjectionAxesEditor.cxx:5 TEveProjectionAxesEditor.cxx:6 TEveProjectionAxesEditor.cxx:7 TEveProjectionAxesEditor.cxx:8 TEveProjectionAxesEditor.cxx:9 TEveProjectionAxesEditor.cxx:10 TEveProjectionAxesEditor.cxx:11 TEveProjectionAxesEditor.cxx:12 TEveProjectionAxesEditor.cxx:13 TEveProjectionAxesEditor.cxx:14 TEveProjectionAxesEditor.cxx:15 TEveProjectionAxesEditor.cxx:16 TEveProjectionAxesEditor.cxx:17 TEveProjectionAxesEditor.cxx:18 TEveProjectionAxesEditor.cxx:19 TEveProjectionAxesEditor.cxx:20 TEveProjectionAxesEditor.cxx:21 TEveProjectionAxesEditor.cxx:22 TEveProjectionAxesEditor.cxx:23 TEveProjectionAxesEditor.cxx:24 TEveProjectionAxesEditor.cxx:25 TEveProjectionAxesEditor.cxx:26 TEveProjectionAxesEditor.cxx:27 TEveProjectionAxesEditor.cxx:28 TEveProjectionAxesEditor.cxx:29 TEveProjectionAxesEditor.cxx:30 TEveProjectionAxesEditor.cxx:31 TEveProjectionAxesEditor.cxx:32 TEveProjectionAxesEditor.cxx:33 TEveProjectionAxesEditor.cxx:34 TEveProjectionAxesEditor.cxx:35 TEveProjectionAxesEditor.cxx:36 TEveProjectionAxesEditor.cxx:37 TEveProjectionAxesEditor.cxx:38 TEveProjectionAxesEditor.cxx:39 TEveProjectionAxesEditor.cxx:40 TEveProjectionAxesEditor.cxx:41 TEveProjectionAxesEditor.cxx:42 TEveProjectionAxesEditor.cxx:43 TEveProjectionAxesEditor.cxx:44 TEveProjectionAxesEditor.cxx:45 TEveProjectionAxesEditor.cxx:46 TEveProjectionAxesEditor.cxx:47 TEveProjectionAxesEditor.cxx:48 TEveProjectionAxesEditor.cxx:49 TEveProjectionAxesEditor.cxx:50 TEveProjectionAxesEditor.cxx:51 TEveProjectionAxesEditor.cxx:52 TEveProjectionAxesEditor.cxx:53 TEveProjectionAxesEditor.cxx:54 TEveProjectionAxesEditor.cxx:55 TEveProjectionAxesEditor.cxx:56 TEveProjectionAxesEditor.cxx:57 TEveProjectionAxesEditor.cxx:58 TEveProjectionAxesEditor.cxx:59 TEveProjectionAxesEditor.cxx:60 TEveProjectionAxesEditor.cxx:61 TEveProjectionAxesEditor.cxx:62 TEveProjectionAxesEditor.cxx:63 TEveProjectionAxesEditor.cxx:64 TEveProjectionAxesEditor.cxx:65 TEveProjectionAxesEditor.cxx:66 TEveProjectionAxesEditor.cxx:67 TEveProjectionAxesEditor.cxx:68 TEveProjectionAxesEditor.cxx:69 TEveProjectionAxesEditor.cxx:70 TEveProjectionAxesEditor.cxx:71 TEveProjectionAxesEditor.cxx:72 TEveProjectionAxesEditor.cxx:73 TEveProjectionAxesEditor.cxx:74 TEveProjectionAxesEditor.cxx:75 TEveProjectionAxesEditor.cxx:76 TEveProjectionAxesEditor.cxx:77 TEveProjectionAxesEditor.cxx:78 TEveProjectionAxesEditor.cxx:79 TEveProjectionAxesEditor.cxx:80 TEveProjectionAxesEditor.cxx:81 TEveProjectionAxesEditor.cxx:82 TEveProjectionAxesEditor.cxx:83 TEveProjectionAxesEditor.cxx:84 TEveProjectionAxesEditor.cxx:85 TEveProjectionAxesEditor.cxx:86 TEveProjectionAxesEditor.cxx:87 TEveProjectionAxesEditor.cxx:88 TEveProjectionAxesEditor.cxx:89 TEveProjectionAxesEditor.cxx:90 TEveProjectionAxesEditor.cxx:91 TEveProjectionAxesEditor.cxx:92 TEveProjectionAxesEditor.cxx:93 TEveProjectionAxesEditor.cxx:94 TEveProjectionAxesEditor.cxx:95 TEveProjectionAxesEditor.cxx:96 TEveProjectionAxesEditor.cxx:97 TEveProjectionAxesEditor.cxx:98 TEveProjectionAxesEditor.cxx:99 TEveProjectionAxesEditor.cxx:100 TEveProjectionAxesEditor.cxx:101 TEveProjectionAxesEditor.cxx:102 TEveProjectionAxesEditor.cxx:103 TEveProjectionAxesEditor.cxx:104 TEveProjectionAxesEditor.cxx:105 TEveProjectionAxesEditor.cxx:106 TEveProjectionAxesEditor.cxx:107 TEveProjectionAxesEditor.cxx:108 TEveProjectionAxesEditor.cxx:109 TEveProjectionAxesEditor.cxx:110 TEveProjectionAxesEditor.cxx:111 TEveProjectionAxesEditor.cxx:112 TEveProjectionAxesEditor.cxx:113 TEveProjectionAxesEditor.cxx:114 TEveProjectionAxesEditor.cxx:115 TEveProjectionAxesEditor.cxx:116 TEveProjectionAxesEditor.cxx:117 TEveProjectionAxesEditor.cxx:118 TEveProjectionAxesEditor.cxx:119 TEveProjectionAxesEditor.cxx:120 TEveProjectionAxesEditor.cxx:121 TEveProjectionAxesEditor.cxx:122 TEveProjectionAxesEditor.cxx:123 TEveProjectionAxesEditor.cxx:124 TEveProjectionAxesEditor.cxx:125 TEveProjectionAxesEditor.cxx:126 TEveProjectionAxesEditor.cxx:127 TEveProjectionAxesEditor.cxx:128 TEveProjectionAxesEditor.cxx:129 TEveProjectionAxesEditor.cxx:130 TEveProjectionAxesEditor.cxx:131 TEveProjectionAxesEditor.cxx:132 TEveProjectionAxesEditor.cxx:133 TEveProjectionAxesEditor.cxx:134 TEveProjectionAxesEditor.cxx:135 TEveProjectionAxesEditor.cxx:136 TEveProjectionAxesEditor.cxx:137 TEveProjectionAxesEditor.cxx:138 TEveProjectionAxesEditor.cxx:139 TEveProjectionAxesEditor.cxx:140 TEveProjectionAxesEditor.cxx:141 TEveProjectionAxesEditor.cxx:142 TEveProjectionAxesEditor.cxx:143 TEveProjectionAxesEditor.cxx:144 TEveProjectionAxesEditor.cxx:145 TEveProjectionAxesEditor.cxx:146 TEveProjectionAxesEditor.cxx:147 TEveProjectionAxesEditor.cxx:148 TEveProjectionAxesEditor.cxx:149 TEveProjectionAxesEditor.cxx:150 TEveProjectionAxesEditor.cxx:151 TEveProjectionAxesEditor.cxx:152 TEveProjectionAxesEditor.cxx:153 TEveProjectionAxesEditor.cxx:154 TEveProjectionAxesEditor.cxx:155 TEveProjectionAxesEditor.cxx:156 TEveProjectionAxesEditor.cxx:157 TEveProjectionAxesEditor.cxx:158 TEveProjectionAxesEditor.cxx:159 TEveProjectionAxesEditor.cxx:160 TEveProjectionAxesEditor.cxx:161 TEveProjectionAxesEditor.cxx:162 TEveProjectionAxesEditor.cxx:163 TEveProjectionAxesEditor.cxx:164 TEveProjectionAxesEditor.cxx:165 TEveProjectionAxesEditor.cxx:166 TEveProjectionAxesEditor.cxx:167 TEveProjectionAxesEditor.cxx:168 TEveProjectionAxesEditor.cxx:169 TEveProjectionAxesEditor.cxx:170