[Top][All Lists]
[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
- gnue/designer/src base/Instance.py base/ObjectL...,
Jason Cater <=