#include "AliEveMacroEditor.h"
#include "AliEveMacro.h"
#include "TVirtualPad.h"
#include "TGLabel.h"
#include "TGNumberEntry.h"
#include "TGColorSelect.h"
#include "TGTextEntry.h"
#include "TGComboBox.h"
ClassImp(AliEveMacroEditor)
AliEveMacroEditor::AliEveMacroEditor(const TGWindow *p, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p, width, height, options | kVerticalFrame, back),
fM(0),
fSources(0),
fTags(0),
fMacro(0),
fFunc(0),
fArgs(0),
fActive(0)
{
MakeTitle("AliEveMacro");
TGHorizontalFrame *f = 0;
Int_t labelW = 48;
{
f = MkHFrame();
MkLabel(f, "Active: ", labelW);
fActive = new TGCheckButton(f);
f->AddFrame(fActive);
fActive->Connect("Clicked()", "AliEveMacroEditor", this,
"DoActive()");
MkLabel(f, "Source: ", 56);
fSources = new TGComboBox(f);
f->AddFrame(fSources);
fSources->AddEntry("None", AliEveMacro::kNone);
fSources->AddEntry("RunLoader", AliEveMacro::kRunLoader);
fSources->AddEntry("ESD", AliEveMacro::kESD);
fSources->AddEntry("ESDfriend", AliEveMacro::kESDfriend);
fSources->AddEntry("RawReader", AliEveMacro::kRawReader);
{
TGListBox* lb = fSources->GetListBox();
lb->Resize(lb->GetWidth(), 5*16);
}
fSources->Resize(92, 20);
fSources->Connect("Selected(Int_t)", "AliEveMacroEditor", this,
"DoSources(Int_t)");
MkLabel(f, "Tags: ", 40);
fTags = new TGTextEntry(f);
f->AddFrame(fTags, new TGLayoutHints(kLHintsNormal|kLHintsExpandX));
fTags->Connect("TextChanged(const char *)", "AliEveMacroEditor", this,
"DoTags()");
}
{
f = MkHFrame();
MkLabel(f, "Macro: ", labelW);
fMacro = new TGTextEntry(f);
f->AddFrame(fMacro, new TGLayoutHints(kLHintsNormal));
fMacro->Connect("TextChanged(const char *)", "AliEveMacroEditor", this,
"DoMacro()");
MkLabel(f, "Func: ", labelW);
fFunc = new TGTextEntry(f);
f->AddFrame(fFunc, new TGLayoutHints(kLHintsNormal|kLHintsExpandX));
fFunc->Connect("TextChanged(const char *)", "AliEveMacroEditor", this,
"DoFunc()");
}
{
f = MkHFrame();
MkLabel(f, "Args: ", labelW);
fArgs = new TGTextEntry(f);
f->AddFrame(fArgs, new TGLayoutHints(kLHintsNormal|kLHintsExpandX));
fArgs->Connect("TextChanged(const char *)", "AliEveMacroEditor", this,
"DoArgs()");
}
}
void AliEveMacroEditor::SetModel(TObject* obj)
{
fM = static_cast<AliEveMacro*>(obj);
fSources->Select (fM->GetSources(), kFALSE);
fTags ->SetText (fM->GetTags(), kFALSE);
fMacro ->SetText (fM->GetMacro(), kFALSE);
fFunc ->SetText (fM->GetFunc(), kFALSE);
fArgs ->SetText (fM->GetArgs(), kFALSE);
fActive ->SetState(fM->fActive ? kButtonDown : kButtonUp);
}
void AliEveMacroEditor::DoSources(Int_t v)
{
fM->SetSources(v);
Update();
}
void AliEveMacroEditor::DoTags()
{
fM->SetTags(fTags->GetText());
Update();
}
void AliEveMacroEditor::DoMacro()
{
fM->SetMacro(fMacro->GetText());
Update();
}
void AliEveMacroEditor::DoFunc()
{
fM->SetFunc(fFunc->GetText());
Update();
}
void AliEveMacroEditor::DoArgs()
{
fM->SetArgs(fArgs->GetText());
Update();
}
void AliEveMacroEditor::DoActive()
{
fM->SetActive(fActive->IsOn());
Update();
}
TGHorizontalFrame* AliEveMacroEditor::MkHFrame(TGCompositeFrame* p)
{
if (p == 0)
p = this;
TGHorizontalFrame* f = new TGHorizontalFrame(p);
p->AddFrame(f, new TGLayoutHints(kLHintsNormal|kLHintsExpandX));
return f;
}
TGLabel* AliEveMacroEditor::MkLabel(TGCompositeFrame* p, const char* txt, Int_t width,
Int_t lo, Int_t ro, Int_t to, Int_t bo)
{
TGLabel *l = new TGLabel(p, txt);
p->AddFrame(l, new TGLayoutHints(kLHintsNormal, lo,ro,to,bo));
l->SetTextJustify(kTextRight);
l->SetWidth(width);
l->ChangeOptions(l->GetOptions() | kFixedWidth);
return l;
}
AliEveMacroEditor.cxx:100 AliEveMacroEditor.cxx:101 AliEveMacroEditor.cxx:102 AliEveMacroEditor.cxx:103 AliEveMacroEditor.cxx:104 AliEveMacroEditor.cxx:105 AliEveMacroEditor.cxx:106 AliEveMacroEditor.cxx:107 AliEveMacroEditor.cxx:108 AliEveMacroEditor.cxx:109 AliEveMacroEditor.cxx:110 AliEveMacroEditor.cxx:111 AliEveMacroEditor.cxx:112 AliEveMacroEditor.cxx:113 AliEveMacroEditor.cxx:114 AliEveMacroEditor.cxx:115 AliEveMacroEditor.cxx:116 AliEveMacroEditor.cxx:117 AliEveMacroEditor.cxx:118 AliEveMacroEditor.cxx:119 AliEveMacroEditor.cxx:120 AliEveMacroEditor.cxx:121 AliEveMacroEditor.cxx:122 AliEveMacroEditor.cxx:123 AliEveMacroEditor.cxx:124 AliEveMacroEditor.cxx:125 AliEveMacroEditor.cxx:126 AliEveMacroEditor.cxx:127 AliEveMacroEditor.cxx:128 AliEveMacroEditor.cxx:129 AliEveMacroEditor.cxx:130 AliEveMacroEditor.cxx:131 AliEveMacroEditor.cxx:132 AliEveMacroEditor.cxx:133 AliEveMacroEditor.cxx:134 AliEveMacroEditor.cxx:135 AliEveMacroEditor.cxx:136 AliEveMacroEditor.cxx:137 AliEveMacroEditor.cxx:138 AliEveMacroEditor.cxx:139 AliEveMacroEditor.cxx:140 AliEveMacroEditor.cxx:141 AliEveMacroEditor.cxx:142 AliEveMacroEditor.cxx:143 AliEveMacroEditor.cxx:144 AliEveMacroEditor.cxx:145 AliEveMacroEditor.cxx:146 AliEveMacroEditor.cxx:147 AliEveMacroEditor.cxx:148 AliEveMacroEditor.cxx:149 AliEveMacroEditor.cxx:150 AliEveMacroEditor.cxx:151 AliEveMacroEditor.cxx:152 AliEveMacroEditor.cxx:153 AliEveMacroEditor.cxx:154 AliEveMacroEditor.cxx:155 AliEveMacroEditor.cxx:156 AliEveMacroEditor.cxx:157 AliEveMacroEditor.cxx:158 AliEveMacroEditor.cxx:159 AliEveMacroEditor.cxx:160 AliEveMacroEditor.cxx:161 AliEveMacroEditor.cxx:162 AliEveMacroEditor.cxx:163 AliEveMacroEditor.cxx:164 AliEveMacroEditor.cxx:165 AliEveMacroEditor.cxx:166 AliEveMacroEditor.cxx:167 AliEveMacroEditor.cxx:168 AliEveMacroEditor.cxx:169 AliEveMacroEditor.cxx:170 AliEveMacroEditor.cxx:171 AliEveMacroEditor.cxx:172 AliEveMacroEditor.cxx:173 AliEveMacroEditor.cxx:174 AliEveMacroEditor.cxx:175 AliEveMacroEditor.cxx:176 AliEveMacroEditor.cxx:177 AliEveMacroEditor.cxx:178 AliEveMacroEditor.cxx:179 AliEveMacroEditor.cxx:180 AliEveMacroEditor.cxx:181 AliEveMacroEditor.cxx:182 AliEveMacroEditor.cxx:183 AliEveMacroEditor.cxx:184 AliEveMacroEditor.cxx:185 AliEveMacroEditor.cxx:186 AliEveMacroEditor.cxx:187 AliEveMacroEditor.cxx:188 AliEveMacroEditor.cxx:189 AliEveMacroEditor.cxx:190 AliEveMacroEditor.cxx:191 AliEveMacroEditor.cxx:192 AliEveMacroEditor.cxx:193 AliEveMacroEditor.cxx:194 AliEveMacroEditor.cxx:195 AliEveMacroEditor.cxx:196 AliEveMacroEditor.cxx:197