class EE::UI::Charts::ModelXYDataSource

Materializes model numeric roles into a typed cache when the model changes.

#include <modelxydatasource.hpp>

class ModelXYDataSource:
    public EE::UI::Charts::XYDataSource,
    public EE::UI::Models::Model::Client {
public:
    // construction

    ModelXYDataSource(std::shared_ptr<Models::Model> model, size_t xColumn, size_t yColumn, Models::ModelRole xRole = Models::ModelRole::Display, Models::ModelRole yRole = Models::ModelRole::Display);
    ~ModelXYDataSource();

    // methods

    virtual XYDataRead acquireRead() const;
    void refresh();
    virtual void onModelUpdated(unsigned flags);
};

Inherited Members

public:
    // classes

    class Connection;

    // methods

    virtual XYDataRead acquireRead() const = 0;
    Connection onChanged(std::function<void(Uint64)> callback);
    virtual void onModelUpdated(unsigned flags) = 0;
    virtual void modelDidInsertRows(] ModelIndex const& parent, ] int first, ] int last);
    virtual void modelDidInsertColumns(] ModelIndex const& parent, ] int first, ] int last);
    virtual void modelDidMoveRows(] ModelIndex const& source_parent, ] int first, ] int last, ] ModelIndex const& target_parent, ] int target_index);
    virtual void modeldidMoveColumns(] ModelIndex const& source_parent, ] int first, ] int last, ] ModelIndex const& target_parent, ] int target_index);
    virtual void modelDidDeleteRows(] ModelIndex const& parent, ] int first, ] int last);
    virtual void modelDidDeleteColumns(] ModelIndex const& parent, ] int first, ] int last);