Plasma Engine  2.0
Loading...
Searching...
No Matches
GroupBoxBase.moc.h
1#pragma once
2
3#include <GuiFoundation/GuiFoundationDLL.h>
4#include <QIcon>
5#include <QWidget>
6
7class QMimeData;
8
9class PL_GUIFOUNDATION_DLL plQtGroupBoxBase : public QWidget
10{
11 Q_OBJECT
12public:
13 plQtGroupBoxBase(QWidget* pParent, bool bCollapsible);
14
15 virtual void SetTitle(plStringView sTitle);
16 QString GetTitle() const;
17
18 virtual void SetBoldTitle(bool bBold);
19 bool GetBoldTitle() const;
20
21 virtual void SetIcon(const QIcon& icon);
22 QIcon GetIcon() const;
23
24 virtual void SetFillColor(const QColor& color);
25 QColor GetFillColor() const;
26
27 virtual void SetDraggable(bool bDraggable);
28 bool IsDraggable() const;
29
30 virtual void SetCollapseState(bool bCollapsed) = 0;
31 virtual bool GetCollapseState() const = 0;
32
33 virtual QWidget* GetContent() = 0;
34 virtual QWidget* GetHeader() = 0;
35
36Q_SIGNALS:
37 void CollapseStateChanged(bool bCollapsed);
38 void DragStarted(QMimeData& ref_mimeData);
39
40protected:
41 enum Constants
42 {
43 Rounding = 4,
44 Spacing = 1,
45 };
46
47 void DrawHeader(QPainter& p, const QRect& rect);
48 void HeaderMousePress(QMouseEvent* me);
49 void HeaderMouseMove(QMouseEvent* me);
50 void HeaderMouseRelease(QMouseEvent* me);
51
52 QPoint m_StartCursor;
53 bool m_bDragging = false;
54
55 bool m_bBoldTitle = false;
56 bool m_bCollapsible = false;
57 bool m_bDraggable = false;
58 QColor m_FillColor;
59 QString m_sTitle;
60 QIcon m_Icon;
61};
62
Definition GroupBoxBase.moc.h:10
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34