示例#1
0
    def create_content(self):

        label0 = Label(self, text=self._briefing_)
        label0.pack(side="top", fill="both", expand=True, padx=50, pady=20)
        #    just a line
        bottom_hline_deco(self)
        # lets create space to do some stuff ...
        self.entr_maxlen = int(len(max(self._entries_, key=len)) * 2.5 / 3.0)
        row2fill = Frame(self)
        #print self._entries_,'\n', self._defvals_,
        #'\n',len(self._entries_),'\n', len(self._defvals_)

        aline = 0
        for e in range(len(self._entries_)):
            if self._entries_[e] == '---':
                aline += 1
                bottom_hline_deco(row2fill)
                #print self._entries_[e]
            else:
                self.ent_c.append(
                    create_entry(row2fill, self._entries_[e],
                                 self._defvals_[e - aline], self.entr_maxlen))

        row2fill.pack(side="top", padx=1, pady=5)

        self.bottom_button_row()
示例#2
0
    def create_content(self):

        self.pop = Toplevel(self.master)
        self.pop.grab_set()  # when you show the popup

        self.pop.wm_title(' ' * 20 + self._title_)
        self.pop.geometry('{:d}x{:d}+{:d}+{:d}'.format(*self._vertex_))

        label0 = Label(self.pop, text=self._briefing_)
        label0.pack(side="top", fill="both", expand=True, padx=100, pady=20)
        #    just a line
        bottom_hline_deco(self.pop)
        # lets create space to do some stuff ...

        row2fill = Frame(self.pop)

        for e in range(len(self._entries_)):
            self.ent_c.append(
                create_entry(row2fill, self._entries_[e], self._defvals_[e],
                             self.entr_maxlen))
        row2fill.pack(side="top", padx=1, pady=5)

        self.bottom_button_row()

        self.master.solv_b.config(bg='gray40', width=45)  #cyan')
 def createWidgets(self):
     'create the script gui'
     #    first header row
     row = Frame(self)
     TEXT1= "\nIn this section you can run scripts "
     Label(row, text=TEXT1, anchor='w').pack(side='top', padx=2, pady=10)
     row.pack( side='top', fill='x', padx=5)
     bottom_hline_deco(self)
     
     
     '''  RUN  section '''
     entr_maxlen = int(8*2.5)
     self.r_entry_c = []
     row2fill = Frame(self)
     row2fill_l = Frame( row2fill)
     
     _def_inname_ = 'in.gro2lam'
     if self.master._convertdata_ <> []:
         _def_dataname_ = self.master._convertdata_['filename']
         _folder_ = '/'.join( _def_dataname_.split('/')[:-1]+[''])
         _def_inname_ =  _folder_ + _def_inname_
     else:
         _def_inname_ = './' + 'in.gro2lam'
     b_enb = ( self.master._convertdata_ == None)
     self.r_entry_c.append( createfileentry( self,
                                            'Select the script to run',
                                            _def_inname_,
                                            ['.in', 'in.*'],
                                            ['lammps input',]*2,
                                            b_enb
                                           )
                         )
     _entries_ = ['Machine', 'Cores']
     _defvals_=[['lammps-daily',
                 [ 'lammps', 'lmp_mpi', 'lmp_ubuntu' ,'lammps-daily']],
                 [ 1, {1}|set(range(3*3*3+1)[::2][1:])|{27,28}] # should be enough
               ]
     for e in range(len(_entries_)):
         self.r_entry_c.append(create_entry(row2fill_l,
                                            _entries_[e],
                                            _defvals_[e],
                                            entr_maxlen))
         
     row2fill_l.pack(side="left")
     row2fill_r = Frame(row2fill)
     
     row2fill_r.pack(side="right")
     row2fill.pack(side="top", padx=1, pady=5)
     
     bottom_hline_deco(self, bottom_hline_deco(self))
     
     self.build_finalbuttons()
     
     if self.master.test:
         self.after(2000, self.master.master.destroy )
         print '\n'+'-'*20 + '  Test ended  ' + '-'*20
