template class hiro::gui::TElement

Overview

A general element containing basic interface methods. More…

#include <GuiTypes.h>

template <typename C>
class TElement: public hiro::gui::Element {
public:
    // methods

    C* SetConditionFunc(std::function<bool(void)> condition_func);
    C* SetConditionBool(bool* var, hiro::BoolFunc func = hiro::BoolFunc::equals_true);
    C* Subscribe(std::function<void(const C*)> callback_func);

protected:
    // methods

    virtual void NotifyChange() const;
};

Inherited Members

public:
    // methods

    bool TestCondition() const;
    uint32_t GetId() const;

protected:
    // methods

    void SetConditionFuncImpl(std::function<bool(void)> condition_func);

Detailed Documentation

A general element containing basic interface methods.

Methods

C* SetConditionFunc(std::function<bool(void)> condition_func)

Set a visibility condition to this element.

The element will be visible only when specified condition function returns true. The condition function is called automatically on a GUI refresh.

C* SetConditionBool(bool* var, hiro::BoolFunc func = hiro::BoolFunc::equals_true)

Set a visibility condition to this element.

The element will be visible only when specified boolean variable passes the test. The condition variable is checked automatically on a GUI refresh.

Parameters:

var

Pointer to a boolean variable that will be tested.

func

A function used to test the variable against. If the variable passes the function, the condition is satisfied.

C* Subscribe(std::function<void(const C*)> callback_func)

Add a callback function to the subscriber list.

Every function in the subscriber list is called every time an element state changes.