AbstractActionsModel
Qualified name: mv::AbstractActionsModel
-
class AbstractActionsModel : public mv::StandardItemModel
Abstract actions model class.
Abstract standard item model class for actions
- Author
Thomas Kroes
Subclassed by mv::ActionsHierarchyModel, mv::ActionsListModel, mv::PublicActionsModel
Public Types
-
enum class Column
Action columns.
Values:
-
enumerator Name
-
enumerator Location
Name of the action.
-
enumerator ID
Where the action is located in the user interface.
-
enumerator Type
Globally unique identifier of the action.
-
enumerator Scope
Action type string.
-
enumerator ForceDisabled
Scope of the action (whether the action is public or private)
-
enumerator ForceHidden
Whether the action is force disabled or not.
-
enumerator MayPublish
Whether the action is force hidden or not.
-
enumerator MayConnect
Whether the action may be published.
-
enumerator MayDisconnect
Whether the action may connect to a public action.
-
enumerator SortIndex
Whether the action may disconnect from a public action.
-
enumerator Stretch
The sorting index of the action (its relative position in action groups)
-
enumerator ParentActionId
The stretch in action groups.
-
enumerator IsConnected
The identifier of the parent action (if not a top-level action)
-
enumerator NumberOfConnectedActions
Whether the action is connected or not.
-
enumerator PublicActionID
Number of connected actions (in case the action is public)
-
enumerator IsRoot
The identifier of the public action with which the action is connected.
-
enumerator IsLeaf
If the action is at the root or not.
-
enumerator Count
If the action is a leaf or not.
-
enumerator Name
Public Functions
-
AbstractActionsModel(QObject *parent = nullptr)
Construct with
parentobject.- Parameters:
parent – Pointer to parent object
-
virtual void initialize() = 0
Initializes the model from the current state of the actions manager.
-
Qt::ItemFlags flags(const QModelIndex &index) const override
Get flags for item with
index.- Returns:
Item flags
-
gui::WidgetAction *getAction(const QModelIndex &index) const
Get action for model
index.- Parameters:
index – Model index to retrieve the action for
- Returns:
Pointer to action (nullptr if not found)
-
gui::WidgetAction *getAction(std::int32_t rowIndex) const
Get action for model
rowIndex.- Parameters:
rowIndex – Row index to retrieve the action for
- Returns:
Pointer to action (nullptr if not found)
-
gui::WidgetAction *getAction(const QString &name) const
Get action by
name.- Parameters:
name – Name of the action
- Returns:
Pointer to action (nullptr if not found)
-
virtual QModelIndex getActionIndex(const gui::WidgetAction *action, const Column &column = Column::Name) const final
Get model index for
actionand column.- Parameters:
action – Pointer to action to retrieve the model index for
column – Column to retrieve the action index for
- Returns:
Found model index
-
virtual QStandardItem *getActionItem(const gui::WidgetAction *action) const final
Get action item for
action.- Parameters:
action – Pointer to action to retrieve the model item for
- Returns:
Pointer to standard item (nullptr if not found)
Public Static Attributes
-
static QMap<Column, ColumHeaderInfo> columnInfo
Column name and tooltip.
Protected Functions
-
Qt::DropActions supportedDragActions() const override
Get the supported drag actions.
-
Qt::DropActions supportedDropActions() const override
Get the supported drop actions.
-
QStringList mimeTypes() const override
Get mime types.
- Returns:
Supported mime types
-
QMimeData *mimeData(const QModelIndexList &indexes) const override
Get mime data for model
indexes.- Returns:
Pointer to mime data for
indexes
-
bool canDropMimeData(const QMimeData *mimeData, Qt::DropAction dropAction, int row, int column, const QModelIndex &parent) const override
Determines whether
mimeDatawithactioncan be dropped onrowandcolumnwithparentmodel index.- Parameters:
mimeData – Pointer to dropped mime data
dropAction – Drop action
row – Drop row
column – Drop column
parent – Drop parent index
- Returns:
Boolean whether the drop is permitted
-
bool dropMimeData(const QMimeData *mimeData, Qt::DropAction dropAction, int row, int column, const QModelIndex &parent) override
Invoked when
mimeDatais dropped.- Parameters:
mimeData – Pointer to dropped mime data
dropAction – Drop action
row – Drop row
column – Drop column
parent – Drop parent index
- Returns:
Boolean determining whether the drop is performed
-
inline virtual void actionAddedToManager(gui::WidgetAction *action)
Helper method which is invoked when
actionis added to the actions manager.- Parameters:
action – Pointer to action that was added
-
inline virtual void actionAboutToBeRemovedFromManager(gui::WidgetAction *action)
Helper method which is invoked when
actionis about to be removed from the actions manager.- Parameters:
action – Pointer to action that was removed
-
inline virtual void publicActionAddedToManager(gui::WidgetAction *publicAction)
Helper method which is invoked when
publicActionis added to the actions manager.- Parameters:
publicAction – Pointer to public action that was added
-
inline virtual void publicActionAboutToBeRemovedFromManager(gui::WidgetAction *publicAction)
Helper method which is invoked when
publicActionis about to be removed from the actions manager.- Parameters:
publicAction – Pointer to public action to remove
-
struct ColumHeaderInfo
Header strings for several data roles.
-
class ConnectionPermissionItem : public mv::AbstractActionsModel::Item
Model item class for toggling a permission flag.
Public Functions
-
ConnectionPermissionItem(gui::WidgetAction *action, const gui::WidgetAction::ConnectionPermissionFlag &connectionPermissionFlag)
Construct with
actionandconnectionPermissionFlag.- Parameters:
action – Pointer to action to display item for
connectionPermissionFlag – Connection permission flag to display
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
void setData(const QVariant &value, int role) override
Set model data to
valueforrole.
-
ConnectionPermissionItem(gui::WidgetAction *action, const gui::WidgetAction::ConnectionPermissionFlag &connectionPermissionFlag)
-
class ForceDisabledItem : public mv::AbstractActionsModel::Item
Model item class for toggling action force disabled.
Public Functions
-
ForceDisabledItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
void setData(const QVariant &value, int role) override
Set model data to
valueforrole.
-
ForceDisabledItem(gui::WidgetAction *action)
-
class ForceHiddenItem : public mv::AbstractActionsModel::Item
Model item class for toggling force hidden.
Public Functions
-
ForceHiddenItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
void setData(const QVariant &value, int role) override
Set model data to
valueforrole.
-
ForceHiddenItem(gui::WidgetAction *action)
-
class HeaderItem : public QStandardItem
Header standard model item class.
Public Functions
-
HeaderItem(const ColumHeaderInfo &columHeaderInfo)
Construct with
columHeaderInfo.- Parameters:
columHeaderInfo – Column header info
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
HeaderItem(const ColumHeaderInfo &columHeaderInfo)
-
class IdItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the action identifier.
Public Functions
-
IdItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
IdItem(gui::WidgetAction *action)
-
class IsConnectedItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying whether the action is connected or not.
Public Functions
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
Item(gui::WidgetAction *action, bool editable = false)
Use base action item constructor.
-
QVariant data(int role = Qt::UserRole + 1) const override
-
class IsLeafItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying whether the action is a leaf action.
Public Functions
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
Item(gui::WidgetAction *action, bool editable = false)
Use base action item constructor.
-
QVariant data(int role = Qt::UserRole + 1) const override
-
class IsRootItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying whether the action is a root action.
Public Functions
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
Item(gui::WidgetAction *action, bool editable = false)
Use base action item constructor.
-
QVariant data(int role = Qt::UserRole + 1) const override
-
class Item : public QStandardItem, public QObject
Base standard model item class for widget action.
Subclassed by mv::AbstractActionsModel::ConnectionPermissionItem, mv::AbstractActionsModel::ForceDisabledItem, mv::AbstractActionsModel::ForceHiddenItem, mv::AbstractActionsModel::IdItem, mv::AbstractActionsModel::IsConnectedItem, mv::AbstractActionsModel::IsLeafItem, mv::AbstractActionsModel::IsRootItem, mv::AbstractActionsModel::LocationItem, mv::AbstractActionsModel::NameItem, mv::AbstractActionsModel::NumberOfConnectedActionsItem, mv::AbstractActionsModel::ParentActionIdItem, mv::AbstractActionsModel::PublicActionIdItem, mv::AbstractActionsModel::ScopeItem, mv::AbstractActionsModel::SortIndexItem, mv::AbstractActionsModel::StretchItem, mv::AbstractActionsModel::TypeItem
Public Functions
-
Item(gui::WidgetAction *action, bool editable = false)
Construct with
action.- Parameters:
action – Pointer to action to display item for
editable – Whether the model item is editable or not
-
QPointer<gui::WidgetAction> getAction() const
Get action return Pointer to action to display item for.
-
Item(gui::WidgetAction *action, bool editable = false)
-
class LocationItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the action location.
Public Functions
-
LocationItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
LocationItem(gui::WidgetAction *action)
-
class NameItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the action name.
Public Functions
-
NameItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
void setData(const QVariant &value, int role) override
Set model data to
valueforrole.
-
NameItem(gui::WidgetAction *action)
-
class NumberOfConnectedActionsItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the number of connected actions.
Public Functions
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
Item(gui::WidgetAction *action, bool editable = false)
Use base action item constructor.
-
QVariant data(int role = Qt::UserRole + 1) const override
-
class ParentActionIdItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the parent action identifier.
Public Functions
-
ParentActionIdItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
ParentActionIdItem(gui::WidgetAction *action)
-
class PublicActionIdItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the public action identifier.
Public Functions
-
PublicActionIdItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
PublicActionIdItem(gui::WidgetAction *action)
-
class Row : public QList<QStandardItem*>
Convenience class for combining action items in a row.
Public Functions
-
inline Row(gui::WidgetAction *action)
Construct row with
action.- Parameters:
action – Pointer to row action
-
inline Row(gui::WidgetAction *action)
-
class ScopeItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the action scope.
Public Functions
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
Item(gui::WidgetAction *action, bool editable = false)
Use base action item constructor.
-
QVariant data(int role = Qt::UserRole + 1) const override
-
class SortIndexItem : public mv::AbstractActionsModel::Item
Model item class for action sort index.
Public Functions
-
SortIndexItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
void setData(const QVariant &value, int role) override
Set model data to
valueforrole.
-
SortIndexItem(gui::WidgetAction *action)
-
class StretchItem : public mv::AbstractActionsModel::Item
Model item class for action stretch.
Public Functions
-
StretchItem(gui::WidgetAction *action)
Construct with
action.- Parameters:
action – Pointer to action to display item for
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
void setData(const QVariant &value, int role) override
Set model data to
valueforrole.
-
StretchItem(gui::WidgetAction *action)
-
class TypeItem : public mv::AbstractActionsModel::Item
Standard model item class for displaying the action type.
Public Functions
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
Item(gui::WidgetAction *action, bool editable = false)
Use base action item constructor.
-
QVariant data(int role = Qt::UserRole + 1) const override