Class sh::filesystem::FilesystemNodeList

class sh::filesystem::FilesystemNodeList : public QObject

A data structure for children lists of filesystem nodes.

Different subclasses exist with different behaviors and use cases.

Subclassed by sh::filesystem::AdhocFilesystemNodeList, sh::filesystem::ModelBackedFilesystemNodeList

Public Functions

void addItems(QSet<std::shared_ptr<sh::filesystem::FilesystemNode>> nodes) = 0

Adds items to this list. In a model-backed list, this triggers the internal model mounting calls. It is not allowed to call this method twice with the same node.

void addItem(std::shared_ptr<sh::filesystem::FilesystemNode> node) = 0

Adds an item to this list. In a model-backed list, this triggers the internal model mounting calls. It is not allowed to call this method twice with the same node.

void removeItems(QSet<std::shared_ptr<sh::filesystem::FilesystemNode>> nodes) = 0

Removes nodes from this list. In a model-backed list, this triggers the internal model unmounting calls. It is not allowed to call this method with a node, which is not contained in that list.

void removeItem(std::shared_ptr<sh::filesystem::FilesystemNode> node) = 0

Removes a node from this list. In a model-backed list, this triggers the internal model unmounting calls. It is not allowed to call this method with a node, which is not contained in that list.

void resetItems(sh::filesystem::FilesystemNodeType type, QSet<std::shared_ptr<sh::filesystem::FilesystemNode>> nodes) = 0

Resets the list for a given node type to a given new list of children nodes.

std::shared_ptr<sh::filesystem::FilesystemNode> mynode() = 0

Returns the node which owns this children list. The result may be 0 for non model-backed lists.

bool contains(std::shared_ptr<FilesystemNode> node)

Checks if this list contains a given node.

const QList<std::shared_ptr<sh::filesystem::FilesystemNode>> *nodes()

Returns the list of nodes currently stored in this instance.