def restoreGeometryAndLayoutState(self, state): # type: (QByteArray) -> bool """ Restore the geometry and layout of this widget to a state previously saved with :func:`saveGeometryAndLayoutState`. Parameters ---------- state : QByteArray Saved state. Returns ------- success : bool `True` if the state was successfully restored, `False` otherwise. """ version = 0x1 stream = QDataStream(state, QBuffer.ReadOnly) version_ = stream.readUInt32() if stream.status() != QDataStream.Ok or version_ != version: return False splitter_state = stream.readUInt16() has_spliter = splitter_state & 0x2 splitter_state = splitter_state & 0x1 if has_spliter and self.__splitter is not None: self.__setControlAreaVisible(bool(splitter_state)) geometry = QByteArray() stream >>= geometry if stream.status() == QDataStream.Ok: state = self.__restoreWidgetGeometry(bytes(geometry)) self.__was_restored = self.__was_restored or state return state else: return False # pragma: no cover
def restoreState(self, state): # type: (QByteArray) -> bool """ Restore the toolbox from a :class:`QByteArray` `state`. .. note:: The toolbox should already be populated for the state changes to take effect. """ stream = QDataStream(state, QIODevice.ReadOnly) version = stream.readInt() if version == 2: expanded = stream.readQStringList() for action in map(self.tabAction, range(self.count())): if (action.text() in expanded) != action.isChecked(): action.trigger() return True return False
def saveState(self): """ Return the toolbox state (as a `QByteArray`). .. note:: Individual tabs are stored by their action's text. """ version = 2 actions = map(self.tabAction, range(self.count())) expanded = [action for action in actions if action.isChecked()] expanded = [action.text() for action in expanded] byte_array = QByteArray() stream = QDataStream(byte_array, QIODevice.WriteOnly) stream.writeInt(version) stream.writeQStringList(expanded) return byte_array
def restoreState(self, state): """ Restore the toolbox from a :class:`QByteArray` `state`. .. note:: The toolbox should already be populated for the state changes to take effect. """ # In version 1 of saved state the state was saved in # a simple dict repr string. if isinstance(state, QByteArray): stream = QDataStream(state, QIODevice.ReadOnly) version = stream.readInt() if version == 2: expanded = stream.readQStringList() for action in map(self.tabAction, range(self.count())): if (action.text() in expanded) != action.isChecked(): action.trigger() return True return False
def restoreGeometryAndLayoutState(self, state): # type: (QByteArray) -> bool """ Restore the geometry and layout of this widget to a state previously saved with :func:`saveGeometryAndLayoutState`. Parameters ---------- state : QByteArray Saved state. Returns ------- success : bool `True` if the state was successfully restored, `False` otherwise. """ version = 0x1 stream = QDataStream(state, QBuffer.ReadOnly) version_ = stream.readUInt32() if stream.status() != QDataStream.Ok or version_ != version: return False splitter_state = stream.readUInt16() has_spliter = splitter_state & 0x2 splitter_state = splitter_state & 0x1 if has_spliter and self.__splitter is not None: self.__splitter.setControlAreaVisible(bool(splitter_state)) geometry = QByteArray() stream >> geometry if stream.status() == QDataStream.Ok: return self.__restoreWidgetGeometry(bytes(geometry)) else: return False # pragma: no cover
def saveGeometryAndLayoutState(self): # type: () -> QByteArray """ Save the current geometry and layout state of this widget and child windows (if applicable). Returns ------- state : QByteArray Saved state. """ version = 0x1 have_spliter = 0 splitter_state = 0 if self.__splitter is not None: have_spliter = 1 splitter_state = 1 if self.controlAreaVisible else 0 data = QByteArray() stream = QDataStream(data, QBuffer.WriteOnly) stream.writeUInt32(version) stream.writeUInt16((have_spliter << 1) | splitter_state) stream <<= self.saveGeometry() return data
def saveState(self): # type: () -> QByteArray """ Return the toolbox state (as a `QByteArray`). .. note:: Individual tabs are stored by their action's text. """ version = 2 actions = map(self.tabAction, range(self.count())) expanded = [action for action in actions if action.isChecked()] expanded = [action.text() for action in expanded] byte_array = QByteArray() stream = QDataStream(byte_array, QIODevice.WriteOnly) stream.writeInt(version) stream.writeQStringList(expanded) return byte_array
def saveGeometryAndLayoutState(self): # type: () -> QByteArray """ Save the current geometry and layout state of this widget and child windows (if applicable). Returns ------- state : QByteArray Saved state. """ version = 0x1 have_spliter = 0 splitter_state = 0 if self.__splitter is not None: have_spliter = 1 splitter_state = 1 if self.controlAreaVisible else 0 data = QByteArray() stream = QDataStream(data, QBuffer.WriteOnly) stream.writeUInt32(version) stream.writeUInt16((have_spliter << 1) | splitter_state) stream << self.saveGeometry() return data