Class sh::actions::AbstractActionFactory

class sh::actions::AbstractActionFactory

Abstract base class for an action factory.

It creates an instance of a certain subclass of AbstractActionItem. It can also check if it is defined to be created in a given situation (e.g. not all actions are visible in toolbar).

Subclassed by sh::actions::ActionFactory< T >, sh::scripting::api::ApiActionFactory

Public Functions

AbstractActionFactory(std::shared_ptr<sh::actions::ActionCategory> category, QList<std::shared_ptr<Predicate>> predicates)

Is (for subclasses) intended to be directly constructed and registered once.

~AbstractActionFactory()
std::shared_ptr<ActionInstantiation> actionAvailable(ActionInstantiation *instantiation)
std::shared_ptr<sh::actions::AbstractActionItem> construct(QList<std::shared_ptr<sh::filesystem::FilesystemNode>> nodes) = 0

Private Members

std::shared_ptr<sh::actions::ActionCategory> category
QList<std::shared_ptr<Predicate>> predicates