swift
actionitem.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2015 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_GUI_MODELS_ACTIONITEM_H
7 #define SWIFT_GUI_MODELS_ACTIONITEM_H
8 
9 #include <QList>
10 #include <QPixmap>
11 #include <QString>
12 
13 #include "misc/icons.h"
14 
15 namespace swift::gui::models
16 {
19  {
20  public:
22  CActionItem(const QString &action, const QString &name, CActionItem *parentItem = nullptr);
23 
25  CActionItem(const QString &action, const QString &name, const QPixmap &icon, CActionItem *parentItem = nullptr);
26 
28  CActionItem(const QString &action, const QString &name, swift::misc::CIcons::IconIndex icon,
29  CActionItem *parentItem = nullptr);
30 
32  ~CActionItem();
33 
36  CActionItem(const CActionItem &) = delete;
37  CActionItem &operator=(const CActionItem &) = delete;
39 
41  void appendChild(CActionItem *child);
42 
44  CActionItem *findChildByName(const QString &name) const;
45 
47  CActionItem *getChildByRow(int row) const;
48 
50  int getChildCount() const;
51 
53  const QPixmap &getIcon() const { return m_icon; }
54 
56  void setIcon(const QPixmap &icon) { m_icon = icon; }
57 
59  bool hasChildren() const;
60 
62  int getColumnCount() const;
63 
65  QString getAction() const;
66 
68  QString getActionName() const;
69 
71  int getRow() const;
72 
74  CActionItem *getParentItem() const;
75 
76  private:
77  QString m_action;
78  QString m_actionName;
79  QPixmap m_icon;
80  QList<CActionItem *> m_childItems;
81  CActionItem *m_parentItem = nullptr;
82  };
83 } // namespace swift::gui::models
84 
85 #endif // SWIFT_GUI_MODELS_ACTIONITEM_H
One single action item in a tree.
Definition: actionitem.h:19
int getColumnCount() const
Number of columns.
Definition: actionitem.cpp:44
QString getAction() const
Returns the stored action.
Definition: actionitem.cpp:46
int getRow() const
Get row of this item.
Definition: actionitem.cpp:52
bool hasChildren() const
Has children?
Definition: actionitem.cpp:42
CActionItem & operator=(const CActionItem &)=delete
Not copyable.
int getChildCount() const
Number of children.
Definition: actionitem.cpp:40
void appendChild(CActionItem *child)
Append a new child.
Definition: actionitem.cpp:27
CActionItem * getParentItem() const
Get parent item.
Definition: actionitem.cpp:50
CActionItem * getChildByRow(int row) const
Get child by row.
Definition: actionitem.cpp:38
CActionItem(const CActionItem &)=delete
Not copyable.
CActionItem(const QString &action, const QString &name, CActionItem *parentItem=nullptr)
Constructor.
Definition: actionitem.cpp:12
CActionItem * findChildByName(const QString &name) const
Find child by its name.
Definition: actionitem.cpp:29
void setIcon(const QPixmap &icon)
Set icon.
Definition: actionitem.h:56
QString getActionName() const
Get action name.
Definition: actionitem.cpp:48
const QPixmap & getIcon() const
Icon.
Definition: actionitem.h:53
IconIndex
Index for each icon, allows to send them via DBus, efficiently store them, etc.
Definition: icons.h:32
Models to be used with views, mainly QTableView.