def _create_actions(self): act = QtGui.QAction('Edit style', self) act.triggered.connect(nonpartial(self._edit_style)) self.addAction(act) act = QtGui.QAction('Remove', self) act.setShortcut(QtGui.QKeySequence(Qt.Key_Backspace)) act.setShortcutContext(Qt.WidgetShortcut) act.triggered.connect( lambda *args: self.model().removeRow(self.current_row())) self.addAction(act)
class ClearAction(LayerAction): _title = "Clear subset" _tooltip = "Clear current subset" _shortcut = QtGui.QKeySequence('Ctrl+K') def _can_trigger(self): return self.single_selection_subset_group() def _do_action(self): assert self._can_trigger() subset = self.selected_layers()[0] subset.subset_state = core.subset.SubsetState()
class NewAction(LayerAction): _title = "New Subset" _tooltip = "Create a new subset" _shortcut = QtGui.QKeySequence('Ctrl+Shift+N') _icon = 'glue_subset' def _can_trigger(self): return len(self.data_collection) > 0 def _do_action(self): assert self._can_trigger() self.data_collection.new_subset_group()
class DeleteAction(LayerAction): _title = "Delete Layer" _tooltip = "Delete the selected data and/or subset Groups" _shortcut = QtGui.QKeySequence(Qt.Key_Backspace) def _can_trigger(self): selection = self.selected_layers() return all( isinstance(s, (core.Data, core.SubsetGroup)) for s in selection) def _do_action(self): assert self._can_trigger() selection = self.selected_layers() for s in selection: if isinstance(s, core.Data): self._layer_tree.data_collection.remove(s) else: assert isinstance(s, core.SubsetGroup) self._layer_tree.data_collection.remove_subset_group(s)