Ejemplo n.º 1
0
 def interpret_color(self, c):
     if cmd.get_version()[1] < 1:
         return cmd._interpret_color(str(c))
     return cmd._interpret_color(cmd, str(c))
Ejemplo n.º 2
0
 def interpret_color(self, c):
     if cmd.get_version()[1] < 1:
         return cmd._interpret_color(str(c))
     return cmd._interpret_color(cmd, str(c))
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)