21 #ifndef GUIParameterTableItem_h 22 #define GUIParameterTableItem_h 77 virtual bool dynamic()
const = 0;
96 virtual const std::string&
getName()
const = 0;
133 const std::string& name,
bool dynamic,
135 : myAmDynamic(dynamic), myName(name), myTablePosition((FXint) pos), mySource(src),
136 myValue(src->getValue()), myTable(table) {
137 init(dynamic, toString<T>(src->
getValue()));
153 const std::string& name,
bool dynamic,
155 : myAmDynamic(dynamic), myName(name), myTablePosition((FXint) pos), mySource(0),
156 myValue(value), myTable(table) {
157 init(dynamic, toString<T>(value));
173 const std::string& name,
bool dynamic,
175 : myAmDynamic(dynamic), myName(name), myTablePosition((FXint) pos), mySource(0),
176 myValue(0), myTable(table) {
177 init(dynamic, value);
196 myTable->setItemText(myTablePosition, 0, myName.c_str());
197 myTable->setItemText(myTablePosition, 1, value.c_str());
203 myTable->setItemJustify(myTablePosition, 2, FXTableItem::CENTER_X | FXTableItem::CENTER_Y);
234 if (!
dynamic() || mySource == 0) {
237 T value = mySource->getValue();
238 if (value != myValue) {
240 myTable->setItemText(myTablePosition, 1, toString<T>(myValue).c_str());
253 return mySource->copy();
GUIParameterTableItem(FXTable *table, unsigned pos, const std::string &name, bool dynamic, std::string value)
Constructor for string-typed, non-changing (static) values.
void init(bool dynamic, std::string value)
Initialises the line.
virtual void update()=0
Forces an update of the value.
T myValue
A backup of the value to avoid the redrawing when nothing has changed.
FXTable * myTable
The table this entry belongs to.
void update()
Resets the value if it's dynamic.
virtual const std::string & getName() const =0
Returns the name of the value.
ValueSource< T > * getSourceCopy() const
Returns a copy of the source if the value is dynamic.
GUIParameterTableItem(FXTable *table, unsigned pos, const std::string &name, bool dynamic, ValueSource< T > *src)
Constructor for changing (dynamic) values.
FXint myTablePosition
The position within the table.
virtual ValueSource< SUMOReal > * getSUMORealSourceCopy() const =0
Returns a SUMOReal-typed copy of the value-source.
bool myAmDynamic
Information whether the value may change.
GUIParameterTableItem(FXTable *table, unsigned pos, const std::string &name, bool dynamic, T value)
Constructor for non-changing (static) values.
Interface to a single line in a parameter window.
bool dynamic() const
Returns the information whether this item may change.
ValueSource< T > * mySource
The source to gain new values from; this source is==0 if the values are not dynamic.
const std::string & getName() const
Returns the name of this value.
~GUIParameterTableItem()
Destructor.
virtual bool dynamic() const =0
Returns the information whether the value changes over simulation time.
virtual ValueSource< SUMOReal > * makeSUMORealReturningCopy() const =0
Instance of a single line in a parameter window.
std::string myName
The name of this value.
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
virtual ~GUIParameterTableItemInterface()
Destructor.
ValueSource< SUMOReal > * getSUMORealSourceCopy() const
Returns a SUMOReal-typed copy of the source if the value is dynamic.
virtual T getValue() const =0