Package iceprod :: Package client :: Package gtk :: Module GtkSteerBatchOpt
[hide private]
[frames] | no frames]

Source Code for Module iceprod.client.gtk.GtkSteerBatchOpt

  1  #!/bin/env python 
  2  #   copyright  (c) 2005 
  3  #   the icecube collaboration 
  4  #   $Id: $ 
  5  # 
  6  #   @version $Revision: $ 
  7  #   @date $Date: $ 
  8  #   @author Juan Carlos Diaz Velez <juancarlos@icecube.wisc.edu> 
  9  #       @brief icetray connections frame for GtkIcetraConfig application 
 10  ######################################################################### 
 11   
 12  import pygtk 
 13  pygtk.require('2.0') 
 14  import gtk 
 15  from iceprod.core.dataclasses import * 
 16  from GtkSteering import GtkSteering 
 17  import logging 
 18   
 19  logger = logging.getLogger('GtkSteerBatchOpt') 
 20   
21 -class GtkSteerBatchOpt(GtkSteering):
22
23 - def delete_steering(self, b):
24 sel = self.tv.get_selection() 25 model, iter = sel.get_selected() 26 path = model.get_path(iter) 27 otype = model.get_value(iter, 0) 28 oname = model.get_value(iter, 1) 29 self.steering.RemoveBatchOpt((otype,oname)) 30 self.showsteerings()
31
32 - def add_steering(self, b):
33 """ 34 add steering batch option 35 """ 36 row = [] 37 batchopt = BatchOpt() 38 batchopt.SetType('*') 39 batchopt.SetName('new_batchoption') 40 batchopt.SetValue('NULL') 41 self.steering.AddBatchOpt(batchopt) 42 43 row.append(batchopt.GetType()) 44 row.append(batchopt.GetName()) 45 row.append(batchopt.GetValue()) 46 i0 = self.liststore.append(row) 47 sel = self.tv.get_selection() 48 sel.select_iter(i0)
49 50
51 - def __init__(self,steering):
52 GtkSteering.__init__(self,steering) 53 54 self.b0.set_label('Add Option') 55 self.b1.set_label('Delete Option') 56 self.tv.column[0].set_title('I3Queue Name') 57 self.tv.column[1].set_title('Option') 58 self.tv.cell[0].set_property( 'editable', True) 59 60 self.show_all()
61
62 - def reload(self,steering):
63 self.steering = steering 64 self.showsteerings()
65
66 - def showsteerings(self):
67 self.liststore.clear() 68 for b in self.steering.GetBatchOpts(): 69 70 row = [b.GetType(),b.GetName(),b.GetValue()] 71 print row 72 self.liststore.append(row)
73 74
75 - def cell_edit( self, cell, path, new_text,model,col ):
76 """ 77 Canges the value of the batch option 78 """ 79 logger.debug("Change '%s' to '%s'" % (model[path][col], new_text)) 80 logger.debug("%s,%s" % (path,col) ) 81 82 row = model[path] 83 otype = row[0] 84 oname = row[1] 85 batchopt = self.steering.GetBatchOpt((otype,oname)) 86 if not batchopt: 87 logger.error("batch option %s,%s not found" % (otype,oname)) 88 return 89 if (col == 0): 90 self.steering.RemoveBatchOpt((otype,oname)) 91 batchopt.SetType(new_text) 92 self.steering.AddBatchOpt(batchopt) 93 elif (col == 1): 94 self.steering.RemoveBatchOpt((otype,oname)) 95 batchopt.SetName(new_text) 96 self.steering.AddBatchOpt(batchopt) 97 elif (col == 2): 98 batchopt.SetValue(new_text) 99 else: 100 logger.error("unknown column %s" % col) 101 row[col] = u'%s' % new_text
102