def close(self): """Close the view.""" if hasattr(self, 'dock'): return self.dock.close() self.canvas.close() self._closed = True unconnect(self) gc.collect(0)
def on_close_view(view_, gui): logger.debug("Close view %s.", self.name) self._closed = True gui.remove_menu(self.name) unconnect(on_select) gui.state.update_view_state(self, self.state) self.canvas.close() gc.collect(0)
def on_close_view(sender, view): if view != self: return logger.debug("Close view %s.", self.name) gui.remove_menu(self.name) unconnect(on_select) gui.state.update_view_state(self, self.state) self.canvas.close() gc.collect(0)
def test_table_nav_1(qtbot, table): _sel = [] @connect(sender=table) def on_some_event(sender, items, **kwargs): _sel.append(items) table.eval_js('table.emit("some_event", 123);') _block(lambda: _sel == [123]) unconnect(on_some_event)
def test_common_09(self): """Label action.""" self.next() @connect(sender=self.supervisor) def on_cluster(sender, up): cls = self.__class__ cls._label_name, cls._label_value = 'new_label', up.metadata_value self.label('new_label', 3) unconnect(on_cluster)
def test_gui_1(tempdir, qtbot): gui = GUI(position=(200, 100), size=(100, 100), config_dir=tempdir) gui.set_default_actions() qtbot.addWidget(gui) assert gui.name == 'GUI' # Increase coverage. @connect(sender=gui) def on_show(): pass unconnect(on_show) qtbot.keyPress(gui, Qt.Key_Control) qtbot.keyRelease(gui, Qt.Key_Control) assert isinstance(gui.dialog("Hello"), QMessageBox) dock_view = gui.add_view(_create_canvas(), floating=True, closable=True) gui.add_view(_create_canvas()) dock_view.setFloating(False) gui.show() assert gui.get_view(BaseCanvas) assert len(gui.list_views(BaseCanvas)) == 2 # Check that the close_widget event is fired when the gui widget is # closed. _close = [] @connect(sender=dock_view) def on_close_dock_widget(sender): _close.append(0) @connect(sender=dock_view.view) def on_close_view(view_, gui): _close.append(1) dock_view.close() assert _close == [1, 0] gui.close() assert gui.state.geometry_state['geometry'] assert gui.state.geometry_state['state'] gui.help_actions.show_all_shortcuts() gui.file_actions.save() gui.file_actions.exit()
def _eval(self, task): """Evaluate a task and call a callback function.""" sender, name, args, kwargs = task logger.log(5, "Calling %s.%s(%s)", sender.__class__.__name__, name, args, kwargs) f = getattr(sender, name) callback = partial(self._callback, task) argspec = inspect.getfullargspec(f) argspec = argspec.args + argspec.kwonlyargs if 'callback' in argspec: f(*args, **kwargs, callback=callback) else: # HACK: use on_cluster event instead of callback. def _cluster_callback(tsender, up): self._callback(task, up) connect(_cluster_callback, event='cluster', sender=self.supervisor) f(*args, **kwargs) unconnect(_cluster_callback)
def on_close(e): unconnect(on_is_busy, self)
def on_close_view(view_, gui): """Unconnect all events when closing the view.""" unconnect(self.on_select) unconnect(self.on_cluster) unconnect(on_lasso_updated)
def on_close(e): gui.state['color_selector'] = self.color_selector.state unconnect(on_is_busy)