Пример #1
0
def evt_enter_variable( parent, event ):
   a = b = parent.panelSV.tin4.get()
   parent.panelSV.lab1.configure(text = "Select Variable")
   if a.find('- [') != -1:
      a=a[:a.find('- [')]
   if a.find('(') !=-1:
      a = a[:a.rfind('(')-1]
   parent.panelSV.tin4.setentry( a )
   if parent.startusertask == 1: gui_control.track_user( parent, "Variable: %s" % a)
   #
   if ( (a[17:] in ['Variable List *************']) or (a in ['******** Bounds and Weights List ******', '*************** Axes List **************']) ):
     parent.panelSV.tin4.setentry( '' )
     gui_functions._blank_dim1_to_ndim( parent )
     parent.panelDM.var3 = parent.panelDM.remember_var3 = None
     return
   parent.panelDM.var3 = parent.panelDM.remember_var3 = a
   #
   parent.panelSV.tin4.first_time = 0
   #
   var_list = parent.panelSV.tin4._list.get(None)
   found = 0
   for j in range(len(var_list)):
      n = len(a)
      if a+' '==var_list[j][:n+1]:
         found = 1
         break
##          if var_list[j].find('(') == -1:
##             if a == var_list[j]: 
##                found = 1
##                break
##          else:
##             if a == var_list[j][:var_list[j].find('(')-1]: 
##                found = 1
##                break
##          j = j + 1
   if found == 0:
      gui_message.error('Variable [ ++%s++ ] cannot be found in the file.' % a)
      parent.panelSV.tin4.setentry( '' )
      gui_functions._blank_dim1_to_ndim( parent )
      parent.panelDM.var3 = parent.panelDM.remember_var3 = None
      return
   #
   parent.panelVI.lst1 = gui_functions._scn_a_var( parent, a )
   parent.panelVI.scl1.settext( parent.panelVI.lst1 )

   # Blank the dimension's window
   gui_functions._blank_dim1_to_ndim( parent )

   # Reset selection counters back to initial state, (e.g., '00 ')
   if parent.panelDV.lst1 != {}:
      for x in parent.panelDV.lst1.keys():
          parent.panelDV.number_lst1[ x ] = gui_control.dvholder + x
      gui_defined_variables.update_defined_variable_list( parent )

   gui_functions._srl_var_dim1_to_ndim( parent )
   for k in range(parent.panelDM.ndim):
      parent.panelDM.dim[k].comb.component('entry').configure(background = gui_color.dim )
      parent.panelDM.dim[k].first_scl.configure( troughcolor=gui_color.dim )
      parent.panelDM.dim[k].last_scl.configure( troughcolor=gui_color.dim )
   #
   parent.panelDV.scl1.select_clear( 0, 'end' )
   parent.panelDV.selected_list = {}
   #
   parent.panelSV.lab1.configure(text = "Selected Variable -- %s" % b)
