CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
FWEnumParameterSetter Class Reference

#include <Fireworks/Core/interface/FWEnumParameterSetter.h>

Inheritance diagram for FWEnumParameterSetter:
FWParameterSetterBase

Public Member Functions

virtual TGFrame * build (TGFrame *iParent, bool labelBack=true)
 
void doUpdate (Int_t id)
 
 FWEnumParameterSetter ()
 
TGComboBox * getWidget ()
 
virtual void setEnabled (bool)
 
virtual ~FWEnumParameterSetter ()
 
- Public Member Functions inherited from FWParameterSetterBase
void attach (FWParameterBase *, FWParameterSetterEditorBase *)
 
 FWParameterSetterBase ()
 
virtual ~FWParameterSetterBase ()
 

Private Member Functions

virtual void attach (FWParameterBase *)
 
 FWEnumParameterSetter (const FWEnumParameterSetter &)
 
const FWEnumParameterSetteroperator= (const FWEnumParameterSetter &)
 

Private Attributes

FWEnumParameterm_param
 
TGComboBox * m_widget
 

Additional Inherited Members

- Static Public Member Functions inherited from FWParameterSetterBase
static boost::shared_ptr
< FWParameterSetterBase
makeSetterFor (FWParameterBase *)
 
- Protected Member Functions inherited from FWParameterSetterBase
FWParameterSetterEditorBaseframe () const
 
void update () const
 

Detailed Description

Description: [one line class summary]

Usage: <usage>

Definition at line 32 of file FWEnumParameterSetter.h.

Constructor & Destructor Documentation

FWEnumParameterSetter::FWEnumParameterSetter ( )

Definition at line 33 of file FWEnumParameterSetter.cc.

33  :
34  m_param(0),
35  m_widget(0)
36 {}
FWEnumParameterSetter::~FWEnumParameterSetter ( )
virtual

Definition at line 43 of file FWEnumParameterSetter.cc.

44 {}
FWEnumParameterSetter::FWEnumParameterSetter ( const FWEnumParameterSetter )
private

Member Function Documentation

void FWEnumParameterSetter::attach ( FWParameterBase iParam)
privatevirtual

Implements FWParameterSetterBase.

Definition at line 63 of file FWEnumParameterSetter.cc.

References m_param.

64 {
65  m_param = dynamic_cast<FWEnumParameter*>(iParam);
66  assert(0!=m_param);
67 }
TGFrame * FWEnumParameterSetter::build ( TGFrame *  iParent,
bool  labelBack = true 
)
virtual

Implements FWParameterSetterBase.

Definition at line 70 of file FWEnumParameterSetter.cc.

References FWEnumParameter::entryMap(), FWParameterSetterBase::frame(), diffTwoXMLs::label, m_param, m_widget, FWParameterBase::name(), and FWGenericParameter< T >::value().

71 {
72  TGCompositeFrame *frame = new TGHorizontalFrame(iParent);
73 
74  m_widget = new TGComboBox(frame);
75  std::map<Long_t, std::string>::const_iterator me = m_param->entryMap().begin();
76  UInt_t max_len = 0;
77  while (me != m_param->entryMap().end())
78  {
79  m_widget->AddEntry(me->second.c_str(), static_cast<Int_t>(me->first));
80  if (me->second.length() > max_len) max_len = me->second.length();
81  ++me;
82  }
83  m_widget->Resize(8*max_len + 20, 20);
84  m_widget->Select(static_cast<Int_t>(m_param->value()), kFALSE);
85 
86  m_widget->Connect("Selected(Int_t)", "FWEnumParameterSetter", this, "doUpdate(Int_t)");
87 
88  // label
89  TGLabel* label = new TGLabel(frame, m_param->name().c_str());
90  if (labelBack)
91  {
92  frame->AddFrame(m_widget, new TGLayoutHints(kLHintsLeft|kLHintsCenterY, 2,6,2,2));
93  frame->AddFrame(label, new TGLayoutHints(kLHintsLeft|kLHintsCenterY, 2, 4, 0, 0));
94  }
95  else
96  {
97  frame->AddFrame(label, new TGLayoutHints(kLHintsLeft|kLHintsCenterY) );
98  frame->AddFrame(m_widget, new TGLayoutHints(kLHintsLeft|kLHintsCenterY, 2,8,2,2));
99  }
100  return frame;
101 }
FWParameterSetterEditorBase * frame() const
const std::map< Long_t, std::string > & entryMap() const
unsigned int UInt_t
Definition: FUTypes.h:12
const std::string & name() const
void FWEnumParameterSetter::doUpdate ( Int_t  id)

Definition at line 104 of file FWEnumParameterSetter.cc.

References m_param, m_widget, FWGenericParameter< T >::set(), and FWParameterSetterBase::update().

105 {
106  assert(0!=m_param);
107  assert(0!=m_widget);
108  m_param->set((Long_t) id);
109  update();
110 }
TGComboBox* FWEnumParameterSetter::getWidget ( )
inline

Definition at line 51 of file FWEnumParameterSetter.h.

References m_widget.

51 { return m_widget; }
const FWEnumParameterSetter& FWEnumParameterSetter::operator= ( const FWEnumParameterSetter )
private
void FWEnumParameterSetter::setEnabled ( bool  x)
virtual

Reimplemented from FWParameterSetterBase.

Definition at line 113 of file FWEnumParameterSetter.cc.

References m_widget.

Referenced by Vispa.Views.PropertyView.BooleanProperty::setReadOnly(), and Vispa.Views.PropertyView.DropDownProperty::setReadOnly().

114 {
115  m_widget->SetEnabled(x);
116 }
Definition: DDAxes.h:10

Member Data Documentation

FWEnumParameter* FWEnumParameterSetter::m_param
private

Definition at line 61 of file FWEnumParameterSetter.h.

Referenced by attach(), build(), and doUpdate().

TGComboBox* FWEnumParameterSetter::m_widget
private

Definition at line 62 of file FWEnumParameterSetter.h.

Referenced by build(), doUpdate(), getWidget(), and setEnabled().