[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/designer/src base/Incubator.py base/PopupM...
From: |
Jason Cater |
Subject: |
gnue/designer/src base/Incubator.py base/PopupM... |
Date: |
Fri, 20 Dec 2002 23:52:33 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/12/20 23:52:32
Modified files:
designer/src/base: Incubator.py PopupMenu.py TemplateBase.py
TemplateParser.py
designer/src/base/tools: DataSourceEditor.py
designer/src/forms: Incubator.py Instance.py TemplateSupport.py
designer/src/forms/LayoutEditor: DisplayDropTarget.py
LayoutEditor.py
designer/src/navigator: Incubator.py Instance.py
TemplateSupport.py
designer/src/reports: Incubator.py Instance.py
TemplateSupport.py
designer/src/schema: Incubator.py Instance.py TemplateSupport.py
designer/src/schema/DiaEditor: VisualEditor.py
Log message:
* Move from Incubator being a module to being a class; all
Incubator.xxx() references should now be instance.incubator.xxx()
* Simplified the Incubator interface
* Removed redundency in Incubator.createObject
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/Incubator.py.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/PopupMenu.py.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/TemplateBase.py.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/TemplateParser.py.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/base/tools/DataSourceEditor.py.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Incubator.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Instance.py.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/TemplateSupport.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.55&tr2=1.56&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/navigator/Incubator.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/navigator/Instance.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/navigator/TemplateSupport.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/Incubator.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/Instance.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/TemplateSupport.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/Incubator.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/Instance.py.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/TemplateSupport.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/DiaEditor/VisualEditor.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: gnue/designer/src/base/Incubator.py
diff -c gnue/designer/src/base/Incubator.py:1.14
gnue/designer/src/base/Incubator.py:1.15
*** gnue/designer/src/base/Incubator.py:1.14 Fri Jun 28 00:03:37 2002
--- gnue/designer/src/base/Incubator.py Fri Dec 20 23:52:31 2002
***************
*** 27,53 ****
# NOTES:
#
! from gnue.common import GDebug
! def calcDependencies(elements, elementMapping):
! for tag in elements.keys():
! t = elements[tag]
! if t.has_key('UsableBySiblings'):
! cascade = t['UsableBySiblings']
! else:
! cascade = 0
!
! if t.has_key('ParentTags'):
! parents = t['ParentTags']
! else:
! parents = None
!
! if parents != None:
! for parent in parents:
! if elementMapping.has_key(parent):
! elementMapping[parent].append(tag)
! else:
! elementMapping[parent] = [tag]
--- 27,160 ----
# NOTES:
#
! from gnue.common import GDebug, GParserHelpers
! class BaseIncubator:
! elements = []
! ##
! ## Reparent an object
! ##
! def reparentObject(self, rootObject, object, newParent):
! if object._parent == newParent:
! return
! # TODO
!
!
! ##
! ## Create a new object
! ##
! def createObject(self, rootObject, tag,
! parent, attributes={}, select=1):
!
!
! GDebug.printMesg(3,'Creating a "%s" object' % tag)
! GDebug.printMesg(6,"Object's parent is %s" % parent)
!
! try:
! name = attributes['name']
! except KeyError:
! name = self.instance.getNextGenericName(tag)
!
! try:
! objclass = self.elements[tag]['BaseClass']
! if self.elements[tag].has_key('Attributes'):
! attrs = self.elements[tag]['Attributes']
! else:
! attrs = {}
! except KeyError:
! GDebug.printMesg(1, "Attempted to create a '%s', "
! "but I don't know what to do!" % tag)
! return 1
!
! o = objclass(parent)
!
! # Add any GContent
! try:
! GParserHelpers.GContent(o, attributes['_content_'])
! except KeyError:
! pass
!
! # Pull default values for any attributes not supplied
! for attr in attrs.keys():
! if not attributes.has_key(attr):
! if attrs[attr].has_key('Default'):
! attributes[attr] = attrs[attr]['Typecast'](attrs[attr]['Default'])
!
!
! for attr in attributes.keys():
! if attrs.has_key(attr):
! o.__dict__[attr] = attributes[attr]
! else:
! self._handleUnknownAttribute(tag, o, attr, attributes[attr])
!
! o.name = name
! self.instance.nameMappings[o.name] = o
! o._buildObject()
! self.instance.dispatchEvent('ObjectCreated',object=o, originator=__name__)
! if select:
! self.instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
! return o
!
! ##
! ## Delete an object
! ##
! def deleteObject(self, rootObject, object, newCurrentObject=None,
firstRun=1):
!
! if firstRun:
! newCurrentObject = parent = object._parent
!
! for child in object._children:
! if not child._type == '_content_':
! self.deleteObject(rootObject, child, firstRun=0)
!
! self.instance.dispatchEvent('ObjectDeleted',object=object,
originator=__name__)
!
! if firstRun:
! o = parent
! while o._parent:
! o._buildObject()
! o = o._parent
!
! if newCurrentObject:
! instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
!
! ##
! ## Internal stuff
! ##
!
! def __init__(self, instance):
! self.instance = instance
!
! # Figure out tag dependencies
! self._calcDependencies()
!
!
! def _calcDependencies(self):
! self.elementMapping = elementMapping = {}
! elements = self.elements
!
! for tag in elements.keys():
! t = elements[tag]
!
! try:
! cascade = t['UsableBySiblings']
! except KeyError:
! cascade = 0
!
! if t.has_key('ParentTags'):
! parents = t['ParentTags']
! else:
! parents = None
!
! if parents != None:
! for parent in parents:
! try:
! elementMapping[parent].append(tag)
! except KeyError:
! elementMapping[parent] = [tag]
!
! def _handleUnknownAttribute(self, tag, object, attr, value):
! return
Index: gnue/designer/src/base/PopupMenu.py
diff -c gnue/designer/src/base/PopupMenu.py:1.15
gnue/designer/src/base/PopupMenu.py:1.16
*** gnue/designer/src/base/PopupMenu.py:1.15 Thu Oct 31 21:40:53 2002
--- gnue/designer/src/base/PopupMenu.py Fri Dec 20 23:52:31 2002
***************
*** 35,41 ****
class ActionMenu(wxMenu):
def __init__(self, instance, object, parent=None, text=None,
parentText=None):
wxMenu.__init__(self, text)
! self._product_instance = instance
self.__parent = parent
self._object = object
self._newMap = {}
--- 35,41 ----
class ActionMenu(wxMenu):
def __init__(self, instance, object, parent=None, text=None,
parentText=None):
wxMenu.__init__(self, text)
! self.instance = instance
self.__parent = parent
self._object = object
self._newMap = {}
***************
*** 99,118 ****
self.AppendMenu(wxNewId(), hasattr(child,'name') and child.name or \
string.upper(child._type[2]) + \
string.lower(child._type[3:]),
! PageMenu(self._product_instance, child, self.x, self.y))
def addCreateTag(self, tag, text):
tid = wxNewId()
self._newMap[tid] = tag
self.Append(tid, text)
! EVT_MENU(self._product_instance, tid, self.OnCreateObject)
def OnEditProperties(self, event):
! self._product_instance.propertyEditorWindow.Show(1)
! self._product_instance.propertyEditorWindow.Raise()
! self._product_instance.propertyEditorWindow.SetFocus()
def OnEditEvent(self, event):
pass
--- 99,118 ----
self.AppendMenu(wxNewId(), hasattr(child,'name') and child.name or \
string.upper(child._type[2]) + \
string.lower(child._type[3:]),
! PageMenu(self.instance, child, self.x, self.y))
def addCreateTag(self, tag, text):
tid = wxNewId()
self._newMap[tid] = tag
self.Append(tid, text)
! EVT_MENU(self.instance, tid, self.OnCreateObject)
def OnEditProperties(self, event):
! self.instance.propertyEditorWindow.Show(1)
! self.instance.propertyEditorWindow.Raise()
! self.instance.propertyEditorWindow.SetFocus()
def OnEditEvent(self, event):
pass
***************
*** 120,140 ****
def OnCreateObject(self, event):
tag = self._newMap[event.GetId()]
GDebug.printMesg(4,'Creating object %s with id %s'%(tag, event.GetId()))
! self._product_instance.incubator.createObject(self._product_instance,
self._product_instance.rootObject, tag,
! parentHint=self._object,
! attributes=hasattr(self,'x') and {'x': self.x, 'y': self.y} or {} )
def OnCreateDataSource(self, event):
! self._product_instance.incubator.createObject(self._product_instance,
self._product_instance.rootObject, _('datasource'))
def OnCreateNamedTrigger(self, event):
! self._product_instance.incubator.createObject(self._product_instance,
self._product_instance.rootObject, _('trigger'))
def OnCreatePage(self, event):
! self._product_instance.incubator.createObject(self._product_instance,
self._product_instance.rootObject, _('page'))
def OnDeleteObject(self, event):
! self._product_instance.incubator.deleteObject(self._product_instance,
self._product_instance.rootObject, self._object)
def OnReorderLayout(self, event):
unqId = 0
--- 120,140 ----
def OnCreateObject(self, event):
tag = self._newMap[event.GetId()]
GDebug.printMesg(4,'Creating object %s with id %s'%(tag, event.GetId()))
! self.instance.incubator.createObject(self.instance.rootObject, tag,
! self._object,
! attributes=hasattr(self,'Char__x') and {'Char:x': self.Char__x,
'Char:y': self.Char__y} or {} )
def OnCreateDataSource(self, event):
! self.instance.incubator.createObject(self.instance.rootObject,
'datasource')
def OnCreateNamedTrigger(self, event):
! self.instance.incubator.createObject(self.instance.rootObject, 'trigger')
def OnCreatePage(self, event):
! self.instance.incubator.createObject(self.instance.rootObject, 'page')
def OnDeleteObject(self, event):
! self.instance.incubator.deleteObject(self.instance.rootObject,
self._object)
def OnReorderLayout(self, event):
unqId = 0
***************
*** 157,163 ****
object._popupMenu.OnReorderLayout(event)
object.__savedChildren = object._children[:]
for o2 in object.__savedChildren:
! self._product_instance.onDeleteObject(o2, __name__)
oid = "%5d.%5d.%5d" % (object._upperY, object._upperX, unqId)
unqId = unqId + 1
--- 157,163 ----
object._popupMenu.OnReorderLayout(event)
object.__savedChildren = object._children[:]
for o2 in object.__savedChildren:
! self.instance.onDeleteObject(o2, __name__)
oid = "%5d.%5d.%5d" % (object._upperY, object._upperX, unqId)
unqId = unqId + 1
***************
*** 177,210 ****
navObjects[oid] = object
# Notify everyone that this object was deleted
! self._product_instance.onDeleteObject(object, __name__)
self._object._children = []
# First, add back triggers
for object in triggerObjects:
self._object._children.append(object)
! self._product_instance.onCreateObject(object, __name__)
# Next, add back hidden objects
for object in hiddenObjects:
self._object._children.append(object)
! self._product_instance.onCreateObject(object, __name__)
# Now, add hidden objects
boxes = boxObjects.keys()
boxes.sort()
for box in boxes:
self._object._children.append(boxObjects[box])
! self._product_instance.onCreateObject(boxObjects[box], __name__)
# The rest of the objects (other than blocks) go here
nav = navObjects.keys()
nav.sort()
for n in nav:
self._object._children.append(navObjects[n])
! self._product_instance.onCreateObject(navObjects[n], __name__)
# And, finally, any child blocks
blocks = blockObjects.keys()
--- 177,210 ----
navObjects[oid] = object
# Notify everyone that this object was deleted
! self.instance.onDeleteObject(object, __name__)
self._object._children = []
# First, add back triggers
for object in triggerObjects:
self._object._children.append(object)
! self.instance.onCreateObject(object, __name__)
# Next, add back hidden objects
for object in hiddenObjects:
self._object._children.append(object)
! self.instance.onCreateObject(object, __name__)
# Now, add hidden objects
boxes = boxObjects.keys()
boxes.sort()
for box in boxes:
self._object._children.append(boxObjects[box])
! self.instance.onCreateObject(boxObjects[box], __name__)
# The rest of the objects (other than blocks) go here
nav = navObjects.keys()
nav.sort()
for n in nav:
self._object._children.append(navObjects[n])
! self.instance.onCreateObject(navObjects[n], __name__)
# And, finally, any child blocks
blocks = blockObjects.keys()
***************
*** 212,221 ****
for block in blocks:
children = blockObjects[block].__savedChildren[:]
self._object._children.append(blockObjects[block])
! self._product_instance.onCreateObject(blockObjects[block], __name__)
for child in children:
blockObjects[block]._children.append(child)
! self._product_instance.onCreateObject(child,__name__)
class CreateObjectMenu(ActionMenu):
--- 212,221 ----
for block in blocks:
children = blockObjects[block].__savedChildren[:]
self._object._children.append(blockObjects[block])
! self.instance.onCreateObject(blockObjects[block], __name__)
for child in children:
blockObjects[block]._children.append(child)
! self.instance.onCreateObject(child,__name__)
class CreateObjectMenu(ActionMenu):
***************
*** 226,234 ****
self.AppendSeparator()
tag = string.lower(object._type[2:])
! if self._product_instance.incubator.elementMapping.has_key(tag):
! self._product_instance.incubator.elementMapping[tag].sort()
! for element in self._product_instance.incubator.elementMapping[tag]:
descr = string.upper(element[0])+string.lower(element[1:])
if descr == 'Import':
descr = 'Import Library'
--- 226,234 ----
self.AppendSeparator()
tag = string.lower(object._type[2:])
! if self.instance.incubator.elementMapping.has_key(tag):
! self.instance.incubator.elementMapping[tag].sort()
! for element in self.instance.incubator.elementMapping[tag]:
descr = string.upper(element[0])+string.lower(element[1:])
if descr == 'Import':
descr = 'Import Library'
Index: gnue/designer/src/base/TemplateBase.py
diff -c gnue/designer/src/base/TemplateBase.py:1.21
gnue/designer/src/base/TemplateBase.py:1.22
*** gnue/designer/src/base/TemplateBase.py:1.21 Sun Dec 1 17:53:04 2002
--- gnue/designer/src/base/TemplateBase.py Fri Dec 20 23:52:31 2002
***************
*** 117,127 ****
instance = self.parser.instance
if content:
attr = {'_content_': content}
! else:
attr = {}
attr.update(attributes)
! return instance.incubator.createObject(instance, instance.rootObject,
! tag, parent=parent, attributes=attr, select=0)
def SetContent(self, element, content):
--- 117,127 ----
instance = self.parser.instance
if content:
attr = {'_content_': content}
! else:
attr = {}
attr.update(attributes)
! return instance.incubator.createObject(instance.rootObject,
! tag, parent, attributes=attr, select=0)
def SetContent(self, element, content):
Index: gnue/designer/src/base/TemplateParser.py
diff -c gnue/designer/src/base/TemplateParser.py:1.25
gnue/designer/src/base/TemplateParser.py:1.26
*** gnue/designer/src/base/TemplateParser.py:1.25 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/base/TemplateParser.py Fri Dec 20 23:52:31 2002
***************
*** 41,47 ****
self.rootObject = rootObject
self.currentObject = currentObject
! self.elements =
dyn_import('gnue.designer.%s.Incubator'%templateInformation['Product']).elements
def run(self, **params):
--- 41,47 ----
self.rootObject = rootObject
self.currentObject = currentObject
! self.elements = instance.incubator.elements
def run(self, **params):
Index: gnue/designer/src/base/tools/DataSourceEditor.py
diff -c gnue/designer/src/base/tools/DataSourceEditor.py:1.29
gnue/designer/src/base/tools/DataSourceEditor.py:1.30
*** gnue/designer/src/base/tools/DataSourceEditor.py:1.29 Fri Dec 20
18:56:05 2002
--- gnue/designer/src/base/tools/DataSourceEditor.py Fri Dec 20 23:52:32 2002
***************
*** 341,354 ****
attributes['database'] = \
hasattr(self.current,'database') and self.current.database or ''
! self.instance.incubator.createObject(self.instance, self.rootObject,
'datasource',
parent=self.rootObject, attributes=attributes)
def OnDeleteDSSelected(self, event):
if self.current is not None:
! self.instance.onDeleteObject(self.current, __name__)
--- 341,354 ----
attributes['database'] = \
hasattr(self.current,'database') and self.current.database or ''
! self.instance.incubator.createObject(self.rootObject, 'datasource',
parent=self.rootObject, attributes=attributes)
def OnDeleteDSSelected(self, event):
if self.current is not None:
! self.dispatchEvent('ObjectDeleted',object=self.current,
originator=__name__)
Index: gnue/designer/src/forms/Incubator.py
diff -c gnue/designer/src/forms/Incubator.py:1.9
gnue/designer/src/forms/Incubator.py:1.10
*** gnue/designer/src/forms/Incubator.py:1.9 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/forms/Incubator.py Fri Dec 20 23:52:32 2002
***************
*** 29,151 ****
from gnue.common import GDebug, GParserHelpers
from gnue.forms import GFParser, GFForm
! from gnue.designer.base.Incubator import *
! def createObject(instance, form, tag, type=None, parent=None,
! parentHint=None, attributes={}, select=1):
! GDebug.printMesg(3,'Creating a "%s" object' % tag)
! GDebug.printMesg(6,"Object's parent is %s" % parentHint)
!
! try:
! name = attributes['name']
! except KeyError:
! name = instance.getNextGenericName(tag)
!
! try:
! objclass = elements[tag]['BaseClass']
! if elements[tag].has_key('Attributes'):
! attrs = elements[tag]['Attributes']
! else:
! attrs = {}
! except KeyError:
! GDebug.printMesg(1, "Attempted to create a '%s', "
! "but I don't know what to do!" % tag)
! return 1
!
!
! if tag == 'trigger':
! if not attributes.has_key('type'):
! attributes['type'] = 'NAMED'
! if attributes['type'] == 'NAMED':
! parent = form
! else:
! parent = parent or parentHint
! elif tag in ('datasource','import'):
! parent = form
! elif tag in ('page',):
! parent = form._layout
!
! o = objclass(parent or parentHint)
!
! # Add any GContent
! try:
! GParserHelpers.GContent(o, attributes['_content_'])
! except KeyError:
! pass
!
! # Pull default values for any attributes not supplied
! for attr in attrs.keys():
! if not attributes.has_key(attr):
! if attrs[attr].has_key('Default'):
! attributes[attr] = attrs[attr]['Typecast'](attrs[attr]['Default'])
! elif attr in ('x','y',):
! attributes[attr] = 0
! elif attr in ('height',):
! if tag in ('box','scrollbar'):
! attributes[attr] = 4
! else:
! attributes[attr] = 1
! elif attr == 'width':
! if tag in ('scrollbar',):
! attributes[attr] = 1
! else:
! attributes[attr] = 10
! elif attr in ('text','label'):
! attributes[attr] = name
!
! for attr in attributes.keys():
! if attrs.has_key(attr):
! o.__dict__[attr] = attributes[attr]
! elif attr.find(':')+1:
! # Hackery for forms namespace support
! o.__dict__[attr.replace(':','__')] = attributes[attr]
!
!
! o.name = name
! instance.nameMappings[o.name] = o
! o._buildObject()
! instance.dispatchEvent('ObjectCreated',object=o, originator=__name__)
! if select:
! instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
! return o
!
!
! def reparentObject(instance, form, object, newParent):
! if object._parent == newParent:
! return
!
! # TODO
! pass
!
!
! def deleteObject(instance, form, object, newCurrentObject=None, firstRun=1):
!
! if firstRun:
! newCurrentObject = parent = object._parent
!
! for child in object._children:
! if not child._type == '_content_':
! deleteObject(instance, form, child, firstRun=0)
!
! instance.dispatchEvent('ObjectDeleted',object=object, originator=__name__)
!
! if firstRun:
! o = parent
! while not isinstance(o, GFForm.GFForm):
! o._buildObject()
! o = o._parent
!
! if newCurrentObject:
! instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
!
!
!
! #
! # Figure out tag dependencies
! #
! elements = GFParser.getXMLelements()
! elementMapping = {}
! calcDependencies(elements, elementMapping)
--- 29,42 ----
from gnue.common import GDebug, GParserHelpers
from gnue.forms import GFParser, GFForm
! from gnue.designer.base.Incubator import BaseIncubator
! class Incubator(BaseIncubator):
+ elements = GFParser.getXMLelements()
! def _handleUnknownAttribute(self, tag, object, attr, value):
! # Hackery for forms Layout Management (namespace) support
! if attr.find(':')+1:
! object.__dict__[attr.replace(':','__')] = value
Index: gnue/designer/src/forms/Instance.py
diff -c gnue/designer/src/forms/Instance.py:1.25
gnue/designer/src/forms/Instance.py:1.26
*** gnue/designer/src/forms/Instance.py:1.25 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/forms/Instance.py Fri Dec 20 23:52:32 2002
***************
*** 32,38 ****
from gnue.designer.forms import properties as formProperties
from gnue.designer.base.Instance import BaseInstance
from gnue.designer.base import PopupMenu
! import Incubator
import wizards
from WizardRunner import WizardRunner
--- 32,38 ----
from gnue.designer.forms import properties as formProperties
from gnue.designer.base.Instance import BaseInstance
from gnue.designer.base import PopupMenu
! from Incubator import Incubator
import wizards
from WizardRunner import WizardRunner
***************
*** 55,61 ****
def __init__(self, app, *args, **params):
! self.incubator = Incubator
self.properties = formProperties
self.wizardRunner = WizardRunner
--- 55,61 ----
def __init__(self, app, *args, **params):
! self.incubator = Incubator(self)
self.properties = formProperties
self.wizardRunner = WizardRunner
***************
*** 72,78 ****
# Build a list of positionable widgets
self._positionableList = []
! elements = Incubator.elements
for tag in elements.keys():
try:
if elements['Positionable']:
--- 72,78 ----
# Build a list of positionable widgets
self._positionableList = []
! elements = self.incubator.elements
for tag in elements.keys():
try:
if elements['Positionable']:
Index: gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py
diff -c gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.7
gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.8
*** gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.7 Thu Jul
4 15:01:34 2002
--- gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py Fri Dec 20
23:52:32 2002
***************
*** 29,35 ****
import sys, string
from Utils import *
from gnue.common import GDebug
- from gnue.designer.forms import Incubator
import cPickle
--- 29,34 ----
***************
*** 61,66 ****
--- 60,67 ----
# do something with it.
def OnData(self, x, y, d):
+ instance = self.editor.instance
+
# copy the data from the drag source to our data object
if self.GetData():
# convert it back to our format
***************
*** 110,120 ****
return d # TODO: This should actually return a failure
# Create a parent block
! parent = Incubator.createObject(
! self.editor._instance,
! self.editor._instance.rootObject,
'block',
! parent=self.editor.page,
attributes={'datasource':datasource})
else:
for child in self.editor.page._children:
--- 111,120 ----
return d # TODO: This should actually return a failure
# Create a parent block
! parent = instance.incubator.createObject(
! instance.rootObject,
'block',
! self.editor.page,
attributes={'datasource':datasource})
else:
for child in self.editor.page._children:
***************
*** 161,171 ****
y += 1
# Create a label
! Incubator.createObject(
! self.editor._instance,
! self.editor._instance.rootObject,
'label',
! parent=self.editor.page,
attributes={'x': lx,
'y': ly,
'width': len(label),
--- 161,170 ----
y += 1
# Create a label
! instance.incubator.createObject(
! instance.rootObject,
'label',
! self.editor.page,
attributes={'x': lx,
'y': ly,
'width': len(label),
***************
*** 194,204 ****
# Create our new object
#
if not params['Type'] in ('selectedWidgets',):
! object = Incubator.createObject(
! self.editor._instance,
! self.editor._instance.rootObject,
params['Type'],
! parent=parent,
attributes=attributes)
if params['Type'] in ('entry',):
--- 193,202 ----
# Create our new object
#
if not params['Type'] in ('selectedWidgets',):
! object = instance.incubator.createObject(
! instance.rootObject,
params['Type'],
! parent,
attributes=attributes)
if params['Type'] in ('entry',):
***************
*** 218,228 ****
if triggertext:
! Incubator.createObject(
! self.editor._instance,
! self.editor._instance.rootObject,
'trigger',
! parent = object,
attributes = {
'_content_': triggertext,
'type': 'PRE-INSERT',
--- 216,225 ----
if triggertext:
! instance.incubator.createObject(
! instance.rootObject,
'trigger',
! object,
attributes = {
'_content_': triggertext,
'type': 'PRE-INSERT',
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.55
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.56
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.55 Fri Dec 20
18:56:05 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py Fri Dec 20
23:52:32 2002
***************
*** 32,38 ****
from gnue.forms import GFObjects
from gnue.forms.uidrivers.wx import UIdriver as UIwxpython
from gnue.designer.base.PopupMenu import PageMenu
- from gnue.designer.forms import Incubator
from gnue.designer.base.TemplateParser import TemplateParser
from gnue.designer.base.ToolPanel import *
from gnue.common.events import Event
--- 32,37 ----
***************
*** 56,62 ****
# TODO: blah.... historical reasons
self._instance = self.instance
!
# TODO: this needs to go away... requires toolbar to be on main frame
self.frame = self.instance
--- 55,61 ----
# TODO: blah.... historical reasons
self._instance = self.instance
!
# TODO: this needs to go away... requires toolbar to be on main frame
self.frame = self.instance
Index: gnue/designer/src/forms/TemplateSupport.py
diff -c gnue/designer/src/forms/TemplateSupport.py:1.4
gnue/designer/src/forms/TemplateSupport.py:1.5
*** gnue/designer/src/forms/TemplateSupport.py:1.4 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/forms/TemplateSupport.py Fri Dec 20 23:52:32 2002
***************
*** 28,34 ****
#
from gnue.designer.base.TemplateBase import *
- import Incubator
from gnue.forms.GFForm import GFForm
--- 28,33 ----
Index: gnue/designer/src/navigator/Incubator.py
diff -c gnue/designer/src/navigator/Incubator.py:1.1
gnue/designer/src/navigator/Incubator.py:1.2
*** gnue/designer/src/navigator/Incubator.py:1.1 Fri Jun 28 00:03:38 2002
--- gnue/designer/src/navigator/Incubator.py Fri Dec 20 23:52:32 2002
***************
*** 0 ****
--- 1,37 ----
+ #
+ # This file is part of GNU Enterprise.
+ #
+ # GNU Enterprise is free software; you can redistribute it
+ # and/or modify it under the terms of the GNU General Public
+ # License as published by the Free Software Foundation; either
+ # version 2, or (at your option) any later version.
+ #
+ # GNU Enterprise is distributed in the hope that it will be
+ # useful, but WITHOUT ANY WARRANTY; without even the implied
+ # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ # PURPOSE. See the GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public
+ # License along with program; see the file COPYING. If not,
+ # write to the Free Software Foundation, Inc., 59 Temple Place
+ # - Suite 330, Boston, MA 02111-1307, USA.
+ #
+ # Copyright 2001-2002 Free Software Foundation
+ #
+ # FILE:
+ # Incubator.py
+ #
+ # DESCRIPTION:
+ # Creates objects to be added to the object
+ #
+ # NOTES:
+ #
+
+ from gnue.common import GDebug
+ from gnue.navigator import GNParser
+ from gnue.designer.base.Incubator import BaseIncubator
+
+ class Incubator(BaseIncubator):
+
+ elements = GNParser.getXMLelements()
+
Index: gnue/designer/src/navigator/Instance.py
diff -c gnue/designer/src/navigator/Instance.py:1.9
gnue/designer/src/navigator/Instance.py:1.10
*** gnue/designer/src/navigator/Instance.py:1.9 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/navigator/Instance.py Fri Dec 20 23:52:32 2002
***************
*** 29,34 ****
--- 29,35 ----
from gnue.designer.navigator import properties as navProperties
from gnue.designer.base.Instance import BaseInstance
+ from Incubator import Incubator
# Tool support...
from LayoutEditor import LayoutEditor
***************
*** 46,52 ****
class Instance(BaseInstance):
def __init__(self, app, *args, **params):
!
self.properties = navProperties
BaseInstance.__init__(self, app, *args, **params)
--- 47,53 ----
class Instance(BaseInstance):
def __init__(self, app, *args, **params):
! self.incubator = Incubator(self)
self.properties = navProperties
BaseInstance.__init__(self, app, *args, **params)
Index: gnue/designer/src/navigator/TemplateSupport.py
diff -c gnue/designer/src/navigator/TemplateSupport.py:1.2
gnue/designer/src/navigator/TemplateSupport.py:1.3
*** gnue/designer/src/navigator/TemplateSupport.py:1.2 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/navigator/TemplateSupport.py Fri Dec 20 23:52:32 2002
***************
*** 28,34 ****
#
from gnue.designer.base.TemplateBase import *
- import Incubator
# TODO
def createRootObject(instance):
--- 28,33 ----
Index: gnue/designer/src/reports/Incubator.py
diff -c gnue/designer/src/reports/Incubator.py:1.5
gnue/designer/src/reports/Incubator.py:1.6
*** gnue/designer/src/reports/Incubator.py:1.5 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/reports/Incubator.py Fri Dec 20 23:52:32 2002
***************
*** 29,147 ****
from gnue.common import GDebug, GParserHelpers
from gnue.reports import GRParser, GRReport, GRLayout
! from gnue.designer.base.Incubator import *
! def createObject(instance, report, tag, type=None, parent=None,
! parentHint=None, attributes={}, select=1):
! GDebug.printMesg(3,'Creating a "%s" object' % tag)
! GDebug.printMesg(6,"Object's parent is %s" % parentHint)
!
! try:
! name = attributes['name']
! except KeyError:
! if tag.find(':'):
! name = tag[tag.find(':')+1:]
! else:
! name = instance.getNextGenericName(tag)
!
! try:
! objclass = elements[tag]['BaseClass']
! if elements[tag].has_key('Attributes'):
! attrs = elements[tag]['Attributes']
! else:
! attrs = {}
! except KeyError:
if tag.find(':'):
! objclass = GRLayout.GRPassThru
! attrs = attributes
else:
! GDebug.printMesg(1, "Attempted to create a '%s', "
! "but I don't know what to do!" % tag)
! return
! if tag == 'trigger':
! if not attributes.has_key('type'):
! attributes['type'] = 'NAMED'
! if attributes['type'] == 'NAMED':
! parent = report
! else:
! parent = parent or parentHint
! o = objclass(parent or parentHint)
!
! # Add any GContent
! try:
! GParserHelpers.GContent(o, attributes['_content_'])
! except KeyError:
! pass
!
! # Pull default values for any attributes not supplied
! for attr in attrs.keys():
! if not attributes.has_key(attr):
! if attrs[attr].has_key('Default'):
! attributes[attr] = attrs[attr]['Typecast'](attrs[attr]['Default'])
!
! for attr in attributes.keys():
! if attrs.has_key(attr):
! o.__dict__[attr] = attributes[attr]
! elif attr.find(':')+1:
! # Hackery for reports namespace support
! o.__dict__[attr.replace(':','__')] = attributes[attr]
!
! if isinstance(o, GRLayout.GRPassThru):
o._xmltag = tag[tag.find(':')+1:]
o._listedAttributes = attributes.keys()
! # TODO: GNUe:Reports:Standard ?
! o._xmlnamespace = report.findChildOfType('GRLayout')._xmlchildnamespace
! #'GNUe:Reports:SimpleTabulation'
!
! o.name = name
! instance.nameMappings[o.name] = o
! o._buildObject()
! instance.dispatchEvent('ObjectCreated',object=o, originator=__name__)
! if select:
! instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
! return o
!
!
! def reparentObject(instance, report, object, newParent):
! if object._parent == newParent:
! return
!
! # TODO
! pass
!
!
! def deleteObject(instance, report, object, newCurrentObject=None, firstRun=1):
!
! if firstRun:
! newCurrentObject = parent = object._parent
!
! for child in object._children:
! if not child._type == '_content_':
! deleteObject(instance, form, child, firstRun=0)
!
! instance.dispatchEvent('ObjectDeleted',object=object, originator=__name__)
!
! if firstRun:
! o = parent
! while not isinstance(o, GRReport.GRReport):
! o._buildObject()
! o = o._parent
!
! if newCurrentObject:
! instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
!
!
!
! #
! # Figure out tag dependencies
! #
! elements = GRParser.getXMLelements()
! elementMapping = {}
! calcDependencies(elements, elementMapping)
!
--- 29,71 ----
from gnue.common import GDebug, GParserHelpers
from gnue.reports import GRParser, GRReport, GRLayout
! from gnue.designer.base.Incubator import BaseIncubator
! class Incubator(BaseIncubator):
+ elements = GRParser.getXMLelements()
! def createObject(self, rootObject, tag, parent, attributes={}, select=1):
! # Handle GRPassThru
if tag.find(':'):
! o = self._handlePassThru(rootObject, tag, parent, attributes, select)
! if o:
! self.instance.dispatchEvent('ObjectCreated',object=o,
originator=__name__)
! if select:
! self.instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
! return o
else:
! return BaseIncubator(self, rootObject, tag, parent, attributes, select)
! def _handlePassThru(self, rootObject, tag, parent,
! attributes={}, select=1):
! name = tag[tag.find(':')+1:]
! objclass = GRLayout.GRPassThru
! o = objclass(parent)
!
! # Add any GContent
! try:
! GParserHelpers.GContent(o, attributes['_content_'])
! except KeyError:
! pass
! o.__dict__.update(attributes)
o._xmltag = tag[tag.find(':')+1:]
o._listedAttributes = attributes.keys()
! o._xmlnamespace =
rootObject.findChildOfType('GRLayout')._xmlchildnamespace
+ o.name = name
+ instance.nameMappings[o.name] = o
+ o._buildObject()
+ return o
Index: gnue/designer/src/reports/Instance.py
diff -c gnue/designer/src/reports/Instance.py:1.9
gnue/designer/src/reports/Instance.py:1.10
*** gnue/designer/src/reports/Instance.py:1.9 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/reports/Instance.py Fri Dec 20 23:52:32 2002
***************
*** 29,35 ****
from gnue.designer.reports import properties as reportsProperties
from gnue.designer.base.Instance import BaseInstance
! import Incubator
import wizards
# Tool support...
--- 29,35 ----
from gnue.designer.reports import properties as reportsProperties
from gnue.designer.base.Instance import BaseInstance
! from Incubator import Incubator
import wizards
# Tool support...
***************
*** 48,54 ****
class Instance(BaseInstance):
def __init__(self, app, *args, **params):
! self.incubator = Incubator
self.properties = reportsProperties
#self._tableMappings = {}
--- 48,54 ----
class Instance(BaseInstance):
def __init__(self, app, *args, **params):
! self.incubator = Incubator(self)
self.properties = reportsProperties
#self._tableMappings = {}
Index: gnue/designer/src/reports/TemplateSupport.py
diff -c gnue/designer/src/reports/TemplateSupport.py:1.6
gnue/designer/src/reports/TemplateSupport.py:1.7
*** gnue/designer/src/reports/TemplateSupport.py:1.6 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/reports/TemplateSupport.py Fri Dec 20 23:52:32 2002
***************
*** 28,34 ****
#
from gnue.designer.base.TemplateBase import *
- import Incubator
from gnue.reports.GRReport import GRReport
--- 28,33 ----
Index: gnue/designer/src/schema/DiaEditor/VisualEditor.py
diff -c gnue/designer/src/schema/DiaEditor/VisualEditor.py:1.7
gnue/designer/src/schema/DiaEditor/VisualEditor.py:1.8
*** gnue/designer/src/schema/DiaEditor/VisualEditor.py:1.7 Fri Dec 20
18:56:05 2002
--- gnue/designer/src/schema/DiaEditor/VisualEditor.py Fri Dec 20 23:52:32 2002
***************
*** 30,36 ****
from wxPython.wx import *
from VisualTable import *
from gnue.common.schema.Objects import *
- from gnue.designer.schema.Incubator import *
from gnue.designer.base.ToolPanel import *
class VisualEditor (ToolPanel):
--- 30,35 ----
***************
*** 360,411 ****
if object._type!='GSSchema':
menu.AppendSeparator()
!
menu.Append(popup_EDIT, "Edit")
EVT_MENU(self,popup_EDIT,self.onEdit)
menu.Append(popup_RENAME, "Rename")
EVT_MENU(self,popup_RENAME,self.onRename)
!
menu.Append(popup_DUPPL, "Duplicate")
EVT_MENU(self,popup_DUPPL,self.onDuplicate)
!
menu.Append(popup_DEL, "Delete")
EVT_MENU(self,popup_DEL,self.onDelete)
!
clickPt = wxPoint(x + self.diagram.GetPosition().x,
y + self.diagram.GetPosition().y)
self.diagram.PopupMenu(menu, clickPt)
menu.Destroy()
- # TODO: replace "createObject" by "self.instance.incubator"
-
def onNewTable(self,event):
dialog = wxTextEntryDialog(self.diagram,'Name of the new table:')
!
if dialog.ShowModal() == wxID_OK:
tables=self.rootObject.findChildOfType("GSTables")
if tables==None:
! tables = createObject(self.instance, self.rootObject, 'tables',
! None,None,self.rootObject)
! createObject(self.instance, self.rootObject, 'table',
! None,None,tables,{"name":dialog.GetValue()})
!
dialog.Destroy()
def onAddField(self,event):
dialog = wxTextEntryDialog(self.diagram,'Name of the new field:')
!
if dialog.ShowModal() == wxID_OK:
! fields=self.object.findChildOfType("GSFields")
if fields==None:
tbl=self.object.findChildOfType("GSTable")
! fields=createObject(self.instance, self.rootObject,'fields',
! None,None,tbl)
!
! createObject(self.instance, self.rootObject, 'field',
! None,None,fields,{"name":dialog.GetValue(),
"type":"varchar",
"size":20})
--- 359,408 ----
if object._type!='GSSchema':
menu.AppendSeparator()
!
menu.Append(popup_EDIT, "Edit")
EVT_MENU(self,popup_EDIT,self.onEdit)
menu.Append(popup_RENAME, "Rename")
EVT_MENU(self,popup_RENAME,self.onRename)
!
menu.Append(popup_DUPPL, "Duplicate")
EVT_MENU(self,popup_DUPPL,self.onDuplicate)
!
menu.Append(popup_DEL, "Delete")
EVT_MENU(self,popup_DEL,self.onDelete)
!
clickPt = wxPoint(x + self.diagram.GetPosition().x,
y + self.diagram.GetPosition().y)
self.diagram.PopupMenu(menu, clickPt)
menu.Destroy()
def onNewTable(self,event):
dialog = wxTextEntryDialog(self.diagram,'Name of the new table:')
!
if dialog.ShowModal() == wxID_OK:
tables=self.rootObject.findChildOfType("GSTables")
if tables==None:
! tables = self.instance.incubator.createObject(
! self.rootObject, 'tables', self.rootObject)
! self.instance.incubator.createObject(self.rootObject, 'table',
! tables, {"name":dialog.GetValue()})
!
dialog.Destroy()
def onAddField(self,event):
dialog = wxTextEntryDialog(self.diagram,'Name of the new field:')
!
if dialog.ShowModal() == wxID_OK:
! fields=self.object.findChildOfType("GSFields")
if fields==None:
tbl=self.object.findChildOfType("GSTable")
! fields=self.instance.incubator.createObject(
! self.rootObject,'fields', tbl)
!
! self.instance.incubator.createObject(self.rootObject, 'field',
! fields,{"name":dialog.GetValue(),
"type":"varchar",
"size":20})
***************
*** 415,442 ****
tbl=self.object.findParentOfType("GSTable")
indexes=tbl.findChildOfType("GSIndexes")
if indexes==None:
! indexes = createObject(self.instance, self.rootObject, 'indexes',
! None,None,tbl)
! idx=createObject(self.instance, self.rootObject, 'index',
! None,None,indexes,
! {"name":"%s_%s" % (tbl.name,self.object.name)})
! createObject(self.instance, self.rootObject, 'index',
! None,None,idx,
! {"name":self.object.name})
self.refresh()
def onAddUniqueIndex(self,event):
! tbl=self.object.findParentOfType("GSTable")
! indexes=tbl.findChildOfType("GSIndexes")
if indexes==None:
! indexes = createObject(self.instance, self.rootObject, 'indexes',
! None,None,tbl)
! idx=createObject(self.instance, self.rootObject, 'index',
! None,None,indexes,
{"name":"%s_%s" % (tbl.name,self.object.name),
! "unique":"Y"})
! createObject(self.instance, self.rootObject, 'index',
! None,None,idx,
{"name":self.object.name})
self.refresh()
--- 412,437 ----
tbl=self.object.findParentOfType("GSTable")
indexes=tbl.findChildOfType("GSIndexes")
if indexes==None:
! indexes = self.instance.incubator.createObject(
! self.rootObject, 'indexes', tbl)
! idx=self.instance.incubator.createObject(
! self.rootObject, 'index', indexes,
! {"name":"%s_%s" % (tbl.name,self.object.name)})
! self.instance.incubator.createObject(self.rootObject, 'index', idx,
! {"name":self.object.name})
self.refresh()
def onAddUniqueIndex(self,event):
! tbl=self.object.findParentOfType("GSTable")
! indexes=tbl.findChildOfType("GSIndexes")
if indexes==None:
! indexes = self.instance.incubator.createObject(
! self.rootObject, 'indexes',tbl)
! idx=self.instance.incubator.createObject(
! self.rootObject, 'index', indexes,
{"name":"%s_%s" % (tbl.name,self.object.name),
! "unique":"Y"})
! self.instance.incubator.createObject(self.rootObject, 'index', idx,
{"name":self.object.name})
self.refresh()
***************
*** 465,471 ****
pass
def onDelete(self,event):
! deleteObject(self.instance, self.rootObject, self.object, firstRun=1)
def onLeftClickEvent(self,event):
--- 460,466 ----
pass
def onDelete(self,event):
! self.instance.incubator.deleteObject(self.rootObject, self.object,
firstRun=1)
def onLeftClickEvent(self,event):
Index: gnue/designer/src/schema/Incubator.py
diff -c gnue/designer/src/schema/Incubator.py:1.6
gnue/designer/src/schema/Incubator.py:1.7
*** gnue/designer/src/schema/Incubator.py:1.6 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/schema/Incubator.py Fri Dec 20 23:52:32 2002
***************
*** 29,117 ****
from gnue.common import GDebug
from gnue.common.schema import GSParser, Objects
! from gnue.designer.base.Incubator import *
! def createObject(instance, schema, tag, type=None, parent=None,
! parentHint=None, attributes={}):
! GDebug.printMesg(3,'Creating a "%s" object' % tag)
! GDebug.printMesg(6,"Object's parent is %s" % parentHint)
!
! try:
! name = attributes['name']
! except KeyError:
! name = instance.getNextGenericName(tag)
!
! try:
! objclass = elements[tag]['BaseClass']
! if elements[tag].has_key('Attributes'):
! attrs = elements[tag]['Attributes']
! else:
! attrs = {}
! except KeyError:
! GDebug.printMesg(1, "Attempted to create a '%s', "
! "but I don't know what to do!" % tag)
! return
!
!
! parent = None
! if tag in ('tables',):
! parent = schema
!
! o = objclass(parent or parentHint)
!
! # Pull default values for any attributes not supplied
! for attr in attrs.keys():
! if not attributes.has_key(attr):
! if attrs[attr].has_key('Default'):
! attributes[attr] = attrs[attr]['Typecast'](attrs[attr]['Default'])
!
! for attr in attributes.keys():
! if attrs.has_key(attr):
! o.__dict__[attr] = attributes[attr]
! o.name = name
! instance.nameMappings[o.name] = o
! o._buildObject()
! instance.dispatchEvent('ObjectCreated',object=o, originator=__name__)
! instance.dispatchEvent('ObjectSelected',object=object, originator=__name__)
! return o
!
!
! def reparentObject(instance, schema, object, newParent):
! if object._parent == newParent:
! return
!
! # TODO
! pass
!
!
! def deleteObject(instance, schema, object, newCurrentObject=None, firstRun=1):
!
! if firstRun:
! newCurrentObject = object._parent
! parent = object._parent
!
! for child in object._children:
! deleteObject(instance, schema, child, firstRun=0)
!
! instance.dispatchEvent(events.Event('ObjectDeleted',object=object,
originator=__name__))
!
! if firstRun:
! o = parent
! while not isinstance(o, Objects.GSSchema):
! o._buildObject()
! o = o._parent
!
! if newCurrentObject:
! instance.dispatchEvent(events.Event('ObjectSelected',object=object,
originator=__name__))
!
!
!
! #
! # Figure out tag dependencies
! #
! elements = GSParser.getXMLelements()
! elementMapping = {}
! calcDependencies(elements, elementMapping)
!
--- 29,38 ----
from gnue.common import GDebug
from gnue.common.schema import GSParser, Objects
! from gnue.designer.base.Incubator import BaseIncubator
! class Incubator(BaseIncubator):
+ elements = GSParser.getXMLelements()
!
\ No newline at end of file
Index: gnue/designer/src/schema/Instance.py
diff -c gnue/designer/src/schema/Instance.py:1.17
gnue/designer/src/schema/Instance.py:1.18
*** gnue/designer/src/schema/Instance.py:1.17 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/schema/Instance.py Fri Dec 20 23:52:32 2002
***************
*** 30,36 ****
from gnue.designer.schema import properties as schemaProperties
from gnue.designer.base.Instance import BaseInstance
from gnue.common.schema import GSParser, Objects
! import Incubator
import wizards
# Tool support...
--- 30,36 ----
from gnue.designer.schema import properties as schemaProperties
from gnue.designer.base.Instance import BaseInstance
from gnue.common.schema import GSParser, Objects
! from Incubator import Incubator
import wizards
# Tool support...
***************
*** 47,53 ****
class Instance(BaseInstance):
def __init__(self, app, *args, **params):
! self.incubator = Incubator
self.properties = schemaProperties
self._tableMappings = {}
--- 47,53 ----
class Instance(BaseInstance):
def __init__(self, app, *args, **params):
! self.incubator = Incubator(self)
self.properties = schemaProperties
self._tableMappings = {}
Index: gnue/designer/src/schema/TemplateSupport.py
diff -c gnue/designer/src/schema/TemplateSupport.py:1.3
gnue/designer/src/schema/TemplateSupport.py:1.4
*** gnue/designer/src/schema/TemplateSupport.py:1.3 Fri Dec 20 18:56:05 2002
--- gnue/designer/src/schema/TemplateSupport.py Fri Dec 20 23:52:32 2002
***************
*** 29,35 ****
from gnue.designer.base.TemplateBase import *
from gnue.common.schema import Objects
- import Incubator
# TODO
def createRootObject(instance):
--- 29,34 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/designer/src base/Incubator.py base/PopupM...,
Jason Cater <=