Home | Trees | Indices | Help |
---|
|
1 #!/bin/env python 2 # 3 4 """ 5 Display window for Configuration database 6 7 copyright (c) 2005 the icecube collaboration 8 9 @version: $Revision: $ 10 @date: $Date: $ 11 @author: Juan Carlos Diaz Velez <juancarlos@icecube.wisc.edu> 12 """ 13 14 import pygtk 15 pygtk.require("2.0") 16 import gtk, gobject 17 from iceprod.core.dataclasses import * 18 import time 19 import logging 20 import iceprod.core.logger 21 22 logger = logging.getLogger('GtkMetaProjectList') 2313426 27 self.store = gtk.ListStore( int, str, str ) 28 self.pdb = pdb 29 self.parent = parent 30 self.resume_action = None 31 self.init()3234 if not self.display(): return 35 36 # setup the main window 37 self.root = gtk.Window(type=gtk.WINDOW_TOPLEVEL) 38 self.sw = gtk.ScrolledWindow() 39 self.root.set_title('Available Metaprojects') 40 self.root.set_size_request(500, 375) 41 42 # Get the model and attach it to the view 43 self.view = self.make_view( self.store ) 44 45 self.vbox = gtk.VBox(False,1) 46 47 # Add search field 48 self.entry = gtk.Entry() 49 self.entry.set_max_length(50) 50 self.entry.connect("activate", self.enter_callback, self.entry) 51 self.entry_frame = gtk.Frame('Search keyword') 52 self.entry_frame.add(self.entry) 53 self.vbox.pack_start(self.entry_frame, False, False, 1) 54 self.entry.show() 55 56 # Add view into frame and into main window 57 self.sw.add(self.view) 58 self.view_frame = gtk.Frame('Database entries') 59 self.view_frame.add(self.sw) 60 self.vbox.add(self.view_frame) 61 62 self.root.add(self.vbox) 63 self.root.show_all() 64 return65 6971 self.resume_action = action72 7779 """ Populates gtk.TreeStore """ 80 81 self.store.clear() 82 83 self.set_resume_action(self.init) 84 self.pdb.connect() 85 runs = self.pdb.fetch_metaproject_list() 86 for r in runs: 87 row = [ r['metaproject_id'], r['name'], r['versiontxt'] ] 88 logger.debug(','.join(map(str,row))) 89 self.store.append( row ) 90 return True9193 """ 94 Get config from database server 95 """ 96 sel = tv.get_selection() 97 sel.select_path(path) 98 model, iter = sel.get_selected() 99 id = model.get_value(iter, 0) 100 name = model.get_value(iter, 1) 101 version = model.get_value(iter, 2) 102 103 self.set_resume_action(self.init) 104 self.pdb.connect() 105 steering = self.parent.GetSteering() 106 traylist = steering.GetTrays() 107 for tray in traylist: 108 if tray.HasMetaProject(name): 109 mp = self.pdb.SwitchMetaProject(tray,id,name,version) 110 tray.AddMetaProject(mp.GetName(),mp) 111 self.parent.ReloadWidgets() 112 self.root.destroy()113 114116 """ Form a view for the Tree Model """ 117 self.view = gtk.TreeView( model ) 118 self.view.connect('row-activated', self.switcharoo) 119 120 # setup the text cell renderer and allows these 121 # cells to be edited. 122 self.renderer = [None]*5 123 for i in range(5): 124 self.renderer[i] = gtk.CellRendererText() 125 126 self.column = [None]*3 127 self.column[0] = gtk.TreeViewColumn("ID",self.renderer[0], text=0) 128 self.column[1] = gtk.TreeViewColumn("name",self.renderer[1],text=1 ) 129 self.column[2] = gtk.TreeViewColumn("version",self.renderer[2], text=2) 130 131 for i in range(3): 132 self.view.append_column( self.column[i] ) 133 return self.view
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Fri Jan 4 16:45:12 2013 | http://epydoc.sourceforge.net |