def interpret_color(self, c): if cmd.get_version()[1] < 1: return cmd._interpret_color(str(c)) return cmd._interpret_color(cmd, str(c))
def __init__(self,app): self.intro_text = "the Interaction Plotter plugin is part of the PyInteraph package.\nBrought to you by:\n M. Tiberti, G. Invernizzi, Y. Inbar, M. Lambrughi, G. Schreiber, E. Papaleo" self.fname = "" self.obj = "all" self.out_obj = "interactions" self.max = 100.0 self.min = 0.0 self.max_r = 0.2 self.min_r = 0.002 self.color_max = 'red' self.color_min = 'white' self.colorRGB_min = cmd.get_color_tuple(cmd._interpret_color(cmd, str(self.color_min))) self.colorRGB_max = cmd.get_color_tuple(cmd._interpret_color(cmd, str(self.color_max))) self.INSTALL_DIR = os.getenv('PYINTERAPH') self.root = app.root self.dialog = Pmw.Dialog(self.root, buttons = ("Close", "Plot"), title = 'Interaction Calculator', command = self.main_runner) self.dialog.geometry('473x400') self.dialog.show() self.frame = self.dialog.interior() #self.frame.grid(row = 0, column = 0) self.top_label = Label(self.frame, text = self.intro_text, background = 'black', foreground = 'orange', width = 57, ) self.cg_fname_input = Pmw.EntryField(self.frame, labelpos='w', label_text = 'Charged groups file', validate = {'validator': self.quick_file_validator,}, value = self.fname,) self.fname_input = Pmw.EntryField(self.frame, labelpos='w', label_text = 'Input file', validate = {'validator': self.quick_file_validator,}, value = self.fname,) self.obj_input = Pmw.EntryField(self.frame, label_text = 'Reference object', labelpos ='w', validate = {'validator': self.object_validator,}, value = self.obj,) self.out_obj_input = Pmw.EntryField(self.frame, label_text = 'Plot object', labelpos ='w', validate = {'validator': self.not_object_validator,}, value = self.out_obj,) self.cg_file_button = Button(self.frame, text = "Charged groups file...", command=self.open_cg_file,) self.file_button = Button(self.frame, text = "Input file...", command=self.open_input_file,) self.max_input = Pmw.EntryField(self.frame, labelpos='w', validate = {'validator': self.posfloat_validator,}, label_text = 'Max:', value = self.max,) self.min_input = Pmw.EntryField(self.frame, labelpos='w', validate = {'validator': self.posfloat_validator,}, label_text = 'Min:', value = self.min,) self.min_radius_input = Pmw.EntryField(self.frame, labelpos='w', validate = {'validator': self.posfloat_validator,}, label_text = 'Min radius:', value = self.min_r,) self.max_radius_input = Pmw.EntryField(self.frame, labelpos='w', validate = {'validator': self.posfloat_validator,}, label_text = 'Max radius:', value = self.max_r,) self.color_min_input = Button(self.frame, relief=SUNKEN, bd=2, height=1, width=1, text="Min", command=self.tk_min_color_dialog) self.color_max_input = Button(self.frame, relief=SUNKEN, bd=2, height=1, width=1, text="Max", command=self.tk_max_color_dialog) self.update_color_frames() if self.INSTALL_DIR == None: self.show_warning("The PYINTERAPH system variable is not defined.") self.cg_fname = "" else: self.cg_fname = self.INSTALL_DIR+"/charged_groups.ini" self.cg_fname_input.setentry(self.cg_fname) self.top_label.grid(row = 0, column = 0, columnspan = 4, pady = 5, sticky = N, padx = 5,) self.cg_fname_input.grid(row = 1, column = 0, columnspan = 3, ipadx = 5, ipady = 5, sticky=E) self.cg_file_button.grid(row = 1, column = 3, ipadx = 5, ipady = 5, sticky=N, pady=5) self.fname_input.grid(row = 2, column = 0, columnspan = 3, ipadx = 5, ipady = 5, sticky=E) self.file_button.grid(row = 2, column = 3, ipadx = 5, ipady = 5, sticky=N, pady=5) self.obj_input.grid(row = 3, column = 0, columnspan = 4, ipadx = 5, ipady = 5, sticky=N) self.out_obj_input.grid(row = 9, column = 0, columnspan = 4, ipadx = 5, ipady = 5, sticky=N) self.min_input.grid(row = 5, column = 0, columnspan = 1, ipadx = 5, sticky = E, pady = 3, ) self.max_input.grid(row = 6, column = 0, columnspan = 1, ipadx = 5, sticky = E, pady = 3, ) self.min_radius_input.grid(row = 7, column = 0, columnspan = 1, sticky = E, ipady = 3, ipadx = 5) self.max_radius_input.grid(row = 8, column = 0, columnspan = 1, sticky = E, ipady = 3, ipadx = 5) self.color_min_input.grid(row = 5, column = 2, rowspan = 2, columnspan = 2, sticky = N+W+S+E, ipadx = 5, padx=10 ) self.color_max_input.grid(row = 7, column = 2, rowspan = 2, columnspan = 2, sticky = N+W+S+E, ipadx = 5, padx=10)
def __init__(self, app): self.intro_text = "the Interaction Plotter plugin is part of the PyInteraph package.\nBrought to you by:\n M. Tiberti, G. Invernizzi, Y. Inbar, M. Lambrughi, G. Schreiber, E. Papaleo" self.fname = "" self.obj = "all" self.out_obj = "interactions" self.max = 100.0 self.min = 0.0 self.max_r = 0.2 self.min_r = 0.002 self.color_max = 'red' self.color_min = 'white' self.colorRGB_min = cmd.get_color_tuple( cmd._interpret_color(cmd, str(self.color_min))) self.colorRGB_max = cmd.get_color_tuple( cmd._interpret_color(cmd, str(self.color_max))) self.INSTALL_DIR = os.getenv('PYINTERAPH') self.root = app.root self.dialog = Pmw.Dialog(self.root, buttons=("Close", "Plot"), title='Interaction Calculator', command=self.main_runner) self.dialog.geometry('473x400') self.dialog.show() self.frame = self.dialog.interior() #self.frame.grid(row = 0, column = 0) self.top_label = Label( self.frame, text=self.intro_text, background='black', foreground='orange', width=57, ) self.cg_fname_input = Pmw.EntryField( self.frame, labelpos='w', label_text='Charged groups file', validate={ 'validator': self.quick_file_validator, }, value=self.fname, ) self.fname_input = Pmw.EntryField( self.frame, labelpos='w', label_text='Input file', validate={ 'validator': self.quick_file_validator, }, value=self.fname, ) self.obj_input = Pmw.EntryField( self.frame, label_text='Reference object', labelpos='w', validate={ 'validator': self.object_validator, }, value=self.obj, ) self.out_obj_input = Pmw.EntryField( self.frame, label_text='Plot object', labelpos='w', validate={ 'validator': self.not_object_validator, }, value=self.out_obj, ) self.cg_file_button = Button( self.frame, text="Charged groups file...", command=self.open_cg_file, ) self.file_button = Button( self.frame, text="Input file...", command=self.open_input_file, ) self.max_input = Pmw.EntryField( self.frame, labelpos='w', validate={ 'validator': self.posfloat_validator, }, label_text='Max:', value=self.max, ) self.min_input = Pmw.EntryField( self.frame, labelpos='w', validate={ 'validator': self.posfloat_validator, }, label_text='Min:', value=self.min, ) self.min_radius_input = Pmw.EntryField( self.frame, labelpos='w', validate={ 'validator': self.posfloat_validator, }, label_text='Min radius:', value=self.min_r, ) self.max_radius_input = Pmw.EntryField( self.frame, labelpos='w', validate={ 'validator': self.posfloat_validator, }, label_text='Max radius:', value=self.max_r, ) self.color_min_input = Button(self.frame, relief=SUNKEN, bd=2, height=1, width=1, text="Min", command=self.tk_min_color_dialog) self.color_max_input = Button(self.frame, relief=SUNKEN, bd=2, height=1, width=1, text="Max", command=self.tk_max_color_dialog) self.update_color_frames() if self.INSTALL_DIR == None: self.show_warning("The PYINTERAPH system variable is not defined.") self.cg_fname = "" else: self.cg_fname = self.INSTALL_DIR + "/charged_groups.ini" self.cg_fname_input.setentry(self.cg_fname) self.top_label.grid( row=0, column=0, columnspan=4, pady=5, sticky=N, padx=5, ) self.cg_fname_input.grid(row=1, column=0, columnspan=3, ipadx=5, ipady=5, sticky=E) self.cg_file_button.grid(row=1, column=3, ipadx=5, ipady=5, sticky=N, pady=5) self.fname_input.grid(row=2, column=0, columnspan=3, ipadx=5, ipady=5, sticky=E) self.file_button.grid(row=2, column=3, ipadx=5, ipady=5, sticky=N, pady=5) self.obj_input.grid(row=3, column=0, columnspan=4, ipadx=5, ipady=5, sticky=N) self.out_obj_input.grid(row=9, column=0, columnspan=4, ipadx=5, ipady=5, sticky=N) self.min_input.grid( row=5, column=0, columnspan=1, ipadx=5, sticky=E, pady=3, ) self.max_input.grid( row=6, column=0, columnspan=1, ipadx=5, sticky=E, pady=3, ) self.min_radius_input.grid(row=7, column=0, columnspan=1, sticky=E, ipady=3, ipadx=5) self.max_radius_input.grid(row=8, column=0, columnspan=1, sticky=E, ipady=3, ipadx=5) self.color_min_input.grid(row=5, column=2, rowspan=2, columnspan=2, sticky=N + W + S + E, ipadx=5, padx=10) self.color_max_input.grid(row=7, column=2, rowspan=2, columnspan=2, sticky=N + W + S + E, ipadx=5, padx=10)