JSBSim Flight Dynamics Model 1.2.3 (07 Jun 2025)
An Open Source Flight Dynamics and Control Software Library in C++
Loading...
Searching...
No Matches
SGPropertyChangeCallback< T > Class Template Reference

Detailed Description

template<class T>
class SGPropertyChangeCallback< T >

Convenience class for change listener callbacks without creating a derived class implementing a "valueChanged" method.

Also removes listener on destruction automatically.

Definition at line 2106 of file props.hxx.

#include <props.hxx>

+ Inheritance diagram for SGPropertyChangeCallback< T >:
+ Collaboration diagram for SGPropertyChangeCallback< T >:

Public Member Functions

 SGPropertyChangeCallback (const SGPropertyChangeCallback< T > &other)
 
 SGPropertyChangeCallback (T *obj, void(T::*method)(SGPropertyNode *), SGPropertyNode_ptr property, bool initial=false)
 
void valueChanged (SGPropertyNode *node)
 Called if value of node has changed.
 
- Public Member Functions inherited from SGPropertyChangeListener
virtual void childAdded (SGPropertyNode *parent, SGPropertyNode *child)
 Called if child has been added to the given parent.
 
virtual void childRemoved (SGPropertyNode *parent, SGPropertyNode *child)
 Called if child has been removed from its parent.
 

Additional Inherited Members

- Protected Member Functions inherited from SGPropertyChangeListener
virtual void register_property (SGPropertyNode *node)
 
virtual void unregister_property (SGPropertyNode *node)
 

Constructor & Destructor Documentation

◆ SGPropertyChangeCallback() [1/2]

template<class T >
SGPropertyChangeCallback ( T *  obj,
void(T::*)(SGPropertyNode *)  method,
SGPropertyNode_ptr  property,
bool  initial = false 
)
inline

Definition at line 2110 of file props.hxx.

2112 : _obj(obj), _callback(method), _property(property)
2113 {
2114 _property->addChangeListener(this,initial);
2115 }

◆ SGPropertyChangeCallback() [2/2]

template<class T >
SGPropertyChangeCallback ( const SGPropertyChangeCallback< T > &  other)
inline

Definition at line 2117 of file props.hxx.

2117 :
2118 _obj(other._obj), _callback(other._callback), _property(other._property)
2119 {
2120 _property->addChangeListener(this,false);
2121 }

◆ ~SGPropertyChangeCallback()

template<class T >
virtual ~SGPropertyChangeCallback ( )
inlinevirtual

Definition at line 2123 of file props.hxx.

2124 {
2125 _property->removeChangeListener(this);
2126 }

Member Function Documentation

◆ valueChanged()

template<class T >
void valueChanged ( SGPropertyNode node)
inlinevirtual

Called if value of node has changed.

Reimplemented from SGPropertyChangeListener.

Definition at line 2127 of file props.hxx.

2128 {
2129 (_obj->*_callback)(node);
2130 }

The documentation for this class was generated from the following file: