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
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()
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()
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()
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()
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)
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()
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()
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)
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)
def custom_callback(): fake_stream = FakeFluoStream("Custom") custom_entry = stream_comp.StreamPanel(stream_bar, fake_stream) stream_bar.add_stream_panel(custom_entry)
def sem_callback(): fake_stream = FakeSEMStream("SEM:EDT") fixed_entry = stream_comp.StreamPanel(stream_bar, fake_stream) stream_bar.add_stream_panel(fixed_entry)
def brightfield_callback(): fake_stream = FakeBrightfieldStream("Brightfield") fixed_entry = stream_comp.StreamPanel(stream_bar, fake_stream) stream_bar.add_stream_panel(fixed_entry)
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)
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)
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)