[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue designer/src/SchemaViewer.py designer/src/...
From: |
Jason Cater |
Subject: |
gnue designer/src/SchemaViewer.py designer/src/... |
Date: |
Thu, 04 Jul 2002 14:45:08 -0400 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/07/04 14:45:08
Modified files:
designer/src : SchemaViewer.py
designer/src/forms: Incubator.py
designer/src/forms/LayoutEditor: DisplayDropTarget.py
forms/src : GFConfig.py
forms/src/GFObjects: GFEntry.py
Log message:
added automatic PRE-INSERT trigger creation to designer's Schema Viewer
drag-n-drop support
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/SchemaViewer.py.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/forms/Incubator.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFConfig.py.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFObjects/GFEntry.py.diff?cvsroot=OldCVS&tr1=1.62&tr2=1.63&r1=text&r2=text
Patches:
Index: gnue/designer/src/SchemaViewer.py
diff -c gnue/designer/src/SchemaViewer.py:1.6
gnue/designer/src/SchemaViewer.py:1.7
*** gnue/designer/src/SchemaViewer.py:1.6 Wed Jul 3 10:58:07 2002
--- gnue/designer/src/SchemaViewer.py Thu Jul 4 14:45:08 2002
***************
*** 419,424 ****
--- 419,438 ----
attributes['max_length'] = object.length
attributes['width'] = object.length < 30 and object.length or 30
+ try:
+ defaulttype = object.defaulttype
+ defaultval = object.defaultval
+ except AttributeError:
+ defaulttype = None
+ defaultval = None
+
+ if defaulttype == 'constant':
+ if defaultval[:1] in "\"'":
+ defaultval = defaultval[1:-2]
+ attributes['default'] = defaultval
+ defaulttype = None
+ defaultval = None
+
if hasattr(object, 'label') and len(object.label):
label = object.label
***************
*** 430,436 ****
data.append( { "Type" : "entry",
"Attributes": attributes,
! "Label": label
} )
do = wxCustomDataObject(wxCustomDataFormat("GNUeDesVisualElement"))
--- 444,452 ----
data.append( { "Type" : "entry",
"Attributes": attributes,
! "Label": label,
! "DefaultTrigger": defaulttype,
! "DefaultInfo": defaultval
} )
do = wxCustomDataObject(wxCustomDataFormat("GNUeDesVisualElement"))
Index: gnue/designer/src/forms/Incubator.py
diff -c gnue/designer/src/forms/Incubator.py:1.1
gnue/designer/src/forms/Incubator.py:1.2
*** gnue/designer/src/forms/Incubator.py:1.1 Fri Jun 28 00:03:38 2002
--- gnue/designer/src/forms/Incubator.py Thu Jul 4 14:45:08 2002
***************
*** 27,33 ****
# NOTES:
#
! from gnue.common import GDebug
from gnue.forms import GFParser, GFForm
from gnue.designer.Incubator import *
--- 27,33 ----
# NOTES:
#
! from gnue.common import GDebug, GParserHelpers
from gnue.forms import GFParser, GFForm
from gnue.designer.Incubator import *
***************
*** 67,72 ****
--- 67,78 ----
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):
***************
*** 90,95 ****
--- 96,102 ----
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()
Index: gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py
diff -c gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.5
gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.6
*** gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.5 Fri Jun
28 00:03:38 2002
--- gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py Thu Jul 4
14:45:08 2002
***************
*** 124,129 ****
--- 124,140 ----
parent = child
break
+ try:
+ defaulttype = params['DefaultType']
+ defaultval = params['DefaultVal']
+ if defaulttype == 'constant':
+ if defaultval[:1] in "\"'":
+ defaultval = defaultval [1:-2]
+ attributes['default'] = defaultval
+ except KeyError:
+ pass
+
+
createLabels = "left" # TODO:
string.lower(gConfig("CreateLabelsOnDrop"))
***************
*** 183,194 ****
# Create our new object
#
if not params['Type'] in ('selectedWidgets',):
! Incubator.createObject(
self.editor._instance,
self.editor._instance.rootObject,
params['Type'],
parent=parent,
attributes=attributes)
return d # what is returned signals the source what to do
--- 194,236 ----
# 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',):
+ try:
+ defaulttype = params['DefaultTrigger']
+ defaultval = params['DefaultInfo']
+ triggertext = ""
+ if defaulttype == 'sequence':
+ triggertext = "\n# Set default value\n" \
+ + "if not self.isEmpty():\n" \
+ + " self.autofillBySequence('%s')\n" % defaultval
+ if defaulttype == 'system' and defaultval == 'timestamp':
+ triggertext = "\n# Set default value\n" \
+ + "if not self.isEmpty():\n" \
+ + " self.value = %s.extensions.getTimeStamp()\n"
\
+ % parent.datasource
+
+
+ if triggertext:
+ Incubator.createObject(
+ self.editor._instance,
+ self.editor._instance.rootObject,
+ 'trigger',
+ parent = object,
+ attributes = {
+ '_content_': triggertext,
+ 'type': 'PRE-INSERT',
+ 'name': '%s_PreInsert' % object.name
+ })
+
+ except KeyError:
+ pass
return d # what is returned signals the source what to do
Index: gnue/forms/src/GFConfig.py
diff -c gnue/forms/src/GFConfig.py:1.9 gnue/forms/src/GFConfig.py:1.10
*** gnue/forms/src/GFConfig.py:1.9 Wed Jun 26 18:31:10 2002
--- gnue/forms/src/GFConfig.py Thu Jul 4 14:45:08 2002
***************
*** 92,97 ****
--- 92,104 ----
'Typecast' : GTypecast.text,
'Default' : 'DEFAULT' },
+ { 'Name' : 'StoreTriggersAsCDATA',
+ 'Type' : 'Setting',
+ 'Comment' : 'Hack for db encoding',
+ 'Description': 'Hack for db encoding.',
+ 'Typecast' : GTypecast.text,
+ 'Default' : 'DEFAULT' },
+
{ 'Name' : 'SplashScreenPNG',
'Type' : 'Setting',
'Comment' : 'Location of startup graphic (PNG format)',
Index: gnue/forms/src/GFObjects/GFEntry.py
diff -c gnue/forms/src/GFObjects/GFEntry.py:1.62
gnue/forms/src/GFObjects/GFEntry.py:1.63
*** gnue/forms/src/GFObjects/GFEntry.py:1.62 Wed Jun 26 18:31:10 2002
--- gnue/forms/src/GFObjects/GFEntry.py Thu Jul 4 14:45:08 2002
***************
*** 70,79 ****
--- 70,83 ----
#
self._triggerFunctions={'allowedValues':{'function':self.allowedValues,},
'autofillBySequence':{'function':self.triggerAutofillBySequence},
+ 'isEmpty':{'function':self.isEmpty},
}
self._triggerProperties={'readonly':{'set':self.setReadonly,
'get':self.getReadonly
},
+ 'value':{'set':self.triggerSetValue,
+ 'get':self.getValue
+ },
}
self._triggerSet = self.triggerSetValue
self._triggerGet = self.getValue
***************
*** 84,89 ****
--- 88,95 ----
sequenceNumber =
self._block._dataSourceLink._dataObject.triggerExtensions.getSequence(sequenceName)
self.setValue(sequenceNumber)
+ def isEmpty(self,sequenceName):
+ return self.getValue() in ("",None)
def getReadonly(self):
return self.readonly
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue designer/src/SchemaViewer.py designer/src/...,
Jason Cater <=