Пример #2
0
    def rename_variable_apply(self, parent):
        import __main__
        if parent.panelDV.selected == []:
            gui_message.error(
                "Must select a variable in the 'Defined Variable' window.")
            return
        old_name = var_name = string.split(parent.panelDV.selected)[0]
        new_name = self.eny0.get()
        selected = parent.panelDV.selected
        selected_list = parent.panelDV.selected_list
        __main__.__dict__[new_name] = __main__.__dict__[old_name]
        if old_name != new_name:
            del __main__.__dict__[old_name]

        for x in selected_list.keys():
            if string.split(selected_list[x], ' ')[0] == old_name:
                break
        selected_list[x] = string.replace(selected_list[x], old_name, new_name)
        selected = selected_list[x]

        hold_selected_list = parent.panelDV.selected_list
        hold_selected = parent.panelDV.selected
        gui_defined_variables.update_defined(parent)
        parent.panelDV.selected_list = hold_selected_list
        parent.panelDV.selected = hold_selected

        # Update the selection numbering scheme
        ct = 0
        for x in parent.panelDV.selected_list.values():
            ct += 1
            if ct < 10:
                parent.panelDV.number_lst1[x] = (
                    "%s%d " % (gui_control.dvholder[0], ct)) + x
            elif ct < 100:
                parent.panelDV.number_lst1[x] = ("%d " % ct) + x
            else:
                gui_message.error(
                    'Cannot exceed over 100 selections. See gui_control.py for modification instructions.'
                )

        # Update the defined variable list
        gui_defined_variables.update_defined_variable_list(parent)
        #
        dvlt = parent.panelDV.scl1.get()
        for x in selected_list.values():
            for i in range(len(dvlt)):
                if dvlt[i][gui_control.dvsize:] == x:
                    parent.panelDV.scl1.select_set(i)
        #
        parent.panelDV.selected_list = selected_list
        parent.panelDV.selected = selected
        #
        gui_functions._srl_var_dim1_to_ndim(
            parent, slab=parent.panelDV.lst1[parent.panelDV.selected])
        #
        self.lbl0_text.set(
            ("Change the variable's name from [ %s ] to [ ? ]:" % new_name))
        self.lbl1_text.set(('Add variable attribute to [ %s ]:' % new_name))
        self.lbl2_text.set(
            ('Remove variable attributes from [ %s ]:' % new_name))
        self.lbl3_text.set(('attribute for [ %s ]:' % new_name))
        #
        parent.slab.id = parent.slab.name = new_name  # change the name of the id to new_name
        #
        slab_list = parent.slab.listall()
        parent.panelVI.scl1.configure(text_state='normal')
        parent.panelVI.scl1.settext('')
        first_time = 1
        for x in slab_list:
            if string.find(x, " Dimension ") != -1:
                if first_time:
                    ln = len(
                        parent.panelDV.lst1[parent.panelDV.selected].shape)
                    num_dim = 'Number of dimensions: %d' % ln
                    parent.panelVI.scl1.insert('end', (num_dim + '\n'))
                    first_time = 0
                parent.panelVI.scl1.insert('end', '\n')
            parent.panelVI.scl1.insert('end', (x + '\n'))
        parent.panelVI.scl1.configure(text_state='disabled')

        # record as a new variable
        gui_control.record_command(
            parent,
            "\n# Record the name change of %s to %s" % (old_name, new_name), 1)
        gui_control.record_command(parent, "%s = %s" % (new_name, old_name), 1)
Пример #3
0
def evt_enter_variable(parent, event):
    a = b = parent.panelSV.tin4.get()
    parent.panelSV.lab1.configure(text="Select Variable")
    if a.find('- [') != -1:
        a = a[:a.find('- [')]
    if a.find('(') != -1:
        a = a[:a.rfind('(') - 1]
    parent.panelSV.tin4.setentry(a)
    if parent.startusertask == 1:
        gui_control.track_user(parent, "Variable: %s" % a)
    #
    if ((a[17:] in ['Variable List *************']) or (a in [
            '******** Bounds and Weights List ******',
            '*************** Axes List **************'
    ])):
        parent.panelSV.tin4.setentry('')
        gui_functions._blank_dim1_to_ndim(parent)
        parent.panelDM.var3 = parent.panelDM.remember_var3 = None
        return
    parent.panelDM.var3 = parent.panelDM.remember_var3 = a
    #
    parent.panelSV.tin4.first_time = 0
    #
    var_list = parent.panelSV.tin4._list.get(None)
    found = 0
    for j in range(len(var_list)):
        n = len(a)
        if a + ' ' == var_list[j][:n + 1]:
            found = 1
            break
##          if var_list[j].find('(') == -1:
##             if a == var_list[j]:
##                found = 1
##                break
##          else:
##             if a == var_list[j][:var_list[j].find('(')-1]:
##                found = 1
##                break
##          j = j + 1
    if found == 0:
        gui_message.error('Variable [ ++%s++ ] cannot be found in the file.' %
                          a)
        parent.panelSV.tin4.setentry('')
        gui_functions._blank_dim1_to_ndim(parent)
        parent.panelDM.var3 = parent.panelDM.remember_var3 = None
        return
    #
    parent.panelVI.lst1 = gui_functions._scn_a_var(parent, a)
    parent.panelVI.scl1.settext(parent.panelVI.lst1)

    # Blank the dimension's window
    gui_functions._blank_dim1_to_ndim(parent)

    # Reset selection counters back to initial state, (e.g., '00 ')
    if parent.panelDV.lst1 != {}:
        for x in parent.panelDV.lst1.keys():
            parent.panelDV.number_lst1[x] = gui_control.dvholder + x
        gui_defined_variables.update_defined_variable_list(parent)

    gui_functions._srl_var_dim1_to_ndim(parent)
    for k in range(parent.panelDM.ndim):
        parent.panelDM.dim[k].comb.component('entry').configure(
            background=gui_color.dim)
        parent.panelDM.dim[k].first_scl.configure(troughcolor=gui_color.dim)
        parent.panelDM.dim[k].last_scl.configure(troughcolor=gui_color.dim)
    #
    parent.panelDV.scl1.select_clear(0, 'end')
    parent.panelDV.selected_list = {}
    #
    parent.panelSV.lab1.configure(text="Selected Variable -- %s" % b)