[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/designer src/reports/Incubator.py src/repo...
From: |
Bajusz Tamás |
Subject: |
gnue/designer src/reports/Incubator.py src/repo... |
Date: |
Fri, 20 Dec 2002 03:47:25 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Bajusz Tamás <address@hidden> 02/12/20 03:47:25
Modified files:
designer/src/reports: Incubator.py TemplateSupport.py
designer/templates/reports: Labels.py MailMerge.py
SimpleReport.py
Log message:
R
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/Incubator.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/reports/TemplateSupport.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/templates/reports/Labels.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/templates/reports/MailMerge.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/templates/reports/SimpleReport.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: gnue/designer/src/reports/Incubator.py
diff -c gnue/designer/src/reports/Incubator.py:1.3
gnue/designer/src/reports/Incubator.py:1.4
*** gnue/designer/src/reports/Incubator.py:1.3 Mon Nov 25 00:41:42 2002
--- gnue/designer/src/reports/Incubator.py Fri Dec 20 03:47:25 2002
***************
*** 27,38 ****
# NOTES:
#
! from gnue.common import GDebug
from gnue.reports import GRParser, GRReport, GRLayout
from gnue.designer.Incubator import *
def createObject(instance, report, tag, type=None, parent=None,
! parentHint=None, attributes={}):
GDebug.printMesg(3,'Creating a "%s" object' % tag)
--- 27,38 ----
# NOTES:
#
! from gnue.common import GDebug, GParserHelpers
from gnue.reports import GRParser, GRReport, GRLayout
from gnue.designer.Incubator import *
def createObject(instance, report, tag, type=None, parent=None,
! parentHint=None, attributes={}, select=1):
GDebug.printMesg(3,'Creating a "%s" object' % tag)
***************
*** 41,47 ****
try:
name = attributes['name']
except KeyError:
! name = instance.getNextGenericName(tag)
try:
objclass = elements[tag]['BaseClass']
--- 41,50 ----
try:
name = attributes['name']
except KeyError:
! if tag.find(':'):
! name = tag[tag.find(':')+1:]
! else:
! name = instance.getNextGenericName(tag)
try:
objclass = elements[tag]['BaseClass']
***************
*** 49,80 ****
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 ('layout',):
- parent = report
-
- 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(events.Event('ObjectCreated',object=o,
originator=__name__))
! instance.dispatchEvent(events.Event('ObjectSelected',object=object,
originator=__name__))
return o
--- 52,109 ----
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
***************
*** 88,101 ****
def deleteObject(instance, report, object, newCurrentObject=None, firstRun=1):
! if firstRun:
! newCurrentObject = object._parent
! parent = object._parent
!
! for child in object._children:
! child.deleteObject(instance, report, child, firstRun=0)
!
! instance.dispatchEvent(events.Event('ObjectDeleted',object=object,
originator=__name__))
if firstRun:
o = parent
--- 117,130 ----
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
***************
*** 104,110 ****
o = o._parent
if newCurrentObject:
! instance.dispatchEvent(events.Event('ObjectSelected',object=object,
originator=__name__))
--- 133,139 ----
o = o._parent
if newCurrentObject:
! instance.dispatchEvent('ObjectSelected',object=object,
originator=__name__)
Index: gnue/designer/src/reports/TemplateSupport.py
diff -c gnue/designer/src/reports/TemplateSupport.py:1.4
gnue/designer/src/reports/TemplateSupport.py:1.5
*** gnue/designer/src/reports/TemplateSupport.py:1.4 Thu Nov 14 09:48:16 2002
--- gnue/designer/src/reports/TemplateSupport.py Fri Dec 20 03:47:25 2002
***************
*** 30,38 ****
from gnue.designer.TemplateBase import *
import Incubator
from gnue.reports.GRReport import GRReport
! from gnue.common import GParserHelpers
! from gnue.reports import GRLayout
! # TODO
def createRootObject(instance):
return GRReport.GRReport()
--- 30,37 ----
from gnue.designer.TemplateBase import *
import Incubator
from gnue.reports.GRReport import GRReport
!
!
def createRootObject(instance):
return GRReport.GRReport()
***************
*** 48,69 ****
# Initialize user code
def Start(self, root):
pass
-
-
- def AddContent(self, parent, content):
- GParserHelpers.GContent(parent, content)
-
- def AddElement(self, tag, parent, attributes={}, ns=None):
- if ns:
- o = GRLayout.GRPassThru(parent)
- o._xmltag = tag
- o._xmlnamespace = ns
- o._listedAttributes = attributes.keys()
- else:
- o = self.parser.elements[tag]['BaseClass'](parent)
-
- o.__dict__.update(attributes)
- o._buildObject()
- self.parser.instance.onCreateObject(o, __name__)
- return o
-
--- 47,49 ----
Index: gnue/designer/templates/reports/Labels.py
diff -c gnue/designer/templates/reports/Labels.py:1.2
gnue/designer/templates/reports/Labels.py:1.3
*** gnue/designer/templates/reports/Labels.py:1.2 Mon Dec 16 16:25:01 2002
--- gnue/designer/templates/reports/Labels.py Fri Dec 20 03:47:25 2002
***************
*** 148,154 ****
tableKey = string.upper(self.variables['table'][0]) + \
string.replace(self.variables['table'][1:],' ','_')
! sources = self.AddElement('sources', self.report, {})
# Create a single datasource based on user's input
datasource = self.AddElement('datasource', sources,
--- 148,160 ----
tableKey = string.upper(self.variables['table'][0]) + \
string.replace(self.variables['table'][1:],' ','_')
! sources = None
! for child in self.report._children:
! if child._type == 'GRSources':
! sources = child
! break
! if not sources:
! sources = self.AddElement('sources', self.report, {})
# Create a single datasource based on user's input
datasource = self.AddElement('datasource', sources,
***************
*** 169,190 ****
if field.name in self.variables['fields']:
fields[field.name] = field
- # TODO: This needs to add namespaces!
- # TODO: When this happens, remove the default namespace
- # TODO: hack in GNUe Reports' GREngine
! layout = self.AddElement('layout', self.report, {})
! ns = 'GNUe:Reports:Labels'
! out_labels = self.AddElement('labels', layout, {}, ns)
section = self.AddElement('section', out_labels, {'source':
datasource.name})
! out_label = self.AddElement('label', section, {}, ns)
! out_region = self.AddElement('region', out_label, {'name':"primary"}, ns)
# Add each field
for name in self.variables['fields']:
field = fields[name]
! out_line = self.AddElement('line', out_region, {}, ns)
self.AddElement('field', out_line, {'name':field.name})
# That's it... we're done.
--- 175,200 ----
if field.name in self.variables['fields']:
fields[field.name] = field
! layout = None
! for child in self.report._children:
! if child._type == 'GRLayout':
! layout = child
! break
! if not layout:
! layout = self.AddElement('layout', self.report, {})
!
! self.report.findChildOfType('GRLayout')._xmlchildnamespace =
'GNUe:Reports:Labels'
! out_labels = self.AddElement('out:labels', layout, {})
section = self.AddElement('section', out_labels, {'source':
datasource.name})
! out_label = self.AddElement('out:label', section, {})
! out_region = self.AddElement('out:region', out_label, {'name':"primary"})
# Add each field
for name in self.variables['fields']:
field = fields[name]
! out_line = self.AddElement('out:line', out_region, {})
self.AddElement('field', out_line, {'name':field.name})
# That's it... we're done.
Index: gnue/designer/templates/reports/MailMerge.py
diff -c gnue/designer/templates/reports/MailMerge.py:1.2
gnue/designer/templates/reports/MailMerge.py:1.3
*** gnue/designer/templates/reports/MailMerge.py:1.2 Mon Dec 16 16:25:01 2002
--- gnue/designer/templates/reports/MailMerge.py Fri Dec 20 03:47:25 2002
***************
*** 19,25 ****
# Copyright 2001-2002 Free Software Foundation
#
# FILE:
! # Simple.py
#
# DESCRIPTION:
# Implements a basic report template
--- 19,25 ----
# Copyright 2001-2002 Free Software Foundation
#
# FILE:
! # MailMerge.py
#
# DESCRIPTION:
# Implements a basic report template
***************
*** 148,154 ****
tableKey = string.upper(self.variables['table'][0]) + \
string.replace(self.variables['table'][1:],' ','_')
! sources = self.AddElement('sources', self.report, {})
# Create a single datasource based on user's input
datasource = self.AddElement('datasource', sources,
--- 148,160 ----
tableKey = string.upper(self.variables['table'][0]) + \
string.replace(self.variables['table'][1:],' ','_')
! sources = None
! for child in self.report._children:
! if child._type == 'GRSources':
! sources = child
! break
! if not sources:
! sources = self.AddElement('sources', self.report, {})
# Create a single datasource based on user's input
datasource = self.AddElement('datasource', sources,
***************
*** 169,189 ****
if field.name in self.variables['fields']:
fields[field.name] = field
- # TODO: This needs to add namespaces!
- # TODO: When this happens, remove the default namespace
- # TODO: hack in GNUe Reports' GREngine
! layout = self.AddElement('layout', self.report, {})
! ns = 'GNUe:Reports:MailMerge'
! out_mailmerge = self.AddElement('mailmerge', layout, {}, ns)
section = self.AddElement('section', out_mailmerge, {'source':
datasource.name})
! out_record = self.AddElement('record', section, {}, ns)
# Add each field
for name in self.variables['fields']:
field = fields[name]
! out_field = self.AddElement('field', out_record, {'name':field.name},
ns)
self.AddElement('field', out_field, {'name':field.name})
# That's it... we're done.
--- 175,199 ----
if field.name in self.variables['fields']:
fields[field.name] = field
! layout = None
! for child in self.report._children:
! if child._type == 'GRLayout':
! layout = child
! break
! if not layout:
! layout = self.AddElement('layout', self.report, {})
!
! self.report.findChildOfType('GRLayout')._xmlchildnamespace =
'GNUe:Reports:MailMerge'
! out_mailmerge = self.AddElement('out:mailmerge', layout, {})
section = self.AddElement('section', out_mailmerge, {'source':
datasource.name})
! out_record = self.AddElement('out:record', section, {})
# Add each field
for name in self.variables['fields']:
field = fields[name]
! out_field = self.AddElement('out:field', out_record,
{'name':field.name})
self.AddElement('field', out_field, {'name':field.name})
# That's it... we're done.
Index: gnue/designer/templates/reports/SimpleReport.py
diff -c gnue/designer/templates/reports/SimpleReport.py:1.4
gnue/designer/templates/reports/SimpleReport.py:1.5
*** gnue/designer/templates/reports/SimpleReport.py:1.4 Wed Nov 13 23:10:45 2002
--- gnue/designer/templates/reports/SimpleReport.py Fri Dec 20 03:47:25 2002
***************
*** 154,165 ****
# Set the basic attributes of the report
self.ModifyElement(self.report, title=self.variables['title'])
!
! sources = self.AddElement('sources', self.report, {})
# Create a single datasource based on user's input
datasource = self.AddElement('datasource', sources,
! { 'database': self.variables['connection'],
'table': self.variables['table'],
'type': 'object',
'name': 'dts%s' % tableKey })
--- 154,171 ----
# Set the basic attributes of the report
self.ModifyElement(self.report, title=self.variables['title'])
!
! sources = None
! for child in self.report._children:
! if child._type == 'GRSources':
! sources = child
! break
! if not sources:
! sources = self.AddElement('sources', self.report, {})
# Create a single datasource based on user's input
datasource = self.AddElement('datasource', sources,
! { 'connection': self.variables['connection'],
'table': self.variables['table'],
'type': 'object',
'name': 'dts%s' % tableKey })
***************
*** 176,194 ****
if field.name in self.variables['fields']:
fields[field.name] = field
! # TODO: This needs to add namespaces!
! # TODO: When this happens, remove the default namespace
! # TODO: hack in GNUe Reports' GREngine
!
! layout = self.AddElement('layout', self.report, {})
!
! ns = 'GNUe:Reports:SimpleTabulation'
! out_report = self.AddElement('report', layout, {}, ns)
! out_reportTitle = self.AddElement('reportTitle', out_report, {}, ns)
! self.AddContent(out_reportTitle, self.variables['title'])
! out_section = self.AddElement('section', out_report, {'break':"page"}, ns)
! out_table = self.AddElement('table', out_section, {'width':"100%"}, ns)
! out_tablehead = self.AddElement('tablehead', out_table, {}, ns)
for name in self.variables['fields']:
field = fields[name]
--- 182,203 ----
if field.name in self.variables['fields']:
fields[field.name] = field
!
! layout = None
! for child in self.report._children:
! if child._type == 'GRLayout':
! layout = child
! break
! if not layout:
! layout = self.AddElement('layout', self.report, {})
!
! self.report.findChildOfType('GRLayout')._xmlchildnamespace =
'GNUe:Reports:SimpleTabulation'
!
! out_report = self.AddElement('out:report', layout, {})
! out_reportTitle = self.AddElement('out:reportTitle', out_report, {},
content=self.variables['title'])
! out_section = self.AddElement('out:section', out_report, {'break':"page"})
! out_table = self.AddElement('out:table', out_section, {'width':"100%"})
! out_tablehead = self.AddElement('out:tablehead', out_table, {})
for name in self.variables['fields']:
field = fields[name]
***************
*** 197,207 ****
attrs['align'] = "right"
elif field.datatype == 'date':
attrs['align'] = "center"
! out_colhead = self.AddElement('colhead', out_tablehead, attrs, ns)
! self.AddContent(out_colhead, field.name)
section = self.AddElement('section', out_table, {'name': "detailes",
'source': datasource.name})
! out_row = self.AddElement('row', section, {}, ns)
# Add each field
for name in self.variables['fields']:
--- 206,215 ----
attrs['align'] = "right"
elif field.datatype == 'date':
attrs['align'] = "center"
! out_colhead = self.AddElement('out:colhead', out_tablehead, attrs,
content=field.name)
section = self.AddElement('section', out_table, {'name': "detailes",
'source': datasource.name})
! out_row = self.AddElement('out:row', section, {})
# Add each field
for name in self.variables['fields']:
***************
*** 211,217 ****
attrs['align'] = "right"
elif field.datatype == 'date':
attrs['align'] = "center"
! out_col = self.AddElement('col', out_row, attrs, ns)
self.AddElement('field', out_col, {'name':field.name})
# That's it... we're done.
--- 219,225 ----
attrs['align'] = "right"
elif field.datatype == 'date':
attrs['align'] = "center"
! out_col = self.AddElement('out:col', out_row, attrs)
self.AddElement('field', out_col, {'name':field.name})
# That's it... we're done.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/designer src/reports/Incubator.py src/repo...,
Bajusz Tamás <=