Krita Source Code Documentation
Loading...
Searching...
No Matches
KisOptionCollectionWidgetWrapper Class Reference
+ Inheritance diagram for KisOptionCollectionWidgetWrapper:

Public Member Functions

 KisOptionCollectionWidgetWrapper (QWidget *parent, QWidget *widget)
 
void setOrientation (Qt::Orientation orientation)
 
void setSeparatorVisible (bool visible)
 
void setWidgetMargin (int margin)
 
QWidget * widget () const
 
 ~KisOptionCollectionWidgetWrapper () override
 

Private Attributes

int m_margin
 
QFrame * m_separator
 
QWidget * m_widget
 

Detailed Description

Definition at line 19 of file KisOptionCollectionWidget.cpp.

Constructor & Destructor Documentation

◆ KisOptionCollectionWidgetWrapper()

KisOptionCollectionWidgetWrapper::KisOptionCollectionWidgetWrapper ( QWidget * parent,
QWidget * widget )
inline

Definition at line 24 of file KisOptionCollectionWidget.cpp.

25 : QWidget(parent)
27 , m_margin(0)
28 {
29 m_widget->setParent(this);
30
31 setSizePolicy(widget->sizePolicy());
32
33 QBoxLayout *layoutWidget = new QBoxLayout(QBoxLayout::TopToBottom);
34 layoutWidget->setContentsMargins(m_margin, 0, m_margin, 0);
35 layoutWidget->setSpacing(0);
36 layoutWidget->addWidget(m_widget);
37
38 m_separator = new QFrame(this);
39 m_separator->setFrameShape(QFrame::HLine);
40 m_separator->setFrameShadow(QFrame::Sunken);
41 m_separator->setFixedHeight(10);
42
43 QBoxLayout *layoutMain = new QBoxLayout(QBoxLayout::LeftToRight);
44 layoutMain->setContentsMargins(0, 0, 0, 0);
45 layoutMain->setSpacing(0);
46 layoutMain->addLayout(layoutWidget);
47 layoutMain->addWidget(m_separator);
48
49 setLayout(layoutMain);
50 }

References m_margin, m_separator, m_widget, and widget().

◆ ~KisOptionCollectionWidgetWrapper()

KisOptionCollectionWidgetWrapper::~KisOptionCollectionWidgetWrapper ( )
inlineoverride

Definition at line 52 of file KisOptionCollectionWidget.cpp.

52{}

Member Function Documentation

◆ setOrientation()

void KisOptionCollectionWidgetWrapper::setOrientation ( Qt::Orientation orientation)
inline

Definition at line 77 of file KisOptionCollectionWidget.cpp.

78 {
79 QBoxLayout *layoutMain = dynamic_cast<QBoxLayout*>(layout());
80 KIS_ASSERT(layoutMain);
81 QBoxLayout *layoutWidget = dynamic_cast<QBoxLayout*>(layoutMain->itemAt(0)->layout());
82 KIS_ASSERT(layoutWidget);
83
84 if (orientation == Qt::Vertical) {
85 if (layoutMain->direction() == QBoxLayout::TopToBottom) {
86 return;
87 }
88 layoutWidget->setContentsMargins(m_margin, 0, m_margin, 0);
89 m_separator->setFixedSize(QWIDGETSIZE_MAX, 10);
90 m_separator->setFrameShape(QFrame::HLine);
91 layoutMain->setDirection(QBoxLayout::TopToBottom);
92 } else {
93 if (layoutMain->direction() == QBoxLayout::LeftToRight) {
94 return;
95 }
96 layoutWidget->setContentsMargins(0, 0, 0, 0);
97 m_separator->setFixedSize(20, QWIDGETSIZE_MAX);
98 m_separator->setFrameShape(QFrame::VLine);
99 layoutMain->setDirection(QBoxLayout::LeftToRight);
100 }
101 }
#define KIS_ASSERT(cond)
Definition kis_assert.h:33

References KIS_ASSERT, m_margin, and m_separator.

◆ setSeparatorVisible()

void KisOptionCollectionWidgetWrapper::setSeparatorVisible ( bool visible)
inline

Definition at line 59 of file KisOptionCollectionWidget.cpp.

60 {
61 QBoxLayout *layoutMain = dynamic_cast<QBoxLayout*>(layout());
62 KIS_ASSERT(layoutMain);
63
64 const bool isVisible = layoutMain->count() > 1;
65 if (isVisible == visible) {
66 return;
67 }
68 if (isVisible) {
69 layoutMain->takeAt(1);
70 m_separator->setVisible(false);
71 } else {
72 layoutMain->insertWidget(1, m_separator);
73 m_separator->setVisible(true);
74 }
75 }

References KIS_ASSERT, and m_separator.

◆ setWidgetMargin()

void KisOptionCollectionWidgetWrapper::setWidgetMargin ( int margin)
inline

Definition at line 103 of file KisOptionCollectionWidget.cpp.

104 {
105 if (m_margin == margin) {
106 return;
107 }
108 m_margin = margin;
109 QBoxLayout *layoutMain = dynamic_cast<QBoxLayout*>(layout());
110 if (layoutMain->direction() == QBoxLayout::TopToBottom) {
111 QBoxLayout *layoutWidget = dynamic_cast<QBoxLayout*>(layoutMain->itemAt(0)->layout());
112 KIS_SAFE_ASSERT_RECOVER_RETURN(layoutWidget);
113 layoutWidget->setContentsMargins(margin, 0, margin, 0);
114 }
115 }
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References KIS_SAFE_ASSERT_RECOVER_RETURN, and m_margin.

◆ widget()

QWidget * KisOptionCollectionWidgetWrapper::widget ( ) const
inline

Definition at line 54 of file KisOptionCollectionWidget.cpp.

55 {
56 return m_widget;
57 }

References m_widget.

Member Data Documentation

◆ m_margin

int KisOptionCollectionWidgetWrapper::m_margin
private

Definition at line 120 of file KisOptionCollectionWidget.cpp.

◆ m_separator

QFrame* KisOptionCollectionWidgetWrapper::m_separator
private

Definition at line 119 of file KisOptionCollectionWidget.cpp.

◆ m_widget

QWidget* KisOptionCollectionWidgetWrapper::m_widget
private

Definition at line 118 of file KisOptionCollectionWidget.cpp.


The documentation for this class was generated from the following file: