def new_workspace(self,event): if not wrappers.yesNoDialog('Are you sure you want to create a new workspace?'): return #Delete everything in R rsession.rm(rsession.ls()) #Delete everything in Python self.clear_dataview() self.active_robject = None self.robjects.clear() self.refresh_object_list()
def destroy(self,event,*args): if not self.saved: if wrappers.yesNoDialog("Are you sure you want to close without saving."): self.shutdown_cleanly() gtk.main_quit() sys.exit(0) else: return True else: self.shutdown_cleanly() gtk.main_quit()
def plot(self,event,image=None): _xlab,_ylab,_title,_xmin,_ymin,_xmax,_ymax = self.fetch_labels() data = {'x':self.x} args = rdict({'xlab':_xlab, 'ylab':_ylab, 'main':_title }) #Normal Parameters args['radius'] = self.parameters['Radius'].get() args['edges'] = self.parameters['Polygon Edges'].get() args['density'] = self.parameters['Fill Density'].get() args['clockwise'] = self.parameters['Clockwise'].get() args['init.angle'] = self.parameters['Initial Angle'].get() #Ask the user to confirm that they want to plot copious amounts of data if len(data['x'])>30: if not wrappers.yesNoDialog('There is a very large amount of datapoints to graph, this make take a very time or even crash, are you sure you want to continue?'): return elif len(data['x'])>200: error('Too many data points for pie plot') return if self.fill_style.get_active_text() == 'Rainbow': args['col']=rsession.r['rainbow'](len(data['x'])) if self.fill_style.get_active_text() == 'Gray': #Make shades of gray shades = map(lambda x:x/(len(data['x'])+1.0),range(0,len(data['x']))) args['col']=rsession.r['gray'](shades) plotwindow = rsession.RPlotThread(data=data, args=args, type='pie', export=image) plotwindow.start() self.active_threads.append(plotwindow)