예제 #1
0
 def test_proxy_resync(self):
     from pizco import Server
     pxy = Server.serve_in_process(RemotePizcoEmitter,(),{},rep_endpoint="tcp://127.0.0.1:1111")
     app = QApplication([])
     resync_proxy(pxy)
     from threading import Thread
     import numpy as np
     from guiqwt.plot import ImageWidget
     from guiqwt.builder import make
     import time
     im = ImageWidget()
     im.register_all_curve_tools()
     ts = TestSync()
     def test_thread():
         ts.initialize_subobject(im)
         pxy.std_signal.connect(ts.receiver_int)
         #std_signal.connect(pg.setValue)
         #test_built_in.connect(pg.setRange)
         v_int = 0
         while True:
             v_int += 1
             #ts.update_curve() goes through a non generic signal
             pxy.emission()
             time.sleep(0.5)
             if v_int==5:
                 break
         im.close()
     t = Thread(None,test_thread)
     t.start()
     im.show()
     app.exec_()
     pxy._proxy_stop_server()
     pxy._proxy_stop_me()
     assert(ts._internal_value != 0)
예제 #2
0
 def test_server_resync(self):
     from pizco import Server
     app = QApplication([])
     srv = RemotePizcoEmitterResync()
     pizco_srv = Server(srv,rep_endpoint="tcp://127.0.0.1:1211")
     from threading import Thread
     import numpy as np
     from guiqwt.plot import ImageWidget
     from guiqwt.builder import make
     import time
     im = ImageWidget()
     im.register_all_curve_tools()
     ts = TestSync()
     def test_thread():
         ts.initialize_subobject(im)
         srv.std_signal.connect(ts.receiver_int)
         v_int = 0
         while True:
             v_int += 1
             srv.emission()
             time.sleep(0.5)
             if v_int==5:
                 break
         im.close()
     t = Thread(None,test_thread)
     t.start()
     im.show()
     app.exec_()
     pizco_srv.stop()
     assert(ts._internal_value != 0)
예제 #3
0
    def test_guiqwt_case(self):
        app = QApplication([])
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            std_signal = SignalResync(1)
            std_signal.connect(ts.receiver_int)
            #std_signal.connect(pg.setValue)
            #test_built_in.connect(pg.setRange)
            v_int = 0
            while True:
                v_int += 1
                #ts.update_curve() goes through a non generic signal
                std_signal.emit(v_int)
                time.sleep(0.5)
                if v_int == 5:
                    break
                im.close()
        t = Thread(None,test_thread)
        t.start()
        im.show()
        app.exec_()
        assert(ts._internal_value != 0)
예제 #4
0
 def test_guiqwt_case_altthread(self):
     app = QApplication([])
     from threading import Thread
     import numpy as np
     from guiqwt.plot import ImageWidget
     from guiqwt.builder import make
     import time
     im = ImageWidget()
     im.register_all_curve_tools()
     ts = TestSync()
     def test_thread():
         ts.initialize_subobject(im)
         std_signal = SignalResync.Auto(intermediate_thread=True)
         std_signal.connect(ts.receiver_int)
         v_int = 0
         while True:
             v_int += 1
             std_signal.emit(v_int)
             time.sleep(0.5)
             if v_int==5:
                 break
         im.close()
     t = Thread(None,test_thread)
     t.start()
     im.show()
     app.exec_()
     assert(ts._internal_value != 0)
예제 #5
0
    def test_server_resync(self):
        from pizco import Server
        app = QApplication([])
        srv = RemotePizcoEmitterResync()
        pizco_srv = Server(srv, rep_endpoint="tcp://127.0.0.1:1211")
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            srv.std_signal.connect(ts.receiver_int)
            v_int = 0
            while True:
                v_int += 1
                srv.emission()
                time.sleep(0.5)
                if v_int == 5:
                    break
            im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        pizco_srv.stop()
        assert (ts._internal_value != 0)
예제 #6
0
    def test_guiqwt_case_altthread(self):
        app = QApplication([])
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            std_signal = SignalResync.Auto(intermediate_thread=True)
            std_signal.connect(ts.receiver_int)
            v_int = 0
            while True:
                v_int += 1
                std_signal.emit(v_int)
                time.sleep(0.5)
                if v_int == 5:
                    break
            im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        assert (ts._internal_value != 0)