示例#4
0
    def create_main_section(self):
        '''Section for main input values    '''
        #=====================================================================
        '''  Create script section '''
        row2fill = Frame(self)
        row2fill_l = Frame(row2fill)
        self.s_entry_c = []
        _mainpage_ = self._container_['mainpage']
        _defvals_ = [ '0.1', '1000',
                     '1000', '300:299', '100',
                     '1000','10:1', '1000', '299:300', '100']
        _def_dataname_ = './data.gro2lam'
        
        if self._convertdata_ <> None:
            _def_dataname_ = self._convertdata_['filename']
        elif _mainpage_ <> []:
            _def_dataname_ = _mainpage_[0]
            _defvals_ = _mainpage_[1:] 
        
        
        
        self.s_entry_c.append( createfileentry( self,
                                               'Lammps data file to work',
                                               _def_dataname_,
                                               ['.data', 'data.*'],
                                               ['lammps data', 'lammps data'],
                                               (self._convertdata_ == None)
                                              )
                            )

        _entries_=  [ 'Timestep [fs]', '-','NVE steps  [#ts]','-',
                     'NVT steps  [#ts]','Temperature at start:end [K]',
                     'Temperature damping [fs]',
                     '-','NPT steps  [#ts]', 'Pressure at start:end  [atm]',
                     'Pressure damping [fs]',
                     'Temperature at start:end [K]', 'Temperature damping [fs]'
                    ]
        
        entr_maxlen = int(len(max(_entries_, key=len))*2.5/3)
        c=0
        for e in range(len(_entries_)):
            if _entries_[e]=='-':
                bottom_hline_deco(row2fill_l)
                c+=1
            else:
                self.s_entry_c.append(create_entry(row2fill_l,
                                                 _entries_[e],
                                                 _defvals_[e-c],
                                                 entr_maxlen))
        row2fill_l.pack( side="left")
        # ====================
        row2fill.pack(side="top", padx=1, pady=5)
示例#5
0
    def createWidgets(self):
        'create the script gui'

        #    first header row
        row = Frame(self)
        TEXT1 = "\nIn this section you can create scripts "
        Label(row, text=TEXT1, anchor='w').pack(side='top', padx=2, pady=1)
        row.pack(side='top', fill='x', padx=5)
        bottom_hline_deco(self)

        bottom_hline_deco(self, self.create_main_section)

        self.build_finalbuttons()
示例#6
0
    def create_content(self):

        label0 = Label(self, text=self._briefing_)
        label0.pack(side="top", fill="both", expand=True, padx=50, pady=20)
        #    just a line
        bottom_hline_deco(self)
        # lets create space to do some stuff ...
        self.entr_maxlen = int(
            (len(max(self._entries_, key=len))) * 2.5 / 3.0) + 8

        self.row2fill = Frame(self)

        if self.ch_init == []:
            for e in range(len(self._entries_)):
                self.ent_c.append(
                    create_entry(row2fill, self._entries_[e],
                                 self._defvals_[e], self.entr_maxlen))
        else:
            #self.ent_c=[[],[]]
            for _e_ in range(len(self._entries_)):
                self.create_entry_ck(self.row2fill, _e_)

            if self.extra_checkb == None:
                # - add 1 more x kind line
                self.add_new_line()
                self.ch_init += [0]
            else:
                #print self.extra_checkb
                gr, ids, k_xyz, rns, cks = self.extra_checkb

                for _e_ in range(len(gr)):

                    cnt = gr[_e_], ids[_e_], k_xyz[_e_], rns[_e_]
                    self.create_entry_ck(self.row2fill, None, cnt)

                self.ch_init += cks

            self.set_ckbuttonstate(self.ch_init)

        self.row2fill.pack(side="top", padx=1, pady=5)

        self.bottom_button_row()
示例#7
0
 def create_conversion_gui(self):
     
     #    first header row
     row = Frame(self)
     TEXT1= "\nSelect the parameters to perform the conversion: "
     Label(row, text=TEXT1, anchor='w').pack(side='top', padx=2, pady=10)
     row.pack( side='top', fill='x', padx=5)
     bottom_hline_deco(self)
     
     # file section
     #=======================       DEFAULTS       =========================
     ex_files=['./Examples/IONP/Original/SPIO_part-water-em.gro',
               './Examples/IONP/Original/SPIO_part.top',
               './Examples/IONP/Original/forcefield.itp',
               './Examples/IONP/Original/ffoplsaaSI_FE_WATnb.itp',
               './Examples/IONP/Original/ffoplsaaSI_FE_WATbon.itp'
              ]
     #ex_files=['conf.gro','topol.top','forcefield.itp','nb.itp','bon.itp']
     _atomstyle_ = 'full'
     _radio_ = 1
     
     data_cont = self.master._convert_['setup']
     if data_cont <> []:
         ex_files = data_cont[:-2]
         _atomstyle_ = data_cont[-2]
         _radio_ = data_cont[-1]
     
     fi_txt=['Enter the gro file',
             'Enter the top file',
             'Enter the forcefield file',
             'Enter the non bonded file',
             'Enter the bonded file'
            ]
     
     for fi in range( len( ex_files)):
         self.objt_c.append( self.master.createfileentry( self, fi_txt[fi],
                                                        ex_files[fi],
                                                       )
                          )
     bottom_hline_deco( self)
     
     bottom_hline_deco( self, self.atomstyle)
     self.objt_c[-1].set( _atomstyle_)
     
     self.sol_buffer = _radio_
     bottom_hline_deco( self, self.build_solvation_section)
     self.objt_c[-1].set( _radio_)
     
     #    Final Buttons
     self.build_finalbuttons()
