示例#1
0
 def selected_page_idxs(self, idxs):
     idxs = sorted(idxs)
     if not idxs:
         self.pages_view.selectionModel().clearSelection()
         return
     page_count = len(self.pages)
     idxs = [idx for idx in sorted(idxs) if 0 <= idx < page_count]
     # "run" as in consecutive indexes specified as range rather than individually
     run_start_idx = idxs[0]
     run_end_idx = idxs[0]
     runs = []
     for idx in idxs[1:]:
         if idx == run_end_idx + 1:
             run_end_idx = idx
         else:
             runs.append((run_start_idx, run_end_idx))
             run_end_idx = run_start_idx = idx
     runs.append((run_start_idx, run_end_idx))
     m = self.pages_model
     item_selection = Qt.QItemSelection()
     for run_start_idx, run_end_idx in runs:
         item_selection.append(Qt.QItemSelectionRange(m.index(run_start_idx, 0), m.index(run_end_idx, 0)))
     sm = self.pages_view.selectionModel()
     sm.select(item_selection, Qt.QItemSelectionModel.ClearAndSelect)
     if self.focused_page_idx not in idxs:
         sm.setCurrentIndex(m.index(idxs[0], 0), Qt.QItemSelectionModel.Current)
示例#2
0
 def selected_page_idxs(self, idxs):
     item_selection = Qt.QItemSelection()
     for idx in idxs:
         item_selection.append(Qt.QItemSelectionRange(self.pages_model.index(idx, 0)))
     sm = self.pages_view.selectionModel()
     sm.select(item_selection, Qt.QItemSelectionModel.ClearAndSelect)
     if idxs and self.current_page_idx not in idxs:
         sm.setCurrentIndex(self.pages_model.index(idxs[0], 0), Qt.QItemSelectionModel.Current)
示例#3
0
 def treeSelectByLocation(self, location):
     self.currentLocation = location
     modelindex = self._tree_model.indexByLocation(location)
     if modelindex is not None:
         selection = Qt.QItemSelection(modelindex, modelindex)
         selectmodel = self.ui.treeView.selectionModel()
         selectmodel.clear()
         selectmodel.select(selection, Qt.QItemSelectionModel.Select)
         self.treeSelectByIndex(modelindex)
示例#4
0
 def actionGoUpMth(self):
     selectmodel = self.ui.treeView.selectionModel()
     indexes = selectmodel.selectedIndexes()
     if len(indexes) > 0:
         index = indexes[0]
         modelindex = self._tree_model.parent(index)
         if modelindex.row() > -1:
             self.addToPrevious(self.currentLocation)
             selection = Qt.QItemSelection(modelindex, modelindex)
             selectmodel = self.ui.treeView.selectionModel()
             selectmodel.clear()
             selectmodel.select(selection, Qt.QItemSelectionModel.Select)
             self.treeSelectByIndex(modelindex)
 def on_current_frame_changed(self, frame: Frame, time: Time) -> None:
     if not self.isVisible():
         return
     if self.tableview.selectionModel() is None:
         return
     selection = Qt.QItemSelection()
     for i, scene in enumerate(self.scening_list):
         if frame in scene:
             index = self.scening_list.index(i, 0)
             selection.select(index, index)
     self.tableview.selectionModel().select(
         selection,
         Qt.QItemSelectionModel.SelectionFlags(  # type: ignore
             Qt.QItemSelectionModel.Rows + Qt.QItemSelectionModel.ClearAndSelect))