예제 #7
0
    def test_guiqwt_case(self):
        app = QApplication([])
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            std_signal = SignalResync(1)
            std_signal.connect(ts.receiver_int)
            #std_signal.connect(pg.setValue)
            #test_built_in.connect(pg.setRange)
            v_int = 0
            while True:
                v_int += 1
                #ts.update_curve() goes through a non generic signal
                std_signal.emit(v_int)
                time.sleep(0.5)
                if v_int == 5:
                    break
                im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        assert (ts._internal_value != 0)
예제 #8
0
    def test_proxy_resync(self):
        from pizco import Server
        pxy = Server.serve_in_process(RemotePizcoEmitter, (), {},
                                      rep_endpoint="tcp://127.0.0.1:1111")
        app = QApplication([])
        resync_proxy(pxy)
        from threading import Thread
        import numpy as np
        from guiqwt.plot import ImageWidget
        from guiqwt.builder import make
        import time
        im = ImageWidget()
        im.register_all_curve_tools()
        ts = TestSync()

        def test_thread():
            ts.initialize_subobject(im)
            pxy.std_signal.connect(ts.receiver_int)
            #std_signal.connect(pg.setValue)
            #test_built_in.connect(pg.setRange)
            v_int = 0
            while True:
                v_int += 1
                #ts.update_curve() goes through a non generic signal
                pxy.emission()
                time.sleep(0.5)
                if v_int == 5:
                    break
            im.close()

        t = Thread(None, test_thread)
        t.start()
        im.show()
        app.exec_()
        pxy._proxy_stop_server()
        pxy._proxy_stop_me()
        assert (ts._internal_value != 0)
예제 #9
0
class PlotItem(qt.QWidget):
    def __init__(self, ident, rank, accum, plotkwargs, trace=None, xpts=[], ypts=[]):
        qt.QWidget.__init__(self)
        qt.QVBoxLayout(self)
        self.layout().setSpacing(0)
        self.layout().setContentsMargins(5,0,5,0)
        
        self.toolbar = toolbar = qt.QToolBar()
        self.layout().addWidget(toolbar)
        
        self.ident = ident
        self.rank = rank
        self.accum = accum
        self.xpts = xpts
        self.ypts = ypts
        self.update_count = 0
        self.collapsed = False
        
        autoscale_gui_default=True
        if self.rank == 1:
            self.plot_widget = CurveWidget(title=ident)
            self.plot_widget.add_toolbar(toolbar)
            self.plot_widget.register_all_curve_tools()
            try: 
                vmin,vmax=plotkwargs.pop('xlimit')
                self.plot_widget.plot.set_axis_limits(2,vmin,vmax)
                autoscale_gui_default=False
            except:
                pass
            try: 
                vmin,vmax=plotkwargs.pop('ylimit')
                self.plot_widget.plot.set_axis_limits(0,vmin,vmax)
                autoscale_gui_default=False
            except:
                pass
            try: 
                title=plotkwargs.pop('title')
                self.plot_widget.set_title(title)
            except:
                pass
            try:
                background=plotkwargs.pop('background')
                self.plot_widget.plot.grid.gridparam.background = background                
                self.plot_widget.plot.grid.update_params()
            except:
                pass
                

        elif self.rank == 2:
            self.plot_widget = ImageWidget(title=ident, lock_aspect_ratio=False)
            self.plot_widget.add_toolbar(toolbar)
            self.plot_widget.register_all_image_tools()
        else:
            raise ValueError
        self.items = {}
        self.add_item(trace, plotkwargs)
        self.layout().addWidget(self.plot_widget)

        self.buttons_widget = buttons = qt.QWidget()
        qt.QHBoxLayout(buttons)
        self.hide_button = qt.QPushButton('Hide')
        self.hide_button.clicked.connect(self.collapse)        
        self.show_button = qt.QPushButton('Show ' + ident)
        self.show_button.clicked.connect(self.expand)
        self.show_button.hide()
        self.remove_button = qt.QPushButton('Remove')
        self.zoom_button = qt.QPushButton('Zoom')
        self.autoscale_check = qt.QCheckBox('autoscale')
        #print autoscale_gui_default,"<== is this true?"
        self.autoscale_check.setChecked(autoscale_gui_default)
        buttons.layout().addWidget(self.hide_button)
        buttons.layout().addWidget(self.remove_button)
        buttons.layout().addWidget(self.zoom_button)
        buttons.layout().addWidget(self.autoscale_check)
        self.layout().addWidget(buttons)
        self.layout().addWidget(self.show_button)
    
    def add_item(self, trace, plotkwargs={}):
        if trace in self.items:
            self.plot_widget.plot.del_item(self.items[trace])
        if self.rank == 1:
            try:
                self.items[trace] = make.curve([], [], **plotkwargs)
            except:
                raise
        elif self.rank == 2:
            if 'interpolation' not in plotkwargs:
                plotkwargs['interpolation'] = 'nearest'
            self.items[trace] = make.image(np.array([[0]]), **plotkwargs)
        else:
            raise ValueError
        self.plot_widget.plot.add_item(self.items[trace])

    def collapse(self):
        self.collapsed = True
        self.toolbar.hide()
        self.plot_widget.hide()
        self.buttons_widget.hide()
        self.show_button.show()
        
    def expand(self):
        self.collaped = False
        self.toolbar.show()
        self.plot_widget.show()
        self.buttons_widget.show()
        self.show_button.hide()
