def event_msg(self, id, val): data = Qt.QByteArray() s_val = "%04d" % val data.append(s_val) s_id = "%04d" % id data.append(s_id) return data
def restoreState(self, state): """ Restore state of workspace's layout. Arguments: state (str): String representation of layout state. """ if not state: return state = state.split(";") data = {} for item in state: value = item.split("=") if len(value) > 1: data[str(value[0])] = value[1] if "history_hdata" in data: state = Q.QByteArray(data["history_hdata"]) self.history_hsplitter.restoreState(state) if "case_hdata" in data: state = Q.QByteArray(data["case_hdata"]) self.case_hsplitter.restoreState(state) if "case_vdata" in data: state = Q.QByteArray(data["case_vdata"]) self.case_vsplitter.restoreState(state)
def saveState(self): """ Save state of workspace's layout. Returns: str: String representation of layout state, suitable for storage in preference file. """ history_hdata = Q.QByteArray.\ toBase64(self.history_hsplitter.saveState()) case_hdata = Q.QByteArray.toBase64(self.case_hsplitter.saveState()) case_vdata = Q.QByteArray.toBase64(self.case_vsplitter.saveState()) data = [] data.append("{}={}".format("history_hdata", history_hdata)) data.append("{}={}".format("case_hdata", case_hdata)) data.append("{}={}".format("case_vdata", case_vdata)) return Q.QByteArray(str(";".join(data)))
def mimeData(self, midxs): mime_data = super().mimeData(midxs) if mime_data is None: mime_data = Qt.QMimeData() d = Qt.QByteArray() ds = Qt.QDataStream(d, Qt.QIODevice.WriteOnly) ds.writeUInt64(id(self)) # There is an midx for every column of the dragged row(s), but our ROW_DRAG_MIME_TYPE data should contain only one entry per row packed_rows = set() for midx in midxs: assert midx.isValid() row = midx.row() if row in packed_rows: continue packed_rows.add(row) ds.writeInt64(row) mime_data.setData(ROWS_DRAG_MIME_TYPE, d) return mime_data