示例#8
0
    def createWidgets(self):
        'create the script gui'
        #    first header row
        row = Frame(self)
        TEXT1 = "\nIn this section you can run scripts "
        Label(row, text=TEXT1, anchor='w').pack(side='top', padx=2, pady=10)
        row.pack(side='top', fill='x', padx=5)
        bottom_hline_deco(self)
        '''  RUN  section '''
        entr_maxlen = int(8 * 2.5)
        self.r_entry_c = []
        row2fill = Frame(self)
        row2fill_l = Frame(row2fill)
        self.r_entry_c.append(
            self.master.createfileentry(row2fill_l, 'Select the script to run',
                                        './in.gro2lam'))
        _entries_ = ['Machine', 'Cores']
        _defvals_ = [
            [
                'lammps-daily',
                ['lammps', 'lmp_mpi', 'lmp_ubuntu', 'lammps-daily']
            ],
            [1, range(4 * 4 * 4 + 1)[1:]]  # should be enough
        ]
        for e in range(len(_entries_)):
            self.r_entry_c.append(
                create_entry(row2fill_l, _entries_[e], _defvals_[e],
                             entr_maxlen))

        row2fill_l.pack(side="left")
        row2fill_r = Frame(row2fill)

        row2fill_r.pack(side="right")
        row2fill.pack(side="top", padx=1, pady=5)

        bottom_hline_deco(self, bottom_hline_deco(self))

        self.build_finalbuttons()
    def create_conversion_gui(self):

        # file section
        #=======================       DEFAULTS       =========================

        _autoload_ = 0

        eg_files = [
            './Examples/IONP/gromacs/SPIO_em.gro',
            './Examples/IONP/gromacs/SPIO_part.top',
            './Examples/IONP/gromacs/forcefield.itp',
            './Examples/IONP/gromacs/ffoplsaaSI_FE_WATnb.itp',
            './Examples/IONP/gromacs/ffoplsaaSI_FE_WATbon.itp'
        ]

        #eg_files=['conf.gro','topol.top','forcefield.itp','nb.itp','bon.itp']
        _atomstyle_ = 'full'

        data_cont = self.master._convert_['setup']
        if data_cont <> []:
            _autoload_ = data_cont[0]
            eg_files = data_cont[1:-1]
            _atomstyle_ = data_cont[-1]

        if _autoload_:
            enabled = [1, 1, 0, 0, 0]
        else:
            enabled = [1, 1, 1, 1, 1]

        fi_txt = [
            'Enter the gro file', 'Enter the top file',
            'Enter the forcefield file', 'Enter the non bonded file',
            'Enter the bonded file'
        ]

        ######            CONSTRUCTION SITE      ###############
        ## CS   first header row
        row = Frame(self)
        TEXT1 = "\nSelect the parameters to perform the conversion: "
        Label(row, text=TEXT1, anchor='w').pack(side='top', padx=2, pady=10)
        row.pack(side='top', fill='x', padx=5)
        bottom_hline_deco(self)

        ## CS   files                              ------------------------- :@
        # appends file entries capturing button also
        self.objt_c.append(_autoload_)  # allocating space for autoload in [0]
        for fi in range(len(eg_files)):

            self.file_e.append(
                File_Entry(self, e_txt=fi_txt[fi], e_val=eg_files[fi]))
            self.file_e[-1].setter(enabled[fi])
            self.objt_c.append(self.file_e[-1]._entry)
            self.file_e[-1].pack(fill='x')

            if fi == 1:
                self.file_e[-1]._strvar.trace('w', self.load_top_file)
                #sv = self.file_e[-1]._strvar
                #sv.trace('w', lambda name, index, mode, sv=sv: self.load_top_file(sv) )
                #"w"
                bottom_hline_deco(self)
                ## CS   autoload                   ------------------------- :@
                # self.objt_c.append inside
                self.autoload_buffer = ''
                self.autoloadff()

        bottom_hline_deco(self)

        ## CS   atom style                         ------------------------- :@
        # self.objt_c.append inside
        bottom_hline_deco(self, self.atomstyle)
        self.objt_c[-1].set(_atomstyle_)

        #    Final Buttons                         ------------------------- :@
        self.build_finalbuttons()

        ######     END CONSTRUCTION SITE  -> PACK OUTSIDE #########

        if self.master.test:
            print 'Seeing main gro2lam converter GUI'
            self.after(2000, self.test_hook)