Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def minimumSize(self):
""" Get the minimum size for the layout.
"""
widget = self.currentWidget()
if widget is not None:
return widget.minimumSizeHint()
return QSize(256, 192)
self._is_editable = False
self._force_hidden = False
self._last_visible = True
self._line_edit = None
title_icon = self._title_icon = QIconWidget(self)
title_icon.setVisible(False)
title_label = self._title_label = QTextLabel(self)
spacer = self._spacer = QWidget(self)
policy = spacer.sizePolicy()
policy.setHorizontalPolicy(QSizePolicy.Expanding)
spacer.setSizePolicy(policy)
btn_size = QSize(14, 13)
max_button = self._max_button = QBitmapButton(self)
max_button.setObjectName('docktitlebar-maximize-button')
max_button.setBitmap(MAXIMIZE_BUTTON.toBitmap())
max_button.setIconSize(btn_size)
max_button.setVisible(self._buttons & self.MaximizeButton)
max_button.setToolTip('Maximize')
restore_button = self._restore_button = QBitmapButton(self)
restore_button.setObjectName('docktitlebar-restore-button')
restore_button.setBitmap(RESTORE_BUTTON.toBitmap())
restore_button.setIconSize(btn_size)
restore_button.setVisible(self._buttons & self.RestoreButton)
restore_button.setToolTip('Restore Down')
close_button = self._close_button = QBitmapButton(self)
result : QSize
A (potentially invalid) QSize which is the maximum size
allowable while still satisfying all constraints.
"""
d = self.declaration
expanding = ('ignore', 'weak')
if d.hug_width in expanding and d.hug_height in expanding:
return QSize(16777215, 16777215)
if self._owns_layout and self._layout_manager is not None:
w, h = self._layout_manager.get_max_size(d.width, d.height)
if w < 0 or d.hug_width in expanding:
w = 16777215
if h < 0 or d.hug_height in expanding:
h = 16777215
return QSize(w, h)
return QSize(16777215, 16777215)
def _targetGlobalPos(self):
""" Get the global position of the parent anchor.
Returns
-------
result : QPoint
The global coordinates of the target parent anchor.
"""
state = self._state
if state.anchor_mode == QPopupView.AnchorCursor:
origin = QCursor.pos()
size = QSize()
else:
parent = self.parent()
if parent is None:
# FIXME expose something other than the primary screen.
desktop = QApplication.desktop()
geo = desktop.availableGeometry()
origin = geo.topLeft()
size = geo.size()
else:
origin = parent.mapToGlobal(QPoint(0, 0))
size = parent.size()
anchor = state.parent_anchor
px = int(anchor.x() * size.width())
py = int(anchor.y() * size.height())
return origin + QPoint(px, py)
def setSizeHint(self, hint):
""" Sets the size hint to use for this widget.
"""
self._size_hint = QSize(hint)
def __init__(self, widget, data):
""" Initialize a QFlowWidgetItem.
Parameters
----------
widget : QWidget
The widget to manage with this item.
data : FlowLayoutData
The layout data struct associated with this item.
"""
super(QFlowWidgetItem, self).__init__(widget)
self.data = data
self._cached_hint = QSize()
self._cached_max = QSize()
self._cached_min = QSize()
Resizing is disabled if an animation is running.
"""
animation = self._animation
if animation and animation.state() == animation.Running:
return
p = self.position()
if p == QDockBar.North:
delta = QSize(0, delta.y())
elif p == QDockBar.East:
delta = QSize(-delta.x(), 0)
elif p == QDockBar.South:
delta = QSize(0, -delta.y())
else:
delta = QSize(delta.x(), 0)
user_size = self.size() + delta
user_size = user_size.expandedTo(self.minimumSize())
parent = self.parent()
if parent is not None:
user_size = user_size.boundedTo(parent.size())
self._user_size = user_size
if p == QDockBar.East or p == QDockBar.South:
d = user_size - self.size()
p = self.pos() - QPoint(d.width(), d.height())
self.setGeometry(QRect(p, user_size))
else:
self.resize(user_size)
def sizeHint(self):
""" Get the size hint for the text label.
"""
base = self._text_size
if not base.isValid():
metrics = self.fontMetrics()
base = QSize(metrics.width(self._text), metrics.height())
self._text_size = base
left, top, right, bottom = self.getContentsMargins()
return base + QSize(left + right, top + bottom)
def setMaximumSize(self, size):
""" Set the maximum size for the QWindow.
This is an overridden parent class method which stores the
provided size as the explictly set QSize. The explicit
size can be reset by passing a QSize equal to the maximum
widget size of QSize(16777215, 16777215).
Parameters
----------
size : QSize
The maximum size for the QWindow.
"""
super(QWindowBase, self).setMaximumSize(size)
if size == QSize(16777215, 16777215):
self._expl_max_size = QSize()
else:
self._expl_max_size = size
self.layout().update()
def invalidate(self):
""" Invalidate the internal cached data for this widget item.
The invalidation will only have an effect if the layout data
associate with this item is marked as dirty.
"""
if self.data.dirty:
self._cached_hint = QSize()
self._cached_min = QSize()
self.data.dirty = False