Krita Source Code Documentation
Loading...
Searching...
No Matches
KisOptionCollectionWidgetWithHeader::Private Struct Reference

Public Member Functions

void adjustPrimaryWidget ()
 
void adjustWidgetCollection ()
 
 Private (KisOptionCollectionWidgetWithHeader *q)
 

Public Attributes

QLabel * label {nullptr}
 
QBoxLayout * layoutHeader {nullptr}
 
QBoxLayout * layoutPrimaryWidget {nullptr}
 
QBoxLayout * layoutWidgets {nullptr}
 
Qt::Orientation orientation {Qt::Vertical}
 
QWidget * primaryWidget {nullptr}
 
KisOptionCollectionWidgetWithHeaderq {nullptr}
 
KisOptionCollectionWidgetwidgetCollection {nullptr}
 

Detailed Description

Definition at line 123 of file KisOptionCollectionWidget.cpp.

Constructor & Destructor Documentation

◆ Private()

KisOptionCollectionWidgetWithHeader::Private::Private ( KisOptionCollectionWidgetWithHeader * q)
inline

Definition at line 134 of file KisOptionCollectionWidget.cpp.

134: q(q) {}

Member Function Documentation

◆ adjustPrimaryWidget()

void KisOptionCollectionWidgetWithHeader::Private::adjustPrimaryWidget ( )
inline

Definition at line 136 of file KisOptionCollectionWidget.cpp.

137 {
138 if (!primaryWidget || !primaryWidget->isVisible()) {
139 return;
140 }
141
142 if (orientation == Qt::Horizontal) {
143 if (layoutHeader->direction() == QBoxLayout::LeftToRight) {
144 return;
145 }
146 layoutHeader->setDirection(QBoxLayout::LeftToRight);
147 layoutHeader->setSpacing(10);
148 layoutPrimaryWidget->setContentsMargins(0, 0, 0, 0);
149 return;
150 }
151 // label.width + primaryWidget.size + 10px spacing + 4px extra (just in case)
152 const int minimumHeaderWidth = label->minimumSizeHint().width() +
153 primaryWidget->minimumSizeHint().width() +
154 10 + 4;
155 if (q->width() < minimumHeaderWidth) {
156 if (layoutHeader->direction() == QBoxLayout::TopToBottom) {
157 return;
158 }
159 layoutHeader->setDirection(QBoxLayout::TopToBottom);
160 layoutHeader->setSpacing(5);
161 layoutPrimaryWidget->setContentsMargins(5, 0, 0, 0);
162 } else {
163 if (layoutHeader->direction() == QBoxLayout::LeftToRight) {
164 return;
165 }
166 layoutHeader->setDirection(QBoxLayout::LeftToRight);
167 layoutHeader->setSpacing(10);
168 layoutPrimaryWidget->setContentsMargins(0, 0, 0, 0);
169 }
170 }

References label, layoutHeader, layoutPrimaryWidget, orientation, primaryWidget, and q.

◆ adjustWidgetCollection()

void KisOptionCollectionWidgetWithHeader::Private::adjustWidgetCollection ( )
inline

Definition at line 172 of file KisOptionCollectionWidget.cpp.

173 {
174 QBoxLayout *layoutMain = dynamic_cast<QBoxLayout*>(q->layout());
175 KIS_ASSERT(layoutMain);
176 if (layoutMain->indexOf(layoutWidgets) == -1) {
178 return;
179 }
180 layoutMain->insertLayout(1, layoutWidgets, 1);
181 widgetCollection->setVisible(true);
182 } else {
184 return;
185 }
186 layoutMain->takeAt(1);
187 widgetCollection->setVisible(false);
188 }
189 }
int numberOfVisibleWidgets() const
Get the number of visible widgets in the list.
#define KIS_ASSERT(cond)
Definition kis_assert.h:33

References KIS_ASSERT, layoutWidgets, KisOptionCollectionWidget::numberOfVisibleWidgets(), q, and widgetCollection.

Member Data Documentation

◆ label

QLabel* KisOptionCollectionWidgetWithHeader::Private::label {nullptr}

Definition at line 126 of file KisOptionCollectionWidget.cpp.

126{nullptr};

◆ layoutHeader

QBoxLayout* KisOptionCollectionWidgetWithHeader::Private::layoutHeader {nullptr}

Definition at line 129 of file KisOptionCollectionWidget.cpp.

129{nullptr};

◆ layoutPrimaryWidget

QBoxLayout* KisOptionCollectionWidgetWithHeader::Private::layoutPrimaryWidget {nullptr}

Definition at line 130 of file KisOptionCollectionWidget.cpp.

130{nullptr};

◆ layoutWidgets

QBoxLayout* KisOptionCollectionWidgetWithHeader::Private::layoutWidgets {nullptr}

Definition at line 131 of file KisOptionCollectionWidget.cpp.

131{nullptr};

◆ orientation

Qt::Orientation KisOptionCollectionWidgetWithHeader::Private::orientation {Qt::Vertical}

Definition at line 132 of file KisOptionCollectionWidget.cpp.

132{Qt::Vertical};

◆ primaryWidget

QWidget* KisOptionCollectionWidgetWithHeader::Private::primaryWidget {nullptr}

Definition at line 127 of file KisOptionCollectionWidget.cpp.

127{nullptr};

◆ q

KisOptionCollectionWidgetWithHeader* KisOptionCollectionWidgetWithHeader::Private::q {nullptr}

Definition at line 125 of file KisOptionCollectionWidget.cpp.

125{nullptr};

◆ widgetCollection

KisOptionCollectionWidget* KisOptionCollectionWidgetWithHeader::Private::widgetCollection {nullptr}

Definition at line 128 of file KisOptionCollectionWidget.cpp.

128{nullptr};

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