Ejemplo n.º 1
0
    def DoCreateResource(self):
        assert self.GetInstance() is None

        parent_window = self.GetParentAsWindow()
        # Now create the object
        panel = strm.StreamPanel(
            parent_window,
            self.GetID(),
            self.GetText('label'),
            self.GetPosition(),
            self.GetSize(),
            self.GetStyle("style", wx.TAB_TRAVERSAL),
            #self.GetStyle('exstyle'),
            name=self.GetName(),
            collapsed=self.GetBool('collapsed')
        )

        # These two things should be done in either case:
        # Set standard window attributes
        self.SetupWindow(panel)

        parent_window.add_stream_panel(panel)
        # Create any child windows of this node
        # deprecated: all children are hard-coded
        #self.CreateChildren(panel.get_panel())

        return panel
Ejemplo n.º 2
0
    def test_bandwidth_stream_panel(self):

        # Spectrum
        data = numpy.ones((251, 1, 1, 200, 300), dtype="uint16")
        data[:, 0, 0, :, 3] = range(200)
        data[:, 0, 0, :, 3] *= 3
        data[2, :, :, :, :] = range(300)
        data[200, 0, 0, 2] = range(300)
        wld = 433e-9 + numpy.array(range(data.shape[0])) * 0.1e-9
        md = {
            model.MD_SW_VERSION: "1.0-test",
            model.MD_DESCRIPTION: "Spectrum",
            model.MD_ACQ_DATE: time.time(),
            model.MD_BPP: 12,
            model.MD_PIXEL_SIZE: (2e-5, 2e-5),  # m/px
            model.MD_POS: (1.2e-3, -30e-3),  # m
            model.MD_WL_LIST: wld,
        }
        spec_data = model.DataArray(data, md)
        fake_spec_stream = StaticSpectrumStream("First Fixed Stream",
                                                spec_data)

        tab_mod = self.create_simple_tab_model()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamBarController(tab_mod, stream_bar)
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_spec_stream)
        stream_bar.add_stream_panel(stream_panel)
        test.gui_loop()
Ejemplo n.º 3
0
    def test_dyeexpander(self):

        tab_mod = self.create_simple_tab_model()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamController(tab_mod, stream_bar)

        fake_fluo_stream = FakeFluoStream("Fluo Stream")
        dye_panel = stream_comp.StreamPanel(stream_bar, fake_fluo_stream,
                                            tab_mod)
        stream_bar.add_stream(dye_panel)

        # print stream_panel._expander.GetSize()
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_fluo_stream,
                                               tab_mod)
        stream_bar.add_stream(stream_panel)
        # print stream_panel._expander.GetSize()
        test.gui_loop()
Ejemplo n.º 4
0
    def test_bandwidth_stream_panel(self):

        tab_mod = self.create_simple_tab_model()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamBarController(tab_mod, stream_bar)

        fake_spec_stream = FakeSpectrumStream("First Fixed Stream")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_spec_stream)
        stream_bar.add_stream_panel(stream_panel)
        test.gui_loop()
Ejemplo n.º 5
0
    def test_bandwidth_stream_panel(self):

        mic_mod = FakeMicroscopeModel()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamController(mic_mod, stream_bar)

        fake_spec_stream = FakeSpectrumStream("First Fixed Stream")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_spec_stream,
                                               mic_mod)
        stream_bar.add_stream(stream_panel)
        test.gui_loop()
Ejemplo n.º 6
0
    def test_dyeexpander(self):

        mic_mod = FakeMicroscopeModel()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamController(mic_mod, stream_bar)

        fake_fluo_stream = FakeFluoStream("Fluo Stream")
        dye_panel = stream_comp.StreamPanel(stream_bar, fake_fluo_stream,
                                            mic_mod)
        stream_bar.add_stream(dye_panel)

        # print stream_panel._expander.GetSize()
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_fluo_stream,
                                               mic_mod)
        stream_bar.add_stream(stream_panel)
        # print stream_panel._expander.GetSize()
        test.gui_loop()

        # Clear remaining streams
        stream_bar.clear()
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 0)
Ejemplo n.º 7
0
    def test_zflatten(self):

        test.gui_loop()

        tab_mod = self.create_simple_tab_model()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamBarController(tab_mod, stream_bar)

        fake_sem_stream = FakeSEMStream("Flatten Test")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_sem_stream)
        stream_bar.add_stream_panel(stream_panel)
        test.gui_loop()

        stream_panel.flatten()

        test.gui_loop()
Ejemplo n.º 8
0
    def test_zflatten(self):

        test.gui_loop()

        mic_mod = FakeMicroscopeModel()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamController(mic_mod, stream_bar)

        fake_sem_stream = FakeSEMStream("Flatten Test")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_sem_stream,
                                               mic_mod)
        stream_bar.add_stream(stream_panel)
        test.gui_loop()

        stream_panel.flatten()

        test.gui_loop()
