30 ClassImp(TEveElementEditor);
35 TEveElementEditor::TEveElementEditor(
const TGWindow *p,
36 Int_t width, Int_t height,
37 UInt_t options, Pixel_t back) :
38 TGedFrame(p, width, height, options | kVerticalFrame, back),
50 MakeTitle(
"TEveElement");
53 fHFrame =
new TGHorizontalFrame(
this);
55 fPreLabel =
new TGLabel(fHFrame,
"Show:");
56 fHFrame->AddFrame(fPreLabel,
new TGLayoutHints(kLHintsLeft, 1, 6, 2, 0));
57 fRnrSelf =
new TGCheckButton(fHFrame,
"Self");
58 fHFrame->AddFrame(fRnrSelf,
new TGLayoutHints(kLHintsLeft, 0, 2, 1, 1));
61 "TEveElementEditor",
this,
"DoRnrSelf()");
63 fRnrChildren =
new TGCheckButton(fHFrame,
"Children");
64 fHFrame->AddFrame(fRnrChildren,
new TGLayoutHints(kLHintsLeft, 0, 1, 1, 1));
67 "TEveElementEditor",
this,
"DoRnrChildren()");
69 fRnrState =
new TGCheckButton(fHFrame,
"");
70 fHFrame->AddFrame(fRnrState,
new TGLayoutHints(kLHintsLeft, 1, 2, 1, 1));
73 "TEveElementEditor",
this,
"DoRnrState()");
75 fMainColor =
new TGColorSelect(fHFrame, 0, -1);
76 fHFrame->AddFrame(fMainColor,
new TGLayoutHints(kLHintsLeft, 2, 0, -2, 0));
78 (
"ColorSelected(Pixel_t)",
79 "TEveElementEditor",
this,
"DoMainColor(Pixel_t)");
81 fTransparency =
new TGNumberEntry(fHFrame, 0., 2, -1,
82 TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative,
83 TGNumberFormat::kNELLimitMinMax, 0, 100);
84 fTransparency->SetHeight(18);
85 fTransparency->GetNumberEntry()->SetToolTipText(
"Transparency: 0 is opaque, 100 fully transparent.");
86 fHFrame->AddFrame(fTransparency,
new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0));
87 fTransparency->Connect
89 "TEveElementEditor",
this,
"DoTransparency()");
91 AddFrame(fHFrame,
new TGLayoutHints(kLHintsTop, 0, 0, 0, 0));
93 fTrans =
new TEveTransSubEditor(
this);
94 fTrans->Connect(
"UseTrans()",
"TEveElementEditor",
this,
"Update()");
95 fTrans->Connect(
"TransChanged()",
"TEveElementEditor",
this,
"Update()");
96 AddFrame(fTrans,
new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0, 0, 0, 0));
102 void TEveElementEditor::SetModel(TObject* obj)
104 fRE =
dynamic_cast<TEveElement*
>(obj);
106 fPreLabel ->UnmapWindow();
107 fRnrSelf ->UnmapWindow();
108 fRnrChildren->UnmapWindow();
109 fRnrState ->UnmapWindow();
110 if (fRE->CanEditElement()) {
111 fPreLabel->MapWindow();
112 if (fRE->SingleRnrState()) {
113 fRnrState->SetState(fRE->GetRnrState() ? kButtonDown : kButtonUp);
114 fRnrState->MapWindow();
116 fRnrSelf->SetState(fRE->GetRnrSelf() ? kButtonDown : kButtonUp);
117 fRnrChildren->SetState(fRE->GetRnrChildren() ? kButtonDown : kButtonUp);
118 fRnrSelf->MapWindow();
119 fRnrChildren->MapWindow();
123 if (fRE->CanEditMainColor()) {
124 fMainColor->SetColor(TColor::Number2Pixel(fRE->GetMainColor()), kFALSE);
125 fMainColor->MapWindow();
127 fMainColor->UnmapWindow();
129 if (fRE->CanEditMainTransparency()) {
130 fTransparency->SetNumber(fRE->GetMainTransparency());
131 fTransparency->MapWindow();
133 fTransparency->UnmapWindow();
135 if (fRE->CanEditMainTrans()) {
136 fTrans->SetModel(fRE->PtrMainTrans());
139 fTrans->UnmapWindow();
148 void TEveElementEditor::DoRnrSelf()
150 fRE->SetRnrSelf(fRnrSelf->IsOn());
157 void TEveElementEditor::DoRnrChildren()
159 fRE->SetRnrChildren(fRnrChildren->IsOn());
166 void TEveElementEditor::DoRnrState()
168 fRE->SetRnrState(fRnrState->IsOn());
175 void TEveElementEditor::DoMainColor(Pixel_t color)
177 fRE->SetMainColorPixel(color);
184 void TEveElementEditor::DoTransparency()
186 fRE->SetMainTransparency((Char_t)(fTransparency->GetNumber()));