pqExpanderButton.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 #ifndef pqExpanderButton_h
5 #define pqExpanderButton_h
6 
7 #include "pqWidgetsModule.h"
8 #include <QFrame>
9 
15 class PQWIDGETS_EXPORT pqExpanderButton : public QFrame
16 {
17  Q_OBJECT
18  typedef QFrame Superclass;
19 
20  Q_PROPERTY(QString text READ text WRITE setText)
21  Q_PROPERTY(bool checked READ checked WRITE setChecked)
22  Q_PROPERTY(HeadingLevel headingLevel READ headingLevel WRITE setHeadingLevel)
23  Q_ENUMS(HeadingLevel)
24 public:
25  pqExpanderButton(QWidget* parent = nullptr);
26  ~pqExpanderButton() override;
27 
36  {
37  H1 = 0,
38  H2
39  };
40 
41 public Q_SLOTS: // NOLINT(readability-redundant-access-specifiers)
45  void toggle();
46 
53  void setChecked(bool);
54  bool checked() const { return this->Checked; }
55 
59  void setText(const QString& text);
60  QString text() const;
61 
66  void setHeadingLevel(HeadingLevel level);
67  HeadingLevel headingLevel() const { return this->CurrentHeadingLevel; }
68 
69 Q_SIGNALS:
75  void toggled(bool checked);
76 
77 protected:
78  void mousePressEvent(QMouseEvent* evt) override;
79  void mouseReleaseEvent(QMouseEvent* evt) override;
80 
81 private:
82  Q_DISABLE_COPY(pqExpanderButton)
83 
84 
87  void updateIcon();
88 
89  class pqInternals;
90  pqInternals* Internals;
91  bool Checked;
92  HeadingLevel CurrentHeadingLevel;
93 };
94 
95 #endif
level
pqExpanderButton provides a frame with a toggle mode.
bool checked() const
HeadingLevel
This enum specifies the level of the button in a hierarchy of expanders, similar to heading levels in...
HeadingLevel headingLevel() const
toggle