/[ascend]/trunk/pygtk/moduleview.py
ViewVC logotype

Diff of /trunk/pygtk/moduleview.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1726 by jpye, Mon Dec 17 00:51:47 2007 UTC revision 1727 by jpye, Tue Jan 15 23:03:20 2008 UTC
# Line 43  class ModuleView: Line 43  class ModuleView:
43                            
44              self.browser.reporter.reportError(_msg)              self.browser.reporter.reportError(_msg)
45              raise RuntimeError(_msg)              raise RuntimeError(_msg)
46                
47            firstpath = None
48          for m in reversed(modules):          for m in reversed(modules):
49              _n = str( m.getName() )              _n = str( m.getName() )
50              _f = str( m.getFilename() )              _f = str( m.getFilename() )
51              #print "ADDING ROW name %s, file = %s" % (_n, _f)              #print "ADDING ROW name %s, file = %s" % (_n, _f)
52              _r = self.modulestore.append(None,  [ _n, _f, pango.WEIGHT_NORMAL ])              _r = self.modulestore.append(None,  [ _n, _f, pango.WEIGHT_NORMAL ])
53    
54                if firstpath is None:
55                        firstpath = self.modulestore.get_path(_r)
56    
57              for t in library.getModuleTypes(m):              for t in library.getModuleTypes(m):
58                  _n = t.getName()                  _n = t.getName()
59                  _hasparams = t.hasParameters()                  if t.isModel() and not t.hasParameters():
                 if _hasparams:  
                     _w = pango.WEIGHT_NORMAL  
                 else:  
60                      _w = pango.WEIGHT_BOLD                      _w = pango.WEIGHT_BOLD
61                    else:
62                        _w = pango.WEIGHT_NORMAL
63                                    
64                  #print "ADDING TYPE %s" % _n                  #print "ADDING TYPE %s" % _n
65                  _piter = self.modulestore.append(_r , [ _n, "", _w ])                  _piter = self.modulestore.append(_r , [ _n, "", _w ])
66                  _path = self.modulestore.get_path(_piter)                  _path = self.modulestore.get_path(_piter)
67                  self.modtank[_path]=t                  self.modtank[_path]=t
68        
69            # open up the top-level module (ie the one we just openened)
70            if firstpath is not None:
71                print "EXPANDING PATH",firstpath
72                self.moduleview.expand_row(firstpath,False)
73            
74          #print "DONE ADDING MODULES"          #print "DONE ADDING MODULES"
75    
76      def module_activated(self, treeview, path, column, *args):      def module_activated(self, treeview, path, column, *args):
# Line 71  class ModuleView: Line 80  class ModuleView:
80          modules = self.library.getModules()          modules = self.library.getModules()
81          print "PATH",path          print "PATH",path
82          if len(path)==1:          if len(path)==1:
83              self.browser.reporter.reportNote("Launching of external editor not yet implemented")              if self.moduleview.row_expanded(path):
84                    self.moduleview.collapse_row(path)
85                else:
86                    self.moduleview.expand_row(path,False)
87                #self.browser.reporter.reportNote("Launching of external editor not yet implemented")
88          elif len(path)==2:          elif len(path)==2:
89              if(self.modtank.has_key(path)):              if self.modtank.has_key(path):
90                  _type = self.modtank[path];                  _type = self.modtank[path];
91                  self.browser.reporter.reportNote("Creating simulation for type %s" % str(_type.getName()) )                  if not _type.isModel():
92                        self.browser.reporter.reportError("Can't create simulation for type '%s': not a MODEL type" % str(_type.getName()))
93                        return
94                    if _type.hasParameters():
95                        self.browser.reporter.reportError("Can't create simulation for MODEL '%s': requires parameters" % str(_type.getName()))
96                        return              
97                    self.browser.reporter.reportNote("Creating simulation for type '%s'" % str(_type.getName()) )
98                  self.browser.do_sim(_type)                  self.browser.do_sim(_type)
99              else:              else:
100                  self.browser.reporter.reportError("Didn't find type corresponding to row")                  self.browser.reporter.reportError("Didn't find type corresponding to row")

Legend:
Removed from v.1726  
changed lines
  Added in v.1727

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22