def get_panels(self, parent): """ Create and return the list of wx.Panels for your plug-in. Define the plug-in perspective. Panels should inherit from DefaultPanel defined below, or should present the same interface. They must define "window_caption" and "window_name". :param parent: parent window :return: list of panels """ # # Save a reference to the parent self.parent = parent self.frame = MDIFrame(self.parent, None, 'None', (100, 200)) self.invariant_panel = InvariantPanel(parent=self.frame) self.frame.set_panel(self.invariant_panel) self._frame_set_helper() self.invariant_panel.set_manager(manager=self) self.perspective.append(self.invariant_panel.window_name) # Create reader when fitting panel are created self.state_reader = reader(self.set_state) # append that reader to list of available reader loader = Loader() loader.associate_file_reader(".inv", self.state_reader) # loader.associate_file_reader(".svs", self.state_reader) # Return the list of panels return [self.invariant_panel]
def create_1d_panel(self, data, group_id): """ """ # Create a new plot panel if none was available if issubclass(data.__class__, Data1D): from Plotter1D import ModelPanel1D ## get the data representation label of the data to plot ## when even the user select "change scale" xtransform = data.xtransform ytransform = data.ytransform ## create a plotpanel for 1D Data win = MDIFrame(self.parent, None, 'None', (100, 200)) new_panel = ModelPanel1D(win, -1, xtransform=xtransform, ytransform=ytransform, style=wx.RAISED_BORDER) win.set_panel(new_panel) win.Show(False) new_panel.frame = win #win.Show(True) return new_panel msg = "1D Panel of group ID %s could not be created" % str(group_id) raise ValueError, msg
def create_2d_panel(self, data, group_id): """ """ if issubclass(data.__class__, Data2D): ##Create a new plotpanel for 2D data from Plotter2D import ModelPanel2D scale = data.scale win = MDIFrame(self.parent, None, 'None', (200, 150)) win.Show(False) new_panel = ModelPanel2D(win, id=-1, data2d=data, scale=scale, style=wx.RAISED_BORDER) win.set_panel(new_panel) new_panel.frame = win return new_panel msg = "2D Panel of group ID %s could not be created" % str(group_id) raise ValueError, msg
def onBoxSum(self, event): """ """ from sas.guiframe.gui_manager import MDIFrame from boxSum import BoxSum self.onClearSlicer(event) self.slicer_z += 1 self.slicer = BoxSum(self, self.subplot, zorder=self.slicer_z) self.subplot.set_ylim(self.data2D.ymin, self.data2D.ymax) self.subplot.set_xlim(self.data2D.xmin, self.data2D.xmax) self.update() self.slicer.update() ## Value used to initially set the slicer panel params = self.slicer.get_params() ## Create a new panel to display results of summation of Data2D from slicerpanel import SlicerPanel win = MDIFrame(self.parent, None, 'None', (100, 200)) new_panel = SlicerPanel(parent=win, id=-1, base=self, type=self.slicer.__class__.__name__, params=params, style=wx.RAISED_BORDER) new_panel.window_caption = self.slicer.__class__.__name__ + " " + \ str(self.data2D.name) new_panel.window_name = self.slicer.__class__.__name__ + " " + \ str(self.data2D.name) ## Store a reference of the new created panel ## save the window_caption of the new panel in the current slicer self.slicer.set_panel_name(name=new_panel.window_caption) ## post slicer panel to guiframe to display it from sas.guiframe.events import SlicerPanelEvent win.set_panel(new_panel) new_panel.frame = win wx.PostEvent(self.parent, SlicerPanelEvent(panel=new_panel, main_panel=self)) wx.CallAfter(new_panel.frame.Show) self.panel_slicer = new_panel
def get_panels(self, parent): """ Create and return a list of panel objects """ from inversion_panel import InversionControl self.parent = parent self.frame = MDIFrame(self.parent, None, 'None', (100, 200)) self.control_panel = InversionControl(self.frame, -1, style=wx.RAISED_BORDER, standalone=self.standalone) self.frame.set_panel(self.control_panel) self._frame_set_helper() self.control_panel.set_manager(self) self.control_panel.nfunc = self.nfunc self.control_panel.d_max = self.max_length self.control_panel.alpha = self.alpha self.perspective = [] self.perspective.append(self.control_panel.window_name) return [self.control_panel]