Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "TGLabel.h"
00016 #include "TGTextEntry.h"
00017
00018 #include <assert.h>
00019 #include <iostream>
00020
00021
00022 #include "Fireworks/Core/src/FWStringParameterSetter.h"
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 FWStringParameterSetter::FWStringParameterSetter() :
00036 m_param(0),
00037 m_widget(0)
00038 {
00039 }
00040
00041
00042
00043
00044
00045
00046 FWStringParameterSetter::~FWStringParameterSetter()
00047 {
00048 }
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066 void
00067 FWStringParameterSetter::attach(FWParameterBase* iParam)
00068 {
00069 m_param = dynamic_cast<FWStringParameter*>(iParam);
00070 assert(0!=m_param);
00071 }
00072
00073 TGFrame*
00074 FWStringParameterSetter::build(TGFrame* iParent, bool labelBack)
00075 {
00076 TGCompositeFrame* frame = new TGHorizontalFrame(iParent,180,20,kFixedWidth);
00077
00078 m_widget = new TGTextEntry(frame, m_param->name().c_str(), 0);
00079 m_widget->SetText( m_param->value().c_str() );
00080 m_widget->Connect("ReturnPressed()", "FWStringParameterSetter", this, "doUpdate()");
00081
00082 TGLabel* label = new TGLabel(frame,m_param->name().c_str());
00083 if (labelBack)
00084 {
00085 frame->AddFrame(m_widget, new TGLayoutHints(kLHintsExpandX|kLHintsCenterY,2,2,1,1));
00086 frame->AddFrame(label, new TGLayoutHints(kLHintsLeft|kLHintsCenterY,4,2,1,1) );
00087 }
00088 else
00089 {
00090 frame->AddFrame(label, new TGLayoutHints(kLHintsLeft|kLHintsCenterY) );
00091 frame->AddFrame(m_widget, new TGLayoutHints(kLHintsLeft|kLHintsCenterY, 2,8,2,2));
00092 }
00093 return frame;
00094 }
00095
00096 void
00097 FWStringParameterSetter::doUpdate()
00098 {
00099 assert(0!=m_param);
00100 assert(0!=m_widget);
00101 m_param->set(m_widget->GetText());
00102 update();
00103 }
00104
00105
00106
00107
00108
00109
00110