Ejemplo n.º 9
0
    def test_standardexpander(self):

        tab_mod = self.create_simple_tab_model()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamBarController(tab_mod, stream_bar)

        fake_sem_stream = FakeSEMStream("First Fixed Stream")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_sem_stream)
        stream_bar.add_stream_panel(stream_panel)
        test.gui_loop()

        self.assertEqual("First Fixed Stream",
                         stream_panel._header.ctrl_label.GetLabel())
        test.gui_loop()

        # Clear remaining streams
        stream_bar.clear()
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 0)
Ejemplo n.º 10
0
    def test_standardexpander(self):

        mic_mod = FakeMicroscopeModel()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamController(mic_mod, stream_bar)

        fake_sem_stream = FakeSEMStream("First Fixed Stream")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_sem_stream,
                                               mic_mod)
        stream_bar.add_stream(stream_panel)
        test.gui_loop()

        self.assertEqual("First Fixed Stream",
                         stream_panel._expander._label_ctrl.GetLabel())
        test.gui_loop()

        # Clear remaining streams
        stream_bar.clear()
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 0)
Ejemplo n.º 11
0
 def custom_callback():
     fake_stream = FakeFluoStream("Custom")
     custom_entry = stream_comp.StreamPanel(stream_bar, fake_stream)
     stream_bar.add_stream_panel(custom_entry)
Ejemplo n.º 12
0
 def sem_callback():
     fake_stream = FakeSEMStream("SEM:EDT")
     fixed_entry = stream_comp.StreamPanel(stream_bar, fake_stream)
     stream_bar.add_stream_panel(fixed_entry)
Ejemplo n.º 13
0
 def brightfield_callback():
     fake_stream = FakeBrightfieldStream("Brightfield")
     fixed_entry = stream_comp.StreamPanel(stream_bar, fake_stream)
     stream_bar.add_stream_panel(fixed_entry)