예제 #10
0
class PlotItem(qt.QWidget):
    def __init__(self,
                 ident,
                 rank,
                 accum,
                 plotkwargs,
                 trace=None,
                 xpts=[],
                 ypts=[]):
        qt.QWidget.__init__(self)
        qt.QVBoxLayout(self)
        self.layout().setSpacing(0)
        self.layout().setContentsMargins(5, 0, 5, 0)

        self.toolbar = toolbar = qt.QToolBar()
        self.layout().addWidget(toolbar)

        self.ident = ident
        self.rank = rank
        self.accum = accum
        self.xpts = xpts
        self.ypts = ypts
        self.update_count = 0
        self.collapsed = False

        autoscale_gui_default = True
        if self.rank == 1:
            self.plot_widget = CurveWidget(title=ident)
            self.plot_widget.add_toolbar(toolbar)
            self.plot_widget.register_all_curve_tools()
            try:
                vmin, vmax = plotkwargs.pop('xlimit')
                self.plot_widget.plot.set_axis_limits(2, vmin, vmax)
                autoscale_gui_default = False
            except:
                pass
            try:
                vmin, vmax = plotkwargs.pop('ylimit')
                self.plot_widget.plot.set_axis_limits(0, vmin, vmax)
                autoscale_gui_default = False
            except:
                pass
            try:
                title = plotkwargs.pop('title')
                self.plot_widget.set_title(title)
            except:
                pass
            try:
                background = plotkwargs.pop('background')
                self.plot_widget.plot.grid.gridparam.background = background
                self.plot_widget.plot.grid.update_params()
            except:
                pass

        elif self.rank == 2:
            self.plot_widget = ImageWidget(title=ident,
                                           lock_aspect_ratio=False)
            self.plot_widget.add_toolbar(toolbar)
            self.plot_widget.register_all_image_tools()
        else:
            raise ValueError
        self.items = {}
        self.add_item(trace, plotkwargs)
        self.layout().addWidget(self.plot_widget)

        self.buttons_widget = buttons = qt.QWidget()
        qt.QHBoxLayout(buttons)
        self.hide_button = qt.QPushButton('Hide')
        self.hide_button.clicked.connect(self.collapse)
        self.show_button = qt.QPushButton('Show ' + ident)
        self.show_button.clicked.connect(self.expand)
        self.show_button.hide()
        self.remove_button = qt.QPushButton('Remove')
        self.zoom_button = qt.QPushButton('Zoom')
        self.autoscale_check = qt.QCheckBox('autoscale')
        #print autoscale_gui_default,"<== is this true?"
        self.autoscale_check.setChecked(autoscale_gui_default)
        buttons.layout().addWidget(self.hide_button)
        buttons.layout().addWidget(self.remove_button)
        buttons.layout().addWidget(self.zoom_button)
        buttons.layout().addWidget(self.autoscale_check)
        self.layout().addWidget(buttons)
        self.layout().addWidget(self.show_button)

    def add_item(self, trace, plotkwargs={}):
        if trace in self.items:
            self.plot_widget.plot.del_item(self.items[trace])
        if self.rank == 1:
            try:
                self.items[trace] = make.curve([], [], **plotkwargs)
            except:
                raise
        elif self.rank == 2:
            if 'interpolation' not in plotkwargs:
                plotkwargs['interpolation'] = 'nearest'
            self.items[trace] = make.image(np.array([[0]]), **plotkwargs)
        else:
            raise ValueError
        self.plot_widget.plot.add_item(self.items[trace])

    def collapse(self):
        self.collapsed = True
        self.toolbar.hide()
        self.plot_widget.hide()
        self.buttons_widget.hide()
        self.show_button.show()

    def expand(self):
        self.collaped = False
        self.toolbar.show()
        self.plot_widget.show()
        self.buttons_widget.show()
        self.show_button.hide()