[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue forms/src/GFObjects/GFBlock.py forms/sampl...
From: |
Jan Ischebeck |
Subject: |
gnue forms/src/GFObjects/GFBlock.py forms/sampl... |
Date: |
Tue, 30 Jul 2002 15:34:05 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jan Ischebeck <address@hidden> 02/07/30 15:34:00
Modified files:
forms/src/GFObjects: GFBlock.py
forms/samples/track/sql: dbschema.gsd
designer/src/forms/wizards: CreateSchema.py
Log message:
add delete/next/prev record trigger functions to GFBlocks
improved datatype detection in the CreateSchema wizard
updated wizard example
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFObjects/GFBlock.py.diff?tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/samples/track/sql/dbschema.gsd.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/CreateSchema.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: gnue/designer/src/forms/wizards/CreateSchema.py
diff -c gnue/designer/src/forms/wizards/CreateSchema.py:1.7
gnue/designer/src/forms/wizards/CreateSchema.py:1.8
*** gnue/designer/src/forms/wizards/CreateSchema.py:1.7 Thu Jul 25 20:52:57 2002
--- gnue/designer/src/forms/wizards/CreateSchema.py Tue Jul 30 15:33:59 2002
***************
*** 34,39 ****
--- 34,40 ----
from gnue.designer.schema.parser.Objects import *
import string
+
class CreateSchemaWizard(FormTemplate):
***************
*** 45,50 ****
--- 46,78 ----
###############
#
+ # Define some settings, which could be configured
+ #
+
+ # the DEFAULT data type
+ DEFAULT_TYPE="varchar"
+
+ # the data type for numeric fields
+ NUMERIC_TYPE="int"
+
+ # the data type for text fields
+ TEXT_TYPE="text"
+
+ # the data type for string/char/varchar fields
+ STRING_TYPE="varchar"
+
+ # the data type for date fields
+ DATE_TYPE="date"
+
+ # the data type for boolean fields
+ DATE_TYPE="boolean"
+
+ # The default length of varchar fields in a database
+ DEFAULT_SIZE = 30
+
+
+ ###############
+ #
# Initialize any runtime variables
#
def Start(self, root, current):
***************
*** 169,195 ****
table=self.tablelist[string.lower(myblock.datasource)]
! style = 'varchar' # standart type
! if hasattr(obj,'style') and obj.style=='checkbox':
! type = 'boolean'
! if hasattr(obj,'numeric'):
! type = 'int'
if hasattr(obj,'typecast'):
if obj.typecast=='number':
! type = 'int'
if obj.typecast=='date':
! type = 'date'
! if obj.typecast=='text': # reset previous numeric fields
! type = 'varchar'
!
! if hasattr(obj,'max_length'):
! self.AddField(table, obj.field, 'varchar', obj.max_length)
else:
! self.AddField(table, obj.field, 'varchar')
#
# add fields to the table referenced in dropdowns
--- 197,240 ----
table=self.tablelist[string.lower(myblock.datasource)]
! type = self.DEFAULT_TYPE # standart type
! if hasattr(obj,'style') and obj.style == 'checkbox':
! type = self.BOOLEAN_TYPE
! if hasattr(obj,'numeric') and obj.numeric==1:
! type = self.NUMERIC_TYPE
!
! if hasattr(obj,'height') and obj.height>1:
! type = self.TEXT_TYPE
if hasattr(obj,'typecast'):
if obj.typecast=='number':
! type = self.NUMERIC_TYPE
!
if obj.typecast=='date':
! type = self.DATE_TYPE
!
! if obj.typecast=='text' and hasattr(obj,'numeric') and \
! obj.numeric==1: # reset previous numeric fields
! type = self.STRING_TYPE
!
! # string type needs a definit size
! if type == self.STRING_TYPE:
!
! size = self.DEFAULT_SIZE
!
! if hasattr(obj,'max_length'):
! size = obj.max_length
!
! elif hasattr(obj,'width'):
! size = obj.width
!
! self.AddField(table, obj.field, self.STRING_TYPE, size)
else:
!
! self.AddField(table, obj.field, type)
#
# add fields to the table referenced in dropdowns
***************
*** 200,211 ****
table=self.tablelist[string.lower(obj.fk_source)]
# add 'fk_key' field
! self.AddField(table, obj.fk_key, 'varchar')
if hasattr(obj,'fk_description'):
# add 'fk_description' field
! self.AddField(table, obj.fk_description, 'varchar')
elif obj._type=='GFDataSource':
--- 245,260 ----
table=self.tablelist[string.lower(obj.fk_source)]
# add 'fk_key' field
! if type == self.STRING_TYPE:
! self.AddField(table, obj.fk_key, type, size)
!
! else:
! self.AddField(table, obj.fk_key, type)
if hasattr(obj,'fk_description'):
# add 'fk_description' field
! self.AddField(table, obj.fk_description, self.STRING_TYPE)
elif obj._type=='GFDataSource':
***************
*** 231,238 ****
nfk_ref=GSConstraintRef(newconstraint)
nfk_ref.name=obj.masterlink
! # create a field for that key
! self.AddField(table, obj.detaillink, 'varchar')
if self.tablelist[string.lower(obj.master)]:
--- 280,289 ----
nfk_ref=GSConstraintRef(newconstraint)
nfk_ref.name=obj.masterlink
! # create a field for that key, use string type for now
! # TODO: Check if detaillink or masterlink type is defined
! # if it one of the two is defined, then use the definition for both
! self.AddField(table, obj.detaillink, self.DEFAULT_TYPE)
if self.tablelist[string.lower(obj.master)]:
***************
*** 247,254 ****
pkeyf=GSPKField(pkey)
pkeyf.name=obj.masterlink
! # add field
! self.AddField(mtable, obj.masterlink, 'varchar')
elif oldpkey.name!=obj.masterlink:
print "WARNING: different primary keys computed out of "+\
--- 298,305 ----
pkeyf=GSPKField(pkey)
pkeyf.name=obj.masterlink
! # add field to master table, using default type
! self.AddField(mtable, obj.masterlink, self.DEFAULT_TYPE)
elif oldpkey.name!=obj.masterlink:
print "WARNING: different primary keys computed out of "+\
***************
*** 270,279 ****
if child._type == 'GSField' and child.name==fieldname:
# field already exists, so returning
# (possibly updating fieldtype here)
! if type!='varchar':
child.type=type
if length!=None:
! child.size=length
return
# create field
--- 321,331 ----
if child._type == 'GSField' and child.name==fieldname:
# field already exists, so returning
# (possibly updating fieldtype here)
! if type!=self.DEFAULT_TYPE:
child.type=type
+
if length!=None:
! child.size=int(length)
return
# create field
***************
*** 281,287 ****
newfield.name=fieldname
newfield.type=type
if length!=None:
! newfield.size=length
--- 333,341 ----
newfield.name=fieldname
newfield.type=type
if length!=None:
! newfield.size=int(length)
! elif type==self.STRING_TYPE:
! newfield.size=self.DEFAULT_SIZE
Index: gnue/forms/samples/track/sql/dbschema.gsd
diff -c gnue/forms/samples/track/sql/dbschema.gsd:1.4
gnue/forms/samples/track/sql/dbschema.gsd:1.5
*** gnue/forms/samples/track/sql/dbschema.gsd:1.4 Thu Jul 25 20:52:56 2002
--- gnue/forms/samples/track/sql/dbschema.gsd Tue Jul 30 15:33:59 2002
***************
*** 5,16 ****
<tables>
<table name="person">
<fields>
! <field name="id" type="varchar"/>
! <field name="first_name" type="varchar"/>
! <field name="last_name" type="varchar"/>
! <field name="irc_handle" type="varchar"/>
! <field name="url" type="varchar"/>
! <field name="assignment_status" type="varchar"/>
</fields>
<constraints/>
<primarykey name="pk_person_id">
--- 5,16 ----
<tables>
<table name="person">
<fields>
! <field name="id" size="10" type="varchar"/>
! <field name="first_name" size="30" type="varchar"/>
! <field name="last_name" size="30" type="varchar"/>
! <field name="irc_handle" size="30" type="varchar"/>
! <field name="url" size="65" type="varchar"/>
! <field name="assignment_status" size="65" type="varchar"/>
</fields>
<constraints/>
<primarykey name="pk_person_id">
***************
*** 19,32 ****
</table>
<table name="address">
<fields>
! <field name="personid" type="varchar"/>
! <field name="address_type" type="varchar"/>
! <field name="addr1" type="varchar"/>
! <field name="addr2" type="varchar"/>
! <field name="city" type="varchar"/>
! <field name="state" type="varchar"/>
! <field name="zip" type="varchar"/>
! <field name="country" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_address_personid" type="foreignkey">
--- 19,32 ----
</table>
<table name="address">
<fields>
! <field name="personid" size="30" type="varchar"/>
! <field name="address_type" size="20" type="varchar"/>
! <field name="addr1" size="30" type="varchar"/>
! <field name="addr2" size="30" type="varchar"/>
! <field name="city" size="15" type="varchar"/>
! <field name="state" size="3" type="varchar"/>
! <field name="zip" size="10" type="varchar"/>
! <field name="country" size="30" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_address_personid" type="foreignkey">
***************
*** 37,48 ****
</table>
<table name="phone">
<fields>
! <field name="personid" type="varchar"/>
! <field name="phone_type" type="varchar"/>
! <field name="areacode" type="varchar"/>
! <field name="prefix" type="varchar"/>
! <field name="suffix" type="varchar"/>
! <field name="extension" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_phone_personid" type="foreignkey">
--- 37,48 ----
</table>
<table name="phone">
<fields>
! <field name="personid" size="30" type="varchar"/>
! <field name="phone_type" size="20" type="varchar"/>
! <field name="areacode" size="5" type="varchar"/>
! <field name="prefix" size="5" type="varchar"/>
! <field name="suffix" size="7" type="varchar"/>
! <field name="extension" size="9" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_phone_personid" type="foreignkey">
***************
*** 53,61 ****
</table>
<table name="email">
<fields>
! <field name="personid" type="varchar"/>
! <field name="email_type" type="varchar"/>
! <field name="email" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_email_personid" type="foreignkey">
--- 53,61 ----
</table>
<table name="email">
<fields>
! <field name="personid" size="30" type="varchar"/>
! <field name="email_type" size="20" type="varchar"/>
! <field name="email" size="30" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_email_personid" type="foreignkey">
***************
*** 66,106 ****
</table>
<table name="address_type">
<fields>
! <field name="id" type="varchar"/>
! <field name="description" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="phone_type">
<fields>
! <field name="id" type="varchar"/>
! <field name="description" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="email_type">
<fields>
! <field name="id" type="varchar"/>
! <field name="description" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="assignment_status">
<fields>
! <field name="id" type="varchar"/>
! <field name="status" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="history">
<fields>
! <field name="person" type="varchar"/>
! <field name="subject" type="varchar"/>
! <field name="contact_date" type="varchar"/>
! <field name="notes" type="varchar"/>
! <field name="contact_type" type="varchar"/>
! <field name="location" type="varchar"/>
! <field name="duration" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_history_person" type="foreignkey">
--- 66,106 ----
</table>
<table name="address_type">
<fields>
! <field name="id" size="20" type="varchar"/>
! <field name="description" size="30" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="phone_type">
<fields>
! <field name="id" size="20" type="varchar"/>
! <field name="description" size="30" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="email_type">
<fields>
! <field name="id" size="20" type="varchar"/>
! <field name="description" size="30" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="assignment_status">
<fields>
! <field name="id" size="65" type="varchar"/>
! <field name="status" size="30" type="varchar"/>
</fields>
<constraints/>
</table>
<table name="history">
<fields>
! <field name="person" size="30" type="varchar"/>
! <field name="subject" size="53" type="varchar"/>
! <field name="contact_date" size="13" type="varchar"/>
! <field name="notes" type="text"/>
! <field name="contact_type" size="24" type="varchar"/>
! <field name="location" size="28" type="varchar"/>
! <field name="duration" size="13" type="varchar"/>
</fields>
<constraints>
<constraint name="fk_history_person" type="foreignkey">
Index: gnue/forms/src/GFObjects/GFBlock.py
diff -c gnue/forms/src/GFObjects/GFBlock.py:1.51
gnue/forms/src/GFObjects/GFBlock.py:1.52
*** gnue/forms/src/GFObjects/GFBlock.py:1.51 Sun May 19 12:06:04 2002
--- gnue/forms/src/GFObjects/GFBlock.py Tue Jul 30 15:33:59 2002
***************
*** 75,80 ****
--- 75,83 ----
self._triggerFunctions={'clear':{'function':self.processClear},
'gotoRecord':{'function':self.jumpRecord},
'newRecord':{'function':self.newRecord},
+ 'nextRecord':{'function':self.nextRecord},
+ 'prevRecord':{'function':self.prevRecord},
+ 'deleteRecord':{'function':self.deleteRecord},
}
def __getitem__(self, index):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue forms/src/GFObjects/GFBlock.py forms/sampl...,
Jan Ischebeck <=