JSBSim Flight Dynamics Model 1.3.0 (09 Apr 2026)
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 2099 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 2103 of file props.hxx.

2105 : _obj(obj), _callback(method), _property(property)
2106 {
2107 _property->addChangeListener(this,initial);
2108 }

◆ SGPropertyChangeCallback() [2/2]

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

Definition at line 2110 of file props.hxx.

2110 :
2111 _obj(other._obj), _callback(other._callback), _property(other._property)
2112 {
2113 _property->addChangeListener(this,false);
2114 }

◆ ~SGPropertyChangeCallback()

template<class T >
virtual ~SGPropertyChangeCallback ( )
inlinevirtual

Definition at line 2116 of file props.hxx.

2117 {
2118 _property->removeChangeListener(this);
2119 }

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 2120 of file props.hxx.

2121 {
2122 (_obj->*_callback)(node);
2123 }

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