Qt Utilities  6.0.1
Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models
optioncategory.h
Go to the documentation of this file.
1 #ifndef DIALOGS_OPTIONSCATEGORY_H
2 #define DIALOGS_OPTIONSCATEGORY_H
3 
4 #include "../global.h"
5 
6 #include <QIcon>
7 #include <QList>
8 #include <QObject>
9 
10 namespace QtUtilities {
11 
12 class OptionPage;
13 
14 class QT_UTILITIES_EXPORT OptionCategory : public QObject {
15  Q_OBJECT
16  Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged)
17  Q_PROPERTY(QIcon icon READ icon WRITE setIcon NOTIFY iconChanged)
18  Q_PROPERTY(QList<OptionPage *> pages READ pages WRITE assignPages NOTIFY pagesChanged)
19 
20 public:
21  explicit OptionCategory(QObject *parent = nullptr);
22  ~OptionCategory() override;
23 
24  const QString &displayName() const;
25  void setDisplayName(const QString &displayName);
26  const QIcon &icon() const;
27  void setIcon(const QIcon &icon);
28  const QList<OptionPage *> &pages() const;
29  void assignPages(const QList<OptionPage *> &pages);
30  bool applyAllPages();
31  void resetAllPages();
32  bool matches(const QString &searchKeyWord) const;
33  int currentIndex() const;
34  void setCurrentIndex(int currentIndex);
35 
36 Q_SIGNALS:
37  void displayNameChanged(const QString &displayName);
38  void iconChanged(const QIcon &icon);
39  void pagesChanged(const QList<OptionPage *> &pages);
40 
41 private:
42  QString m_displayName;
43  QIcon m_icon;
44  QList<OptionPage *> m_pages;
45  int m_currentIndex;
46 };
47 
51 inline const QString &OptionCategory::displayName() const
52 {
53  return m_displayName;
54 }
55 
59 inline void OptionCategory::setDisplayName(const QString &displayName)
60 {
61  emit displayNameChanged(m_displayName = displayName);
62 }
63 
67 inline const QIcon &OptionCategory::icon() const
68 {
69  return m_icon;
70 }
71 
75 inline void OptionCategory::setIcon(const QIcon &icon)
76 {
77  emit iconChanged(m_icon = icon);
78 }
79 
83 inline const QList<OptionPage *> &OptionCategory::pages() const
84 {
85  return m_pages;
86 }
87 
93 inline int OptionCategory::currentIndex() const
94 {
95  return m_currentIndex;
96 }
97 
102 inline void OptionCategory::setCurrentIndex(int currentIndex)
103 {
104  m_currentIndex = currentIndex;
105 }
106 } // namespace QtUtilities
107 
108 #endif // DIALOGS_OPTIONSCATEGORY_H
QtUtilities::OptionCategory::setIcon
void setIcon(const QIcon &icon)
Sets the icon of the category.
Definition: optioncategory.h:75
QT_UTILITIES_EXPORT
#define QT_UTILITIES_EXPORT
Marks the symbol to be exported by the qtutilities library.
QtUtilities::OptionCategory::icon
const QIcon & icon() const
QtUtilities
!
Definition: trylocker.h:8
QtUtilities::OptionCategory
The OptionCategory class wraps associated option pages.
Definition: optioncategory.h:14
QtUtilities::OptionCategory::setCurrentIndex
void setCurrentIndex(int currentIndex)
Sets the current index.
Definition: optioncategory.h:102
QtUtilities::OptionPage
The OptionPage class is the base class for SettingsDialog pages.
Definition: optionpage.h:15
QtUtilities::OptionCategory::currentIndex
int currentIndex() const
Returns the index of the currently shown page.
Definition: optioncategory.h:93
QtUtilities::OptionCategory::setDisplayName
void setDisplayName(const QString &displayName)
Sets the display name of the category.
Definition: optioncategory.h:59
QtUtilities::OptionCategory::pages
const QList< OptionPage * > & pages() const