示例#1
0
 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)
示例#2
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)
示例#3
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)
示例#4
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)
示例#5
0
    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)
示例#6
0
文件: test_gui.py 项目: ycanerol/phy
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()
示例#7
0
文件: supervisor.py 项目: zsong30/phy
 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)
示例#8
0
文件: supervisor.py 项目: zsong30/phy
 def on_close(e):
     unconnect(on_is_busy, self)
示例#9
0
 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)
示例#10
0
 def on_close(e):
     gui.state['color_selector'] = self.color_selector.state
     unconnect(on_is_busy)