File indexing completed on 2023-10-25 09:46:31
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "TGButton.h"
0017 #include "TGLabel.h"
0018 #include "Fireworks/Core/interface/FWViewEnergyScaleEditor.h"
0019 #include "Fireworks/Core/interface/FWEveView.h"
0020 #include "Fireworks/Core/interface/FWViewEnergyScale.h"
0021 #include "Fireworks/Core/interface/FWParameterSetterBase.h"
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 FWViewEnergyScaleEditor::FWViewEnergyScaleEditor(FWViewEnergyScale* s, TGCompositeFrame* w, bool addAutoScaleControll)
0035 : TGVerticalFrame(w), m_scale(s), m_enabled(true) {
0036 addParam(&m_scale->m_plotEt);
0037 addParam(&m_scale->m_scaleMode);
0038 addParam(&m_scale->m_fixedValToHeight, "FixedScaleMode");
0039 if (addAutoScaleControll)
0040 addParam(&m_scale->m_maxTowerHeight, "AutomaticScaleMode");
0041 }
0042
0043 FWViewEnergyScaleEditor::~FWViewEnergyScaleEditor() {}
0044
0045
0046
0047
0048 void FWViewEnergyScaleEditor::setEnabled(bool x) {
0049 m_enabled = x;
0050 typedef std::vector<std::shared_ptr<FWParameterSetterBase> > sList;
0051 for (sList::iterator i = m_setters.begin(); i != m_setters.end(); ++i) {
0052 (*i)->setEnabled(m_enabled);
0053 }
0054 }
0055
0056 void FWViewEnergyScaleEditor::addParam(FWParameterBase* param, const char* title) {
0057 int leftPad = 0;
0058 if (title) {
0059 leftPad = 10;
0060 AddFrame(new TGLabel(this, title), new TGLayoutHints(kLHintsLeft, leftPad, 0, 0, 0));
0061 leftPad *= 2;
0062 }
0063
0064 std::shared_ptr<FWParameterSetterBase> ptr(FWParameterSetterBase::makeSetterFor(param));
0065 ptr->attach((FWParameterBase*)param, this);
0066 TGFrame* pframe = ptr->build(this);
0067 AddFrame(pframe, new TGLayoutHints(kLHintsLeft, leftPad, 0, 0, 0));
0068 m_setters.push_back(ptr);
0069 }