[Bio] / PyGUI / Catalogpanel.py Repository:
ViewVC logotype

Diff of /PyGUI/Catalogpanel.py

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

revision 1.25, Wed May 26 01:38:25 2004 UTC revision 1.26, Wed Jun 9 22:36:10 2004 UTC
# Line 75  Line 75 
75      #------------------------------------------------------------------------      #------------------------------------------------------------------------
76      def initCatData( self ):      def initCatData( self ):
77      #------------------------------------------------------------------------      #------------------------------------------------------------------------
         self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("Data Sources")  
   
         #bssItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,  
         #                                           "BioSimScratch" )  
         #witItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,  
         #                                           "WIT3" )  
         #self.seedItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,  
         #                                           "Seed" )  
   
         #self.loadBssCatalog( bssItemId )  
         #self.loadWitCatalog( witItemId )  
   
         localSeedServer        = "http://localhost/FIG/"  
 #        localSeedServer        = "http://float179.mcs.anl-external.org/FIG/"  
         #self.loadSeedCatalog( localSeedServer)  
78    
79            self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("/")
80          self.loadCatalog()          self.loadCatalog()
81    
   
82          self.parent.catalog_tree.Expand( self.parent.catalogRootId)          self.parent.catalog_tree.Expand( self.parent.catalogRootId)
83          return          return
84    
# Line 148  Line 133 
133      #------------------------------------------------------------------------      #------------------------------------------------------------------------
134          wxBeginBusyCursor()          wxBeginBusyCursor()
135    
136          localSeedServer        = "http://localhost/FIG/"          localSeedServer        = "http://localhost/FIG"
137          seedFactory   = SeedDataFactory( localSeedServer )          seedFactory   = SeedDataFactory( localSeedServer )
138          b             = BssFactory()          b             = BssFactory()
139    
# Line 160  Line 145 
145              wxEndBusyCursor()              wxEndBusyCursor()
146              return              return
147    
148            ##
149            # Handle top/root of catalog/tree specially to avoid "two root"
150            # on display problem
151            ##
152    
153          top = Catalog.instance().getCatalogTop()          top = Catalog.instance().getCatalogTop()
154          self.recurseCatalog( top, self.parent.catalog_tree, self.parent.catalogRootId)          parentTree = self.parent.catalog_tree
155            parentTree.SetPyData( self.parent.catalogRootId,
156                                  (self.recoElemLoader, top, self.parent.catalogRootId) )
157    
158            for e in top.entries():
159                self.recurseCatalog( e, parentTree, self.parent.catalogRootId)
160    
161            parentTree.SortChildren( self.parent.catalogRootId)
162    
163          wxEndBusyCursor()          wxEndBusyCursor()
164    
165          return          return
166    
167      #------------------------------------------------------------------------      #------------------------------------------------------------------------
168        def recurseCatalog( self, catEntry, parentTree, parentItemId):
169        #------------------------------------------------------------------------
170            """
171            Create a new item under parentItemId in wxTree, parentTree.  Associate
172            catEntry with it.  If catEntry has entries, recurse on them.
173            """
174    
175            if ( catEntry.isTerminal() ):
176                displayedName = catEntry.name()
177            else:
178                displayedName = catEntry.name() + "/"
179    
180            newItemId=parentTree.AppendItem(parentItemId, displayedName )
181    
182            # associate data needed to manipulate the catEntry
183    
184            parentTree.SetPyData( newItemId,
185                                  (self.recoElemLoader, catEntry, newItemId ) )
186    
187            if ( not catEntry.isTerminal() ):
188                for e in catEntry.entries():
189                    self.recurseCatalog( e, parentTree, newItemId)
190    
191            parentTree.SortChildren( newItemId )
192    
193            return
194    
195        #------------------------------------------------------------------------
196      def loadSeedCatalog(self, seedServer ):      def loadSeedCatalog(self, seedServer ):
197      #------------------------------------------------------------------------      #------------------------------------------------------------------------
198          wxBeginBusyCursor()          wxBeginBusyCursor()
# Line 183  Line 208 
208              return              return
209    
210          top = seedFactory.getCatalogTop()          top = seedFactory.getCatalogTop()
         #self.recurseCatalog( top, self.parent.catalog_tree, self.seedItemId )  
