commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/designer/src base/Instance.py base/ObjectL...


From: Jason Cater
Subject: gnue/designer/src base/Instance.py base/ObjectL...
Date: Mon, 02 Jun 2003 20:21:12 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    03/06/02 20:21:11

Modified files:
        designer/src/base: Instance.py ObjectList.py 
        designer/src/forms: Instance.py 
        designer/src/forms/LayoutEditor: DisplayDropTarget.py 

Log message:
        more updates

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/Instance.py.diff?tr1=1.99&tr2=1.100&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/ObjectList.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Instance.py.diff?tr1=1.41&tr2=1.42&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text

Patches:
Index: gnue/designer/src/base/Instance.py
diff -c gnue/designer/src/base/Instance.py:1.99 
gnue/designer/src/base/Instance.py:1.100
*** gnue/designer/src/base/Instance.py:1.99     Fri May 30 01:02:55 2003
--- gnue/designer/src/base/Instance.py  Mon Jun  2 20:21:11 2003
***************
*** 136,141 ****
--- 136,144 ----
      self.globalAccelerators = []
      self.globalAcceleratorListeners = []
  
+     self._nameMappers = {} # {GDataSource: {'name': [(GFBlock,'name')]}}
+ 
+ 
      self.registerEventListeners({
                         # Menu/Toolbar stuff
                         'RequestSave'         : self.OnSave,
***************
*** 319,324 ****
--- 322,341 ----
        print "\n%s %s\n\nUnable to open file '%s'. \nUnexpected read error:\n  
%s.\n" % (TITLE, VERSION, location, msg)
        sys.exit()
      self._app.mru.addLocation(location)
+ 
+ 
+   def addNameMapper(self, instance, attribute, childinst, childattr):
+     try:
+       instm = self._nameMappers[instance]
+     except KeyError:
+       instm = {}
+       self._nameMappers[instance] = instm
+     try:
+       attrm = instm[attribute]
+     except KeyError:
+       attrm = []
+       instm[attribute] = attrm
+     attrm.append ( (childinst, childattr) )
  
  
    def __loadFromBuffer(self, fileHandle):
Index: gnue/designer/src/base/ObjectList.py
diff -c gnue/designer/src/base/ObjectList.py:1.2 
gnue/designer/src/base/ObjectList.py:1.3
*** gnue/designer/src/base/ObjectList.py:1.2    Thu May 29 01:07:22 2003
--- gnue/designer/src/base/ObjectList.py        Mon Jun  2 20:21:11 2003
***************
*** 30,38 ****
  
  __all__ = ['ObjectList']
  
  class ObjectList:
!   def __init__(self, instance, base, nameAttr, updateMethod):
      self.base = base
      self.name = nameAttr
      self.update = updateMethod
      self.objects = []
--- 30,43 ----
  
  __all__ = ['ObjectList']
  
+ 
+ def _dummy(*args, **parms):
+   pass
+ 
  class ObjectList:
!   def __init__(self, instance, base, nameAttr, updateMethod=_dummy):
      self.base = base
+     print "Base=%s" % base
      self.name = nameAttr
      self.update = updateMethod
      self.objects = []
Index: gnue/designer/src/forms/Instance.py
diff -c gnue/designer/src/forms/Instance.py:1.41 
gnue/designer/src/forms/Instance.py:1.42
*** gnue/designer/src/forms/Instance.py:1.41    Thu May 29 18:55:53 2003
--- gnue/designer/src/forms/Instance.py Mon Jun  2 20:21:11 2003
***************
*** 34,39 ****
--- 34,40 ----
  from gnue.designer.forms import properties as formProperties
  from gnue.designer.base.Instance import BaseInstance
  from gnue.designer.base import PopupMenu
+ from gnue.designer.base.ObjectList import ObjectList
  from Incubator import Incubator
  import wizards
  from WizardRunner import WizardRunner
***************
*** 53,58 ****
--- 54,60 ----
  
  from gnue.forms import GFInstance
  from gnue.forms import GFForm, GFParser, GFObjects, GFLibrary
+ from gnue.forms.GFObjects.GFBlock import GFBlock
  from gnue.common.logic import GTrigger
  from gnue.common.datasources import GDataSource
  
***************
*** 93,98 ****
--- 95,111 ----
                         'ObjectDeleted' :  self.onDeleteObject,
                        })
  
+     # Convenience list to keep track of datasources and blocks
+     self.datasources = ObjectList(self, GDataSource.GDataSource, 'name')
+     self.blocks = ObjectList(self, GFBlock, 'name')
+ 
+     # Name mappings, so names can automatically be updated
+     self.addNameMapper('GCDataSource','name', 'GFBlock', 'datasource')
+     self.addNameMapper('GFBlock','name', 'GFField', 'block')
+ ##    self.addNameMapper('GCTrigger','name', 'GFField', 'block')
+ ##    self.addNameMapper('GFField',('name','block'), 'GFEntry', 'datasource')
+ 
+ 
    def loadBuffer(self, buffer):
      form = GFParser.loadFile (buffer, self, initialize=0)
  ##    if not hasattr(form,'name') or not form.name:
***************
*** 247,253 ****
        if wxMessageDialog(self, 
            _('The form definition you are about to save\n') +
            _('does not appear to be a workable definition.') +
!           _('\n\nIf you save an incomplete definition, you\n') + 
            _('may not be able to reopen it in Designer.\n\nSave anyway?'),
               _("Incomplete Form Definition"), wxYES_NO|wxICON_QUESTION 
).ShowModal() == wxID_NO:
          return 1
--- 260,266 ----
        if wxMessageDialog(self, 
            _('The form definition you are about to save\n') +
            _('does not appear to be a workable definition.') +
!           _('\n\nIf you save an incomplete definition, you\n') +
            _('may not be able to reopen it in Designer.\n\nSave anyway?'),
               _("Incomplete Form Definition"), wxYES_NO|wxICON_QUESTION 
).ShowModal() == wxID_NO:
          return 1
Index: gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py
diff -c gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.16 
gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.17
*** gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.16      Mon Jun 
 2 19:44:28 2003
--- gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py   Mon Jun  2 
20:21:11 2003
***************
*** 248,264 ****
  
      for table, fields in params['Data']:
        block = None
!       testBlock = self.editor.block
!       try:
!         if testBlock.connection == table['connection'] and \
!            testBlock.table: pass
  
!       except:
!         pass
  
  
-   def __schemaFindDataSource(self, block):
-     pass
-     
  
  
--- 248,281 ----
  
      for table, fields in params['Data']:
        block = None
!       for set in ((self.editor.block,),instance.blocks):
!         for test in set:
!           try:
!             datasource = instance.datasources[block.name]
!             if datasource.connection == table['connection'] and \
!                datasource.table == table['name']:
!               block = test
!               break
!           except KeyError, AttributeError:
!             pass
  
!       if not block:
!         datasource = instance.incubator.createObject(
!             instance.rootObject,
!             'datasource',
!             instance.rootObject,
!             attributes={'name': instance.getUniqueName('dts'%params['name']),
!                         'connection':params['connection'],
!                         'table': params['name']})
!         block = instance.incubator.createObject(
!             instance.rootObject,
!             'block',
!             instance.rootObject._logic,
!             attributes={'name': instance.getUniqueName('blk'%params['name']),
!                         'datasource':datasource.name})
! 
!       page = self.editor.page
  
  
  
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]