.. index:: pair: class; EE::UI::Models::FileSystemModel .. _doxid-class_e_e_1_1_u_i_1_1_models_1_1_file_system_model: class EE::UI::Models::FileSystemModel ===================================== .. toctree:: :hidden: enum_EE_UI_Models_FileSystemModel_Column.rst enum_EE_UI_Models_FileSystemModel_Mode.rst struct_EE_UI_Models_FileSystemModel_DisplayConfig.rst struct_EE_UI_Models_FileSystemModel_Node.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class FileSystemModel: public :ref:`EE::UI::Models::Model` { public: // enums enum :ref:`Column`; enum :ref:`Mode`; // structs struct :ref:`DisplayConfig`; struct :ref:`Node`; // construction :target:`~FileSystemModel`(); // methods static std::shared_ptr :target:`New`(const std::string& rootPath, const :ref:`Mode`& mode = :ref:`Mode::FilesAndDirectories`, const :ref:`DisplayConfig`& displayConfig = :ref:`DisplayConfig`(), :ref:`Translator`* translator = nullptr); const :ref:`Mode`& :target:`getMode`() const; const std::string& :target:`getRootPath`() const; void :target:`setRootPath`(const std::string& rootPath); :ref:`Node`* :target:`getNodeFromPath`(std::string path, bool folderNode = false, bool invalidateTree = true); std::string_view :target:`getNodeRelativePath`(const :ref:`Node`*) const; void :target:`reload`(); void :target:`refresh`(); virtual void :target:`update`(); const :ref:`Node`& :target:`node`(const :ref:`ModelIndex`& index) const; virtual size_t :target:`treeColumn`() const; virtual size_t :target:`rowCount`(const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const; virtual size_t :target:`columnCount`(const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const; virtual std::string :target:`columnName`(const size_t& column) const; virtual :ref:`Variant` :target:`data`(const :ref:`ModelIndex`&, :ref:`ModelRole` role = :ref:`ModelRole::Display`) const; virtual :ref:`ModelIndex` :target:`parentIndex`(const :ref:`ModelIndex`&) const; virtual :ref:`ModelIndex` :target:`index`(int row, int column = 0, const :ref:`ModelIndex`& parent = :ref:`ModelIndex`()) const; virtual :ref:`UIIcon`* :target:`iconFor`(const :ref:`Node`& node, const :ref:`ModelIndex`& index) const; void :target:`setMode`(const :ref:`Mode`& mode); const :ref:`DisplayConfig`& :target:`getDisplayConfig`() const; void :target:`setDisplayConfig`(const :ref:`DisplayConfig`& displayConfig); const :ref:`ModelIndex`& :target:`getPreviouslySelectedIndex`() const; void :target:`setPreviouslySelectedIndex`(const :ref:`ModelIndex`& previouslySelectedIndex); bool :target:`handleFileEvent`(const :ref:`FileEvent`& event); virtual bool :target:`classModelRoleEnabled`(); }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // typedefs typedef std::function<:ref:`Variant`(const :ref:`ModelIndex`&, const void*:ref:`data`)> :ref:`ModelStyler`; // enums enum :ref:`UpdateFlag`; // structs struct :ref:`Operation`; // classes class :ref:`Client`; // methods virtual size_t :ref:`rowCount`(const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const = 0; virtual size_t :ref:`columnCount`(const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const = 0; virtual std::string :ref:`columnName`(const size_t&) const; virtual std::string :ref:`rowName`(const size_t&) const; virtual :ref:`Variant` :ref:`data`(const :ref:`ModelIndex`&, :ref:`ModelRole` = :ref:`ModelRole::Display`) const = 0; virtual void :ref:`update`(); virtual :ref:`ModelIndex` :ref:`parentIndex`(const :ref:`ModelIndex`&) const; virtual :ref:`ModelIndex` :ref:`index`(int row, int column = 0, const :ref:`ModelIndex`& = :ref:`ModelIndex`()) const; virtual :ref:`ModelIndex` :ref:`sibling`(int row, int column, const :ref:`ModelIndex`& parent) const; virtual void :ref:`setData`(const :ref:`ModelIndex`&, const :ref:`Variant`&); virtual size_t :ref:`treeColumn`() const; virtual bool :ref:`acceptsDrag`(const :ref:`ModelIndex`&, const std::string& dataType); virtual bool :ref:`isColumnSortable`(const size_t&) const; virtual std::string :ref:`dragDataType`() const; virtual bool :ref:`isEditable`(const :ref:`ModelIndex`&) const; bool :ref:`isValid`(const :ref:`ModelIndex`& index) const; virtual int :ref:`keyColumn`() const; virtual :ref:`SortOrder` :ref:`sortOrder`() const; virtual bool :ref:`isSortable`(); virtual void :ref:`sort`(const size_t&, const :ref:`SortOrder`&); virtual bool :ref:`classModelRoleEnabled`(); void :ref:`registerView`(:ref:`UIAbstractView`*); void :ref:`unregisterView`(:ref:`UIAbstractView`*); void :ref:`registerClient`(:ref:`Client`*); void :ref:`unregisterClient`(:ref:`Client`*); void :ref:`refreshView`(); void :ref:`setOnUpdate`(const std::function& onUpdate); void :ref:`invalidate`(unsigned int flags = Model::UpdateFlag::InvalidateAllIndexes); std::weak_ptr<:ref:`PersistentHandle`> :ref:`registerPersistentIndex`(:ref:`ModelIndex` const&); void :ref:`beginInsertRows`(:ref:`ModelIndex` const& parent, int first, int last); void :ref:`beginInsertColumns`(:ref:`ModelIndex` const& parent, int first, int last); void :ref:`beginMoveRows`(:ref:`ModelIndex` const& sourceParent, int first, int last, :ref:`ModelIndex` const& targetParent, int target_index); void :ref:`beginMoveColumns`(:ref:`ModelIndex` const& sourceParent, int first, int last, :ref:`ModelIndex` const& targetParent, int target_index); void :ref:`beginDeleteRows`(:ref:`ModelIndex` const& parent, int first, int last); void :ref:`beginDeleteColumns`(:ref:`ModelIndex` const& parent, int first, int last); void :ref:`endInsertRows`(); void :ref:`endInsertColumns`(); void :ref:`endMoveRows`(); void :ref:`endMoveColumns`(); void :ref:`endDeleteRows`(); void :ref:`endDeleteColumns`(); :ref:`Mutex`& :ref:`resourceMutex`(); void :ref:`acquireResourceMutex`(); void :ref:`releaseResourceMutex`(); :ref:`Uint32` :ref:`subsribeModelStyler`(const :ref:`ModelStyler`& styler); void :ref:`unsubsribeModelStyler`(:ref:`Uint32` id);