211          self.recurseCatalog( top, self.parent.catalog_tree, self.parent.catalogRootId)          self.recurseCatalog( top, self.parent.catalog_tree, self.parent.catalogRootId)
212    
213          wxEndBusyCursor()          wxEndBusyCursor()
# Line 191  Line 215 
215          return          return
216    
217      #------------------------------------------------------------------------      #------------------------------------------------------------------------
     def recurseCatalog( self, catEntry, parentTree, parentItemId):  
     #------------------------------------------------------------------------  
         """  
         terminal nodes have FoundryItemKeys associated with them that we  
         can read if requested.  associate that key and a handler with the  
         wxTree item in that case.  
         """  
   
         newItemId=parentTree.AppendItem(parentItemId, catEntry.name() )  
   
         parentTree.SetPyData( newItemId,  
                               (self.recoElemLoader, catEntry, newItemId )  
                               )  
   
         if ( not catEntry.isTerminal() ):  
             for e in catEntry.entries():  
                 self.recurseCatalog( e, parentTree, newItemId)  
   
         # not efficient becaure of re-sort  
   
         parentTree.SortChildren( newItemId )  
   
         return  
   
     #------------------------------------------------------------------------  
218      def OLDloadSeedCatalog(self, seedServer ):      def OLDloadSeedCatalog(self, seedServer ):
219      #------------------------------------------------------------------------      #------------------------------------------------------------------------
220          wxBeginBusyCursor()          wxBeginBusyCursor()
# Line 284  Line 283 
283          theBox.Clear()          theBox.Clear()
284    
285          if ( not catEntry.isTerminal() ):          if ( not catEntry.isTerminal() ):
286              self.parent.catPathValue.SetLabel( catEntry.path() )              self.parent.catPathValue.SetLabel( catEntry.path() + "/" )
287              self.parent.catVersionValueComboBox.SetLabel( "")              self.parent.catVersionValueComboBox.SetLabel( "")
288              self.parent.catHistoryDateValue.SetLabel( "" )              self.parent.catHistoryDateValue.SetLabel( "" )
289              self.parent.catHistoryUserValue.SetLabel( "" )              self.parent.catHistoryUserValue.SetLabel( "" )
290              self.parent.catHistoryCreatedFromValue.SetLabel( "")              self.parent.catHistoryCreatedFromValue.SetLabel( "")
291                theBox.SetValue( "" )
292          else:          else:
293              versions   = catEntry.versions()              versions   = catEntry.versions()
294              if ( [] == versions ):              if ( [] == versions ):
295                  self.parent.catPathValue.SetLabel( catEntry.path()+";[None]" )                  self.parent.catPathValue.SetLabel( catEntry.path()+";[None]" )
296                    theBox.SetValue( "None" )
297              else:              else:
298                    print "versions are ", versions
299                  maxVersion = max( versions )                  maxVersion = max( versions )
300                  for v in versions:                  for v in versions:
301                      theBox.Append( "%s" % (v ) )                      theBox.Append( "%s" % (v ) )
# Line 316  Line 318 
318    
319          # get the value selected in the combo box.          # get the value selected in the combo box.
320          choice = event.GetString()          choice = event.GetString()
321            self.parent.catVersionValueComboBox.SetValue( "%s" % (choice) )
322    
323          # the operation is interpreted relative to the currently selected          # the operation is interpreted relative to the currently selected
324          # catalogEntry.  find what that is.          # catalogEntry.  find what that is.
# Line 441  Line 444 
444          (catalogEntry) = argList          (catalogEntry) = argList
445    
446          if (catalogEntry.isTerminal() ):          if (catalogEntry.isTerminal() ):
447              top = catalogEntry.getRecoElem()              ver = self.parent.catVersionValueComboBox.GetValue()
448                if ( ver == "None" ):
449                    top = RecoElem( catalogEntry.name(), 1 )
450                else:
451                    top = catalogEntry.read( int( ver ) )
452    
453              self.to_re.AddRecoElemTree(self.parent.rootId, top, catalogEntry)              self.to_re.AddRecoElemTree(self.parent.rootId, top, catalogEntry)
454          else:          else:
455              # current selection is directory. can't load that!              # current selection is directory. can't load that!

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3