.. index:: pair: class; EE::UI::Models::Model .. _doxid-class_e_e_1_1_u_i_1_1_models_1_1_model: class EE::UI::Models::Model =========================== .. toctree:: :hidden: enum_EE_UI_Models_Model_UpdateFlag.rst struct_EE_UI_Models_Model_Operation.rst class_EE_UI_Models_Model_Client.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class Model { public: // typedefs typedef std::function<:ref:`Variant`(const :ref:`ModelIndex`&, const void*:ref:`data`)> :target:`ModelStyler`; // enums enum :ref:`UpdateFlag`; // structs struct :ref:`Operation`; // classes class :ref:`Client`; // construction virtual :target:`~Model`(); // methods virtual size_t :target:`rowCount`(const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const = 0; virtual size_t :target:`columnCount`(const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const = 0; virtual std::string :target:`columnName`(const size_t&) const; virtual std::string :target:`rowName`(const size_t&) const; virtual :ref:`Variant` :target:`data`(const :ref:`ModelIndex`&, :ref:`ModelRole` = :ref:`ModelRole::Display`) const = 0; virtual void :target:`update`(); virtual :ref:`ModelIndex` :target:`parentIndex`(const :ref:`ModelIndex`&) const; virtual :ref:`ModelIndex` :target:`index`(int row, int column = 0, const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const; virtual :ref:`ModelIndex` :target:`sibling`(int row, int column, const :ref:`ModelIndex`& parent) const; virtual void :target:`setData`(const :ref:`ModelIndex`&, const :ref:`Variant`&); virtual size_t :target:`treeColumn`() const; virtual bool :target:`acceptsDrag`(const :ref:`ModelIndex`&, const std::string& dataType); virtual bool :target:`isColumnSortable`(const size_t&) const; virtual std::string :target:`dragDataType`() const; virtual bool :target:`isEditable`(const :ref:`ModelIndex`&) const; bool :target:`isValid`(const :ref:`ModelIndex`& index) const; virtual int :target:`keyColumn`() const; virtual :ref:`SortOrder` :target:`sortOrder`() const; virtual bool :target:`isSortable`(); virtual void :target:`sort`(const size_t&, const :ref:`SortOrder`&); virtual bool :target:`classModelRoleEnabled`(); void :target:`registerView`(:ref:`UIAbstractView`*); void :target:`unregisterView`(:ref:`UIAbstractView`*); void :target:`registerClient`(:ref:`Client`*); void :target:`unregisterClient`(:ref:`Client`*); void :target:`refreshView`(); void :target:`setOnUpdate`(const std::function& onUpdate); void :target:`invalidate`(unsigned int flags = Model::UpdateFlag::InvalidateAllIndexes); std::weak_ptr<:ref:`PersistentHandle`> :target:`registerPersistentIndex`(:ref:`ModelIndex` const&); void :target:`beginInsertRows`(:ref:`ModelIndex` const& parent, int first, int last); void :target:`beginInsertColumns`(:ref:`ModelIndex` const& parent, int first, int last); void :target:`beginMoveRows`(:ref:`ModelIndex` const& sourceParent, int first, int last, :ref:`ModelIndex` const& targetParent, int target_index); void :target:`beginMoveColumns`(:ref:`ModelIndex` const& sourceParent, int first, int last, :ref:`ModelIndex` const& targetParent, int target_index); void :target:`beginDeleteRows`(:ref:`ModelIndex` const& parent, int first, int last); void :target:`beginDeleteColumns`(:ref:`ModelIndex` const& parent, int first, int last); void :target:`endInsertRows`(); void :target:`endInsertColumns`(); void :target:`endMoveRows`(); void :target:`endMoveColumns`(); void :target:`endDeleteRows`(); void :target:`endDeleteColumns`(); :ref:`Mutex`& :target:`resourceMutex`(); void :target:`acquireResourceMutex`(); void :target:`releaseResourceMutex`(); :ref:`Uint32` :target:`subsribeModelStyler`(const :ref:`ModelStyler`& styler); void :target:`unsubsribeModelStyler`(:ref:`Uint32` id); };