The Vish Visualization Shell 0.3
Vish
Public Member Functions | Protected Member Functions | List of all members

Base class for objects providing an input of any kind. More...

#include <ocean/plankton/VInput.hpp>

Inheritance diagram for Wizt::VInputBase:
Wizt::ValueNotifier MemCore::ReferenceBase< ValueNotifier > MemCore::Intercube Wizt::VInput< VInteractionEvent > Wizt::VInput< T > Wizt::VInput< Type > Wizt::VTask Wizt::VInputValue< VInteractionEvent > Wizt::VInputValue< T > Wizt::VInputValue< Type > InteractionInput Wizt::VTypedInputValue< T >

Public Member Functions

bool activateNotification () const
 Allow the owner of this InputBase to retrieve notification events when the value is changed.
 
void notify (const ValueNotifierList *Source, const Wizt::ValuePoolPtr &) const
 Emit a notification event to all ValueNotifiers listening on the certain variable.
 
 VInputBase (const WeakPtr< VParameter > &owner)
 Construct a new input base type.
 
 ~VInputBase ()
 Destructor.
 
- Public Member Functions inherited from Wizt::ValueNotifier
virtual void valueChanged (const RefPtr< VValueBase > &value, const ValuePoolPtr &, const ValueNotifierList *DoNotBroadcast, const ValueMap *VP=0)=0
 Virtual callback function that is invoked when the referred value is modified.
 
 ValueNotifier ()
 Constructor.
 
 ~ValueNotifier ()
 Destructor.
 
- Public Member Functions inherited from MemCore::ReferenceBase< ValueNotifier >
auto getObjectCountID () const noexcept
 Get a unique ID for this object in the given domain.
 
bool isIdentical (const WeakPtr< ValueNotifier, ValueNotifier > &PossibleSelf) const noexcept
 Check if this object is identical to the one used by the given pointer.
 
void mkAutoDestructive ()
 Marks this object as being automatically destructed, e.g.
 
refcount_t refcount () const noexcept
 The strong reference count.
 
 ReferenceBase (ValueNotifier *that) noexcept
 Constructor, initializes reference counter to zero.
 
const auto & self () const
 Return weak pointer to the object self.
 
refcount_t wrefcount () const noexcept
 The weak reference count.
 
- Public Member Functions inherited from MemCore::Intercube
void addInterface (const RefPtr< InterfaceBase > &I) const
 Add an interface class object.
 
template<class Data >
void addInterfaceData (const Data &D)
 Add data via an interface class object.
 
template<class Data , typename TypeSelector >
void addInterfaceData (const Data &D)
 Add data via an interface class object.
 
void clearInterfaces ()
 Remove all interfaces.
 
bool const_iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP) const
 Constant iterator.
 
virtual RefPtr< InterfaceBasecreateInterface (const type_info &) const
 Virtual function which allows derived objects to create Interface objects on demand.
 
RefPtr< InterfaceBasefindInterface (const type_info &t) const
 Find a certain interface of specified type.
 
RefPtr< InterfaceBasegetInterface (const type_info &t)
 Retrieve an interface object from a certain type.
 
std::string getInterfaceNames (const char delim=';') const
 Debug function retrieving all interfaces as human-readable string.
 
template<class Data >
bool gotNewInterfaceData (const Data &D)
 Check whether data on the given interface have changed, and if so, set new data as interface.
 
template<class Data >
bool gotNewInterfaceData (mutex &M, const Data &D)
 Check whether interface data have changed, if so, then set new interface data and return true.
 
template<class Data , typename Selector >
bool gotNewInterfaceData (mutex &M, const Data &D)
 Check whether interface data have changed, if so, then set new interface data and return true.
 
template<class Data , typename Selector >
bool gotNewInterfaceData (mutex &M, const Data &D, const Selector &S)
 Check whether interface data have changed, if so, then set new interface data and return true.
 
template<class Data , typename Selector >
bool gotNewInterfaceData (mutex &M, const Data &D, const Selector *S)
 Check whether interface data have changed, if so, then set new interface data and return true.
 
template<class Data >
bool hasChangedInterfaceData (const Data &D) const
 Check whether interface data have changed.
 
template<class Data , typename Selector >
bool hasChangedInterfaceData (const Data &D) const
 Check whether interface data have changed.
 
template<class Data , typename Selector >
bool hasChangedInterfaceData (const Data &D, const Selector &) const
 Check whether interface data have changed.
 
template<class Data , typename Selector >
bool hasChangedInterfaceData (const Data &D, const Selector *) const
 Check whether interface data have changed.
 
bool hasInterface (const type_info &t) const
 Check if some Interface might exist.
 
 Intercube ()
 Constructor.
 
bool iterateInterfaces (const RefPtr< InterfaceIterationParameter > &IIP)
 Modifyable iterator.
 
void printInterfaces () const
 Debug function that prints the names of all interfaces.
 
void registerInterface (const type_info &t)
 Register an interface type; when the interface is actually required, the virtual createInterface() function will be called.
 
template<class InterfaceType >
void removeInterface ()
 Remove an interface.
 
void removeInterfaceBase (const type_info &InterfaceBaseID)
 Remove an interface.
 
virtual ~Intercube ()
 Destructor.
 

Protected Member Functions

virtual bool SyncFromContextValue (const RefPtr< ValuePool > &GhostValues, const string &member)=0
 Set the local instance with a value from the global one.
 
- Protected Member Functions inherited from MemCore::ReferenceBase< ValueNotifier >
virtual void extremeUnction ()
 A virtual function that will be called just before the object is destroyed.
 
ReferenceBaseoperator= (const ReferenceBase &R)
 Protected assignment operator (should not be called).
 
void suicide ()
 Delete this.
 
virtual ~ReferenceBase ()
 Virtual destructor.
 

Additional Inherited Members

- Public Types inherited from MemCore::ReferenceBase< ValueNotifier >
using reference_domain_t = ValueNotifier
 The type of the base class.
 
using SelfPtr_t = WeakPtr< ValueNotifier, ValueNotifier >
 Type for a pointer to this object itself.
 

Detailed Description

Base class for objects providing an input of any kind.

It extends the ValueNotifier class by a reference to a VParameter base class.

Note
Call activateNotification() after construction.

Constructor & Destructor Documentation

◆ VInputBase()

Wizt::VInputBase::VInputBase ( const WeakPtr< VParameter > &  owner)

Construct a new input base type.

The creation preferences of the owner might influence the properties of this input, for instance if the "local" property is found in the creation preferences of the owner, then a context-local variable is created.

Note
Call activateNotification() after construction

Member Function Documentation

◆ activateNotification()

bool Wizt::VInputBase::activateNotification ( ) const

Allow the owner of this InputBase to retrieve notification events when the value is changed.

Note
The function MUST NOT be called until this has been assigned to a strong reference pointer! In particular, it MUST NOT be called in the constructor!!

References MemCore::ReferenceBase< ValueNotifier >::self().

◆ notify()

void Wizt::VInputBase::notify ( const ValueNotifierList Source,
const Wizt::ValuePoolPtr Ctx 
) const

Emit a notification event to all ValueNotifiers listening on the certain variable.

Parameters
SourceThe notification event is only broadcasted if the owner is not the source of the event.

References MemCore::ReferenceBase< ValueNotifier >::self(), and Wizt::VActionNotifier::Warning().