Ejemplo n.º 14
0
    def test_stream_interface(self):

        test.gui_loop()

        tab_mod = self.create_simple_tab_model()
        stream_bar = self.app.test_frame.stream_bar

        _ = StreamBarController(tab_mod, stream_bar)

        # Hide the Stream add button
        self.assertEqual(stream_bar.btn_add_stream.IsShown(), True)
        stream_bar.hide_add_button()
        test.gui_loop()
        self.assertEqual(stream_bar.btn_add_stream.IsShown(), False)

        # Show Stream add button
        stream_bar.show_add_button()
        test.gui_loop()
        self.assertEqual(stream_bar.btn_add_stream.IsShown(), True)

        # Add an editable entry
        fake_cstream = FakeFluoStream("First Custom Stream")
        custom_entry = stream_comp.StreamPanel(stream_bar, fake_cstream)
        stream_bar.add_stream_panel(custom_entry)
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 1)
        self.assertEqual(stream_bar.stream_panels.index(custom_entry), 0)

        # Add a fixed stream
        fake_fstream1 = FakeSEMStream("First Fixed Stream")
        fixed_entry = stream_comp.StreamPanel(stream_bar, fake_fstream1)
        stream_bar.add_stream_panel(fixed_entry)
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 2)
        self.assertEqual(stream_bar.stream_panels.index(fixed_entry), 0)
        self.assertEqual(stream_bar.stream_panels.index(custom_entry), 1)

        # Add a fixed stream
        fake_fstream2 = FakeSEMStream("Second Fixed Stream")
        fixed_entry2 = stream_comp.StreamPanel(stream_bar, fake_fstream2)
        stream_bar.add_stream_panel(fixed_entry2)
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 3)
        self.assertEqual(stream_bar.stream_panels.index(fixed_entry2), 1)
        self.assertEqual(stream_bar.stream_panels.index(custom_entry), 2)

        # Hide first stream by changing to a view that only show SEM streams
        semview = guimodel.MicroscopeView("SEM view",
                                          stream_classes=(SEMStream, ))
        # stream_bar.hide_stream(0)
        tab_mod.focussedView.value = semview
        test.gui_loop()
        self.assertEqual(stream_bar.get_size(), 3)
        self.assertFalse(custom_entry.IsShown())

        # Delete the second fixed stream
        stream_bar.remove_stream_panel(fixed_entry2)
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 2)

        # Clear remaining streams
        stream_bar.clear()
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 0)
Ejemplo n.º 15
0
    def test_expander(self):

        test.gui_loop()

        tab_mod = self.create_simple_tab_model()
        stream_bar = self.app.test_frame.stream_bar
        _ = StreamBarController(tab_mod, stream_bar)

        fake_sem_stream = FakeSEMStream("First Fixed Stream")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_sem_stream)
        stream_bar.add_stream_panel(stream_panel)
        test.gui_loop()

        # REMOVE BUTTON TEST

        old_label_pos = stream_panel._header.ctrl_label.GetPosition()

        stream_panel.show_remove_btn(False)
        test.gui_loop()

        self.assertFalse(stream_panel._header.btn_remove.IsShown())

        new_label_pos = stream_panel._header.ctrl_label.GetPosition()

        self.assertEqual(old_label_pos, new_label_pos)

        stream_panel.show_remove_btn(True)
        test.gui_loop()

        self.assertTrue(stream_panel._header.btn_remove.IsShown())

        new_label_pos = stream_panel._header.ctrl_label.GetPosition()

        self.assertEqual(old_label_pos, new_label_pos)

        # END REMOVE BUTTON TEST

        # VISIBILITY BUTTON TEST

        old_pbtn_pos = stream_panel._header.btn_update.GetPosition()

        stream_panel.show_visible_btn(False)
        test.gui_loop()

        self.assertFalse(stream_panel._header.btn_show.IsShown())

        new_pbtn_pos = stream_panel._header.btn_update.GetPosition()

        self.assertEqual(old_pbtn_pos, new_pbtn_pos)

        stream_panel.show_visible_btn(True)
        test.gui_loop()

        self.assertTrue(stream_panel._header.btn_show.IsShown())

        new_pbtn_pos = stream_panel._header.btn_update.GetPosition()

        self.assertEqual(old_pbtn_pos, new_pbtn_pos)

        # END VISIBILITY BUTTON TEST

        # PLAY BUTTON TEST

        old_vbtn_pos = stream_panel._header.btn_show.GetPosition()

        stream_panel.show_updated_btn(False)
        test.gui_loop()

        self.assertFalse(stream_panel._header.btn_update.IsShown())

        new_vbtn_pos = stream_panel._header.btn_show.GetPosition()

        self.assertEqual(old_vbtn_pos, new_vbtn_pos)

        stream_panel.show_updated_btn(True)
        test.gui_loop()

        self.assertTrue(stream_panel._header.btn_update.IsShown())

        new_vbtn_pos = stream_panel._header.btn_show.GetPosition()

        self.assertEqual(old_vbtn_pos, new_vbtn_pos)

        # END BUTTON TEST

        # Clear remaining streams
        stream_bar.clear()
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 0)
Ejemplo n.º 16
0
    def test_expander(self):

        test.gui_loop()

        mic_mod = FakeMicroscopeModel()
        stream_bar = self.app.test_frame.stream_bar
        _ = StreamController(mic_mod, stream_bar)

        fake_sem_stream = FakeSEMStream("First Fixed Stream")
        stream_panel = stream_comp.StreamPanel(stream_bar, fake_sem_stream,
                                               mic_mod)
        stream_bar.add_stream(stream_panel)
        test.gui_loop()

        # REMOVE BUTTON TEST

        old_label_pos = stream_panel._expander._label_ctrl.GetPosition()

        stream_panel.show_remove_btn(False)
        test.gui_loop()

        self.assertFalse(stream_panel._expander._btn_rem.IsShown())

        new_label_pos = stream_panel._expander._label_ctrl.GetPosition()

        self.assertEqual(old_label_pos, new_label_pos)

        stream_panel.show_remove_btn(True)
        test.gui_loop()

        self.assertTrue(stream_panel._expander._btn_rem.IsShown())

        new_label_pos = stream_panel._expander._label_ctrl.GetPosition()

        self.assertEqual(old_label_pos, new_label_pos)

        # END REMOVE BUTTON TEST

        # VISIBILITY BUTTON TEST

        old_pbtn_pos = stream_panel._expander._btn_updated.GetPosition()

        stream_panel.show_visible_btn(False)
        test.gui_loop()

        self.assertFalse(stream_panel._expander._btn_vis.IsShown())

        new_pbtn_pos = stream_panel._expander._btn_updated.GetPosition()

        self.assertEqual(old_pbtn_pos, new_pbtn_pos)

        stream_panel.show_visible_btn(True)
        test.gui_loop()

        self.assertTrue(stream_panel._expander._btn_vis.IsShown())

        new_pbtn_pos = stream_panel._expander._btn_updated.GetPosition()

        self.assertEqual(old_pbtn_pos, new_pbtn_pos)

        # END VISIBILITY BUTTON TEST

        # PLAY BUTTON TEST

        old_vbtn_pos = stream_panel._expander._btn_vis.GetPosition()

        stream_panel.show_updated_btn(False)
        test.gui_loop()

        self.assertFalse(stream_panel._expander._btn_updated.IsShown())

        new_vbtn_pos = stream_panel._expander._btn_vis.GetPosition()

        self.assertEqual(old_vbtn_pos, new_vbtn_pos)

        stream_panel.show_updated_btn(True)
        test.gui_loop()

        self.assertTrue(stream_panel._expander._btn_updated.IsShown())

        new_vbtn_pos = stream_panel._expander._btn_vis.GetPosition()

        self.assertEqual(old_vbtn_pos, new_vbtn_pos)

        # END BUTTON TEST

        # Clear remainging streams
        stream_bar.clear()
        test.gui_loop()

        self.assertEqual(stream_bar.get_size(), 0)