[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue common/src/GObjects.py designer/src/Instan...
From: |
Jason Cater |
Subject: |
gnue common/src/GObjects.py designer/src/Instan... |
Date: |
Mon, 22 Jul 2002 19:04:59 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/07/22 19:04:59
Modified files:
common/src : GObjects.py
designer/src : Instance.py MenuBar.py TemplateBase.py
TemplateParser.py
designer/src/forms: Instance.py TemplateSupport.py
designer/src/forms/LayoutEditor: LayoutEditor.py
designer/src/forms/wizards: AddDropDown.py AddEntry.py
designer/src/navigator: Instance.py
designer/src/schema: Instance.py
Added files:
designer/src/forms: WizardRunner.py
Log message:
more work on plug-in support in Designer
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GObjects.py.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/Instance.py.diff?tr1=1.60&tr2=1.61&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/MenuBar.py.diff?tr1=1.28&tr2=1.29&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TemplateBase.py.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TemplateParser.py.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/WizardRunner.py?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Instance.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/TemplateSupport.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddDropDown.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddEntry.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.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/Instance.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: gnue/common/src/GObjects.py
diff -c gnue/common/src/GObjects.py:1.37 gnue/common/src/GObjects.py:1.38
*** gnue/common/src/GObjects.py:1.37 Thu Jun 27 21:29:19 2002
--- gnue/common/src/GObjects.py Mon Jul 22 19:04:59 2002
***************
*** 28,45 ****
#
import sys
! try:
! from xml.sax import saxutils
! except ImportError:
! print """
! This GNUe tool requires PyXML to be installed.
! Please download and install PyXML from:
!
! http://pyxml.sourceforge.net/
!
! """
! sys.exit()
!
import GDebug
import string
import types
--- 28,34 ----
#
import sys
! from xml.sax import saxutils
import GDebug
import string
import types
***************
*** 71,77 ****
self.__dict__.update(params)
return self._buildObject()
!
# This is a convenience function for applications
# NOT using GParser to load an object tree.
def buildAndInitObject(self, **params):
--- 60,66 ----
self.__dict__.update(params)
return self._buildObject()
!
# This is a convenience function for applications
# NOT using GParser to load an object tree.
def buildAndInitObject(self, **params):
***************
*** 265,284 ****
parentObject = self
else:
parentObject = self._parent
- #
- # Replacing this code with code below decreased startup
- # function call time by approx 33%
- #
- # if parentObject is None:
- # return None
- #
- # while (parentObject._parent != None and parentObject._type != type):
- # parentObject = parentObject._parent
- #
- # if parentObject._type == type:
- # return parentObject
- # else:
- # return None
while 1:
if parentObject == None:
--- 254,259 ----
***************
*** 288,293 ****
--- 263,290 ----
parentObject = parentObject._parent
+ #
+ # findChildOfType
+ #
+ # Moves upward though the parents of an object till
+ # it finds the parent of the specified type
+ #
+ def findChildOfType(self, type, includeSelf=1, allowAllChildren=1):
+
+ if includeSelf and self._type == type:
+ return self
+
+ for child in self._children:
+ if child._type == type:
+ return child
+
+ if allowAllChildren:
+ for child in self._children:
+ o = child.findChildOfType(type,0, 1)
+ if o:
+ return o
+
+ return None
#
Index: gnue/designer/src/Instance.py
diff -c gnue/designer/src/Instance.py:1.60 gnue/designer/src/Instance.py:1.61
*** gnue/designer/src/Instance.py:1.60 Mon Jul 22 14:38:41 2002
--- gnue/designer/src/Instance.py Mon Jul 22 19:04:59 2002
***************
*** 34,39 ****
--- 34,41 ----
from ToolFrame import ToolFrame
from gnue.designer import VERSION, PACKAGE
from gnue.designer.Debugger import DebugSession
+ import TemplateBase
+ from TemplateParser import WizardRunner
TITLE=PACKAGE
***************
*** 47,52 ****
--- 49,56 ----
# Override these functions in your Instance
#
+ wizardRunner = WizardRunner
+
# Called to load the object from a file buffer/handle
def loadFile(self, buffer):
return None
***************
*** 95,100 ****
--- 99,105 ----
# And the MRU
RuntimeSettings.registerRuntimeSettingHandler(self, app.mru)
+
self._isdirty = 0
self._makeBackup = 1
self._isNew = 1
***************
*** 474,480 ****
def loadWizards(self, package):
templates = []
basedir = os.path.dirname(package.__file__)
! processed = [] # Base file names processed (e.g., base of Simply.py*
# is Simple) This will keep us from importing Simple
# three times if Simple.py, Simple.pyc, and Simple.lib
# all exist.
--- 479,485 ----
def loadWizards(self, package):
templates = []
basedir = os.path.dirname(package.__file__)
! processed = [] # Base file names processed (e.g., base of Simple.py*
# is Simple) This will keep us from importing Simple
# three times if Simple.py, Simple.pyc, and Simple.lib
# all exist.
Index: gnue/designer/src/MenuBar.py
diff -c gnue/designer/src/MenuBar.py:1.28 gnue/designer/src/MenuBar.py:1.29
*** gnue/designer/src/MenuBar.py:1.28 Mon Jul 22 14:38:41 2002
--- gnue/designer/src/MenuBar.py Mon Jul 22 19:04:59 2002
***************
*** 49,55 ****
def addWizardLocation(self, location, template):
#print "Adding %s" % location
! self._menuMappings[location] = WizardRunner(template,
string.split(location,'|')[-1],
self._frame)
--- 49,55 ----
def addWizardLocation(self, location, template):
#print "Adding %s" % location
! self._menuMappings[location] = self._frame.wizardRunner(template,
string.split(location,'|')[-1],
self._frame)
***************
*** 140,147 ****
self.__addMenuEvent('File|New|%s' % tool, id, frame.OnNew)
- ## self._fileNew.Append(ID_NEW_FORM,_('&Form'), _("Create a new form"))
- ## self._fileNew.Append(ID_NEW_REPORT,_('&Report'), _("Create a new
report"))
self._fileNew.AppendSeparator()
self._fileNew.Append(ID_NEW_WIZARD,_('from &Wizard...'), \
_("Create a new object from a wizard"))
--- 140,145 ----
***************
*** 291,318 ****
def AppendMenu(self, wxId, text, menu):
self.Append(menu, text)
-
- import TemplateParser
-
- class WizardRunner:
- def __init__(self, template, title, instance):
- self.template = template
- self.instance = instance
-
- self.wxId = wxNewId()
- self.title = title
- self.checkable = 0
- try:
- self.tooltip = template['Description']
- except KeyError:
- self.tooltip = ""
-
- def run(self, event):
- TemplateParser.TemplateParser(self.instance, self.instance.rootObject,
- self.instance, self.template).run()
-
- def finalize(self):
- pass
class ToolRunner:
--- 289,294 ----
Index: gnue/designer/src/TemplateBase.py
diff -c gnue/designer/src/TemplateBase.py:1.14
gnue/designer/src/TemplateBase.py:1.15
*** gnue/designer/src/TemplateBase.py:1.14 Mon Jul 22 00:09:40 2002
--- gnue/designer/src/TemplateBase.py Mon Jul 22 19:04:59 2002
***************
*** 244,246 ****
--- 244,247 ----
self.maxSelections = maxSelections
self.orderable = orderable
+
Index: gnue/designer/src/TemplateParser.py
diff -c gnue/designer/src/TemplateParser.py:1.15
gnue/designer/src/TemplateParser.py:1.16
*** gnue/designer/src/TemplateParser.py:1.15 Fri Jul 19 19:21:12 2002
--- gnue/designer/src/TemplateParser.py Mon Jul 22 19:04:59 2002
***************
*** 31,37 ****
from gnue.common import dyn_import
class TemplateParser:
! def __init__(self, instance, rootObject, parent,
templateInformation, currentObject=None):
self.parent = parent
self.instance = instance
--- 31,37 ----
from gnue.common import dyn_import
class TemplateParser:
! def __init__(self, instance, rootObject, parent,
templateInformation, currentObject=None):
self.parent = parent
self.instance = instance
***************
*** 42,57 ****
self.elements =
dyn_import('gnue.designer.%s.Incubator'%templateInformation['Product']).elements
! def run(self):
self.template = self.templateInformation['BaseClass'](self)
! self.template.Start(self.rootObject, self.currentObject or
self.rootObject)
# If this is simply a template and not a wizard,
# generate the results and get out of Dodge.
if self.templateInformation['Behavior'] == TemplateBase.TEMPLATE:
! return self.template.GetFinal()
self.wizard = wxDialog(self.parent, -1, self.templateInformation['Name'],
style=wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL)
--- 42,59 ----
self.elements =
dyn_import('gnue.designer.%s.Incubator'%templateInformation['Product']).elements
! def run(self, **params):
self.template = self.templateInformation['BaseClass'](self)
! self.template.Start(self.rootObject,
! self.currentObject or self.rootObject,
! **params)
# If this is simply a template and not a wizard,
# generate the results and get out of Dodge.
if self.templateInformation['Behavior'] == TemplateBase.TEMPLATE:
! return self.template.Finalize()
self.wizard = wxDialog(self.parent, -1, self.templateInformation['Name'],
style=wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL)
***************
*** 475,481 ****
self.addButton.Enable(0)
! for i in self.list1.GetSelections():
self.list1.SetSelection(i,0)
def OnSelectAll(self, event):
--- 477,483 ----
self.addButton.Enable(0)
! for i in self.list1.GetSelections():
self.list1.SetSelection(i,0)
def OnSelectAll(self, event):
***************
*** 556,559 ****
--- 558,581 ----
self.list2.InsertItems([prevText],i)
+
+ class WizardRunner:
+ def __init__(self, template, title, instance):
+ self.template = template
+ self.instance = instance
+
+ self.wxId = wxNewId()
+ self.title = title
+ self.checkable = 0
+ try:
+ self.tooltip = template['Description']
+ except KeyError:
+ self.tooltip = ""
+
+ def run(self, event):
+ TemplateParser(self.instance, self.instance.rootObject,
+ self.instance, self.template).run()
+
+ def finalize(self):
+ pass
Index: gnue/designer/src/forms/Instance.py
diff -c gnue/designer/src/forms/Instance.py:1.11
gnue/designer/src/forms/Instance.py:1.12
*** gnue/designer/src/forms/Instance.py:1.11 Thu Jul 11 01:39:02 2002
--- gnue/designer/src/forms/Instance.py Mon Jul 22 19:04:59 2002
***************
*** 32,37 ****
--- 32,38 ----
from gnue.designer import PopupMenu
import Incubator
import wizards
+ from WizardRunner import WizardRunner
# Tool support...
from LayoutEditor import LayoutEditor
***************
*** 53,58 ****
--- 54,60 ----
self.incubator = Incubator
self.properties = formProperties
+ self.wizardRunner = WizardRunner
# TODO: Can we make it so the GFInstance is not
# TODO: part of the main Instance class, but an
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.27
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.28
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.27 Fri Jul 19
19:21:12 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py Mon Jul 22
19:04:59 2002
***************
*** 33,38 ****
--- 33,39 ----
from gnue.forms.uidrivers.wx import UIdriver as UIwxpython
from gnue.designer.PopupMenu import PageMenu
from gnue.designer.forms import Incubator
+ from gnue.designer.TemplateParser import TemplateParser
# My support files
from Utils import *
***************
*** 425,491 ****
areaSelected = (x1 <> x2 or y1 <> y2)
if self.mode == 'move':
if areaSelected:
# We are selecting an area
self.page.walk(self.selectWidgetInArea, x1, y1, x2, y2)
! else:
!
! # We are creating a widget
!
! mode = self.mode
! self.toolbar.resetTool(mode)
! self.mode = 'move'
!
! type = None
! attributes = {'x' : x1, 'y' : y1}
! parent = self.block
! checkblock = 1
if areaSelected:
! attributes['width'] = x2 - x1 + 1
! attributes['height'] = y2 - y1 + 1
! if mode in ('box','button','label'):
! parent = self.page
! type = mode
! checkblock = 0
!
! elif modeEntryMap.has_key(mode):
! type = 'entry'
! attributes.update(modeEntryMap[mode])
!
! elif mode in ('scrollbar',):
! type = 'scrollbar'
!
!
! # Create a new block if one is needed and none exists
! if checkblock and self.block is None:
!
! parent = Incubator.createObject(
! self._instance,
! self._instance.rootObject,
! 'block',
! parent=self.page,
! attributes={})
!
!
! if type is not None:
! #
! # Create our new object
! #
! object = Incubator.createObject(
! self._instance,
! self._instance.rootObject,
! type,
! parent=parent,
! attributes=attributes)
- self._currentSelection[object._widgetHandler] = 1
- object._widgetHandler.setSelected(1)
-
- event.Skip()
def selectWidgetInArea(self, object, x1, y1, x2, y2):
--- 426,449 ----
areaSelected = (x1 <> x2 or y1 <> y2)
+ event.Skip()
+
if self.mode == 'move':
if areaSelected:
# We are selecting an area
self.page.walk(self.selectWidgetInArea, x1, y1, x2, y2)
! elif self.mode == 'positioning':
if areaSelected:
! width = x2 - x1 + 1
! height = y2 - y1 + 1
! else:
! width = None
! height = None
! self.endPrePositioningTemplate(x1, y1, width, height)
def selectWidgetInArea(self, object, x1, y1, x2, y2):
***************
*** 562,616 ****
widget.relativeMove(0,1)
! #
! #
! #
! ##class FeedbackBitmap:
! ## def __init__(self, width, height):
! ##
! ## if width < 2: width = 2
! ## if height < 2: height = 2
! ##
! ### topbot = '"' + ". " * int(width/2) + divmod(width,2)[1] * '.' + '"'
! ## topbot = '"' + ".." * int(width/2) + divmod(width,2)[1] * '.' + '"'
! ## mid = '".' + " " * (width - 2) + '.",\n'
! ##
! ## xpm = '/* XPM */\n' \
! ## + 'static char * text1_xpm[] = {\n' \
! ## + '"%s %s 2 1",\n' % (width, height) \
! ## + '" g None",\n' \
! ## + '". g #000000",\n' \
! ## + topbot + '\n' \
! ## + mid * (height - 2) + topbot + '};\n'
! ##
! ## print xpm
! ##
! ## self.bitmap=wxResourceRegisterIconData("mymoveicon",xpm)
! ## print self.bitmap
! ### dc = wxMemoryDC()
! ### dc.SelectObject(self.bitmap)
! ### dc.BeginDrawing()
! ### dc.DrawRectangle(0,0,width, height)
! ### dc.SetBrush(wxBLACK_BRUSH)
! ### dc.SetPen(wxBLACK_PEN)
! ### dc.EndDrawing()
! ### self._icon = wxIcon(width, height)
! ## print self.bitmap
! ##
! ##
! ## def icon(self):
! ### return self._icon
! ## return self.bitmap
!
! modeEntryMap = {
! 'entrynum': { 'typecast': 'number'},
! 'entrytext': { 'typecast': 'text' },
! 'entrydate': { 'typecast': 'date' },
! 'entrydrop': { 'typecast': 'text',
! 'style':'dropdown' },
! 'entrycheck': { 'typecast': 'text',
! 'style':'checkbox' } }
!
--- 520,534 ----
widget.relativeMove(0,1)
! def startPrePositioningTemplate(self, template):
! self.mode = 'positioning'
! self.__template = template
! def endPrePositioningTemplate(self, x, y, width=None, height=None):
! TemplateParser(self._instance, self._instance.rootObject,
! self._instance, self.__template, currentObject=self.block or
self.page).run(x=x, y=y,
! width=width,
! height=height)
! self.mode = 'move'
Index: gnue/designer/src/forms/TemplateSupport.py
diff -c gnue/designer/src/forms/TemplateSupport.py:1.2
gnue/designer/src/forms/TemplateSupport.py:1.3
*** gnue/designer/src/forms/TemplateSupport.py:1.2 Mon Jul 22 14:38:41 2002
--- gnue/designer/src/forms/TemplateSupport.py Mon Jul 22 19:04:59 2002
***************
*** 62,82 ****
class FormPrePositioningTemplate(FormTemplate):
# Initialize user code
! def Start(self, root, current):
! # __pos is set in __init__ (by passed values)
return self.StartWithPositioning(root, current,
! **self.__pos)
! def StartWithPositioning(self, root, current, x=0, y=0, width=10, height=1):
pass
def __init__(self, *args, **params):
- # The form LayoutEditor passes the _pos_ information for us...
- if params.has_key('_pos_'):
- self.__pos = params['_pos_']
- del params['_pos_']
FormTemplate.__init__(self, *args, **params)
-
--- 62,77 ----
class FormPrePositioningTemplate(FormTemplate):
# Initialize user code
! def Start(self, root, current, **params):
return self.StartWithPositioning(root, current,
! **params)
! def StartWithPositioning(self, root, current, x=0, y=0,
! width=None, height=None):
pass
def __init__(self, *args, **params):
FormTemplate.__init__(self, *args, **params)
Index: gnue/designer/src/forms/wizards/AddDropDown.py
diff -c gnue/designer/src/forms/wizards/AddDropDown.py:1.2
gnue/designer/src/forms/wizards/AddDropDown.py:1.3
*** gnue/designer/src/forms/wizards/AddDropDown.py:1.2 Mon Jul 22 14:38:41 2002
--- gnue/designer/src/forms/wizards/AddDropDown.py Mon Jul 22 19:04:59 2002
***************
*** 78,96 ****
#
def GetStep(self, step):
#
# Step #0 / Get Name
#
if step == '0':
! content = [WizardText('This will insert a new page.'),
WizardInput('name',label='Object Name:',required=1,size=20)]
if hasattr(self.form,'tabbed') and self.form.tabbed:
content.append(WizardInput('caption', label='Tab Caption: ',
required=1,
size=20))
! return { 'title': 'Add Page',
'content': content,
'prev': None,
'next': None }
--- 78,101 ----
#
def GetStep(self, step):
+ # 0 - Get name / Source (existing datasource, new
+ # bound datasource, fixed set of choices)
+ # 1 - Select / Create Source
+
+
#
# Step #0 / Get Name
#
if step == '0':
! content = [WizardText('This will insert a new dropdown-style entry.'),
WizardInput('name',label='Object Name:',required=1,size=20)]
if hasattr(self.form,'tabbed') and self.form.tabbed:
content.append(WizardInput('caption', label='Tab Caption: ',
required=1,
size=20))
! return { 'title': 'Add Dropdown-style Entry',
'content': content,
'prev': None,
'next': None }
Index: gnue/designer/src/forms/wizards/AddEntry.py
diff -c gnue/designer/src/forms/wizards/AddEntry.py:1.1
gnue/designer/src/forms/wizards/AddEntry.py:1.2
*** gnue/designer/src/forms/wizards/AddEntry.py:1.1 Mon Jul 22 14:38:41 2002
--- gnue/designer/src/forms/wizards/AddEntry.py Mon Jul 22 19:04:59 2002
***************
*** 34,48 ****
import string
-
class AddEntryWizard(FormPrePositioningTemplate):
- # The first step in our wizard.
- # The template parser will initially
- # call GetStep(FIRST_STEP).
- FIRST_STEP = '0'
-
###############
#
--- 34,42 ----
***************
*** 54,61 ****
self.current = current
self.x = x
self.y = y
! self.width = 10
! self.height = 1
--- 48,55 ----
self.current = current
self.x = x
self.y = y
! self.width = width
! self.height = height
***************
*** 68,81 ****
def Finalize(self):
! attrs = {'name': self.variables['name'] or 'Entry_1'}
!
! try:
! attrs['caption'] = self.variables['caption'] or 'New Tab'
! except KeyError:
! pass
!
! page = self.AddElement('page', self.form, attrs)
return 1
--- 62,83 ----
def Finalize(self):
! attrs = {'name': 'Entry_1',
! 'x': self.x,
! 'y': self.y,
! 'width': self.width or 10,
! 'height': self.height or 1}
!
!
! # Find or create parent block...
! block = self.current.findChildOfType('GFBlock')
! if not block:
! page = self.current.findChildOfType('GFPage')
! block = self.AddElement('block', page)
!
!
! # Create entry element
! entry = self.AddElement('entry', block, attrs)
return 1
***************
*** 92,98 ****
'Description' : 'Inserts a basic unbound entry',
'Version' : VERSION,
'Author' : 'The GNUe Designer Team',
! 'Behavior': WIZARD,
'Location' : 'Tools|Insert|Unbound Entry'
}
--- 94,100 ----
'Description' : 'Inserts a basic unbound entry',
'Version' : VERSION,
'Author' : 'The GNUe Designer Team',
! 'Behavior': TEMPLATE,
'Location' : 'Tools|Insert|Unbound Entry'
}
Index: gnue/designer/src/navigator/Instance.py
diff -c gnue/designer/src/navigator/Instance.py:1.5
gnue/designer/src/navigator/Instance.py:1.6
*** gnue/designer/src/navigator/Instance.py:1.5 Tue Jul 9 00:03:45 2002
--- gnue/designer/src/navigator/Instance.py Mon Jul 22 19:04:59 2002
***************
*** 1,6 ****
#
- # Copyright 2001-2002 Free Software Foundation
- #
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
--- 1,4 ----
***************
*** 18,23 ****
--- 16,23 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
+ # Copyright 2001-2002 Free Software Foundation
+ #
# FILE:
# navigator/Instance.py
#
***************
*** 47,54 ****
def __init__(self, app, *args, **params):
! self.properties = navProperties
! BaseInstance.__init__(self, app, *args, **params)
def loadBuffer(self, buffer):
--- 47,55 ----
def __init__(self, app, *args, **params):
! self.properties = navProperties
!
! BaseInstance.__init__(self, app, *args, **params)
def loadBuffer(self, buffer):
Index: gnue/designer/src/schema/Instance.py
diff -c gnue/designer/src/schema/Instance.py:1.6
gnue/designer/src/schema/Instance.py:1.7
*** gnue/designer/src/schema/Instance.py:1.6 Mon Jul 22 00:09:40 2002
--- gnue/designer/src/schema/Instance.py Mon Jul 22 19:04:59 2002
***************
*** 47,52 ****
--- 47,53 ----
def __init__(self, app, *args, **params):
self.incubator = Incubator
self.properties = schemaProperties
+
self._tableMappings = {}
BaseInstance.__init__(self, app, *args, **params)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue common/src/GObjects.py designer/src/Instan...,
Jason Cater <=