[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/reports samples/location/zip-by-state.grd ...
From: |
Jason Cater |
Subject: |
gnue/reports samples/location/zip-by-state.grd ... |
Date: |
Thu, 30 May 2002 18:26:17 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/05/30 18:26:17
Modified files:
reports/samples/location: zip-by-state.grd
reports/src : GRDataMapper.py GRLayout.py GRSources.py
Log message:
fixes to master/detail support
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/samples/location/zip-by-state.grd.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/GRDataMapper.py.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/GRLayout.py.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/reports/src/GRSources.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
Patches:
Index: gnue/reports/samples/location/zip-by-state.grd
diff -c gnue/reports/samples/location/zip-by-state.grd:1.9
gnue/reports/samples/location/zip-by-state.grd:1.10
*** gnue/reports/samples/location/zip-by-state.grd:1.9 Mon Mar 25 23:34:06 2002
--- gnue/reports/samples/location/zip-by-state.grd Thu May 30 18:26:17 2002
***************
*** 2,8 ****
<report>
<parameters>
! <parameter id="state" type="char" description="State"/>
</parameters>
--- 2,8 ----
<report>
<parameters>
! <parameter name="state" type="char" description="State"/>
</parameters>
Index: gnue/reports/src/GRDataMapper.py
diff -c gnue/reports/src/GRDataMapper.py:1.15
gnue/reports/src/GRDataMapper.py:1.16
*** gnue/reports/src/GRDataMapper.py:1.15 Thu Apr 11 00:19:30 2002
--- gnue/reports/src/GRDataMapper.py Thu May 30 18:26:17 2002
***************
*** 59,64 ****
--- 59,65 ----
self.grouping = 0 # Is this a "grouping" section?
self._lastSection = None
self.datasource = None
+ self._resultsets = []
self._summMap = {'sum': self._summ_sum,
'count': self._summ_count,
***************
*** 183,189 ****
# created yet. [Yes, it's fugly]
def _masterChanged(self, masterResultSet, detailResultSet):
GDebug.printMesg (5, 'GRDataMapper._masterChanged')
! self.resultset = detailResultSet
##
--- 184,190 ----
# created yet. [Yes, it's fugly]
def _masterChanged(self, masterResultSet, detailResultSet):
GDebug.printMesg (5, 'GRDataMapper._masterChanged')
! self._resultsets.insert(0,detailResultSet)
##
***************
*** 318,323 ****
--- 319,330 ----
else:
GDebug.printMesg(4, 'Getting pre-created ResultSet for source "%s";
parent=%s' \
% (source, controlSection.parent))
+ controlSection.resultset = controlSection._resultsets.pop()
+ # resultset =
self.sourceMap[controlSection.parent.source].resultset.current.
+ if controlSection.resultset.nextRecord():
+ controlSection.__nextRecord = controlSection.resultset.current
+ else:
+ controlSection.__nextRecord = None
return self.getNextRecord(source)
***************
*** 377,383 ****
s._precheckNextFields(controlSection.__nextRecord)):
nextSection = s.name
!
# Save this in case
controlSection._lastSection = firstSection
return (firstSection, nextSection)
--- 384,390 ----
s._precheckNextFields(controlSection.__nextRecord)):
nextSection = s.name
!
# Save this in case
controlSection._lastSection = firstSection
return (firstSection, nextSection)
Index: gnue/reports/src/GRLayout.py
diff -c gnue/reports/src/GRLayout.py:1.34 gnue/reports/src/GRLayout.py:1.35
*** gnue/reports/src/GRLayout.py:1.34 Wed May 15 00:30:32 2002
--- gnue/reports/src/GRLayout.py Thu May 30 18:26:17 2002
***************
*** 343,349 ****
self.process(dest, mapper, 1, 1, None, None)
else:
-
firstSection, nextSection = self.getGotos(mapper, 1)
if firstSection:
--- 343,348 ----
***************
*** 373,378 ****
--- 372,380 ----
goto, gotoNext = mapper.getNextRecord(self._source)
# Get the actual GRSection objects
+ if not goto:
+ return (None, None)
+
firstSection = mapper.sectionMap[goto]._object
if gotoNext:
nextSection = mapper.sectionMap[gotoNext]._object
Index: gnue/reports/src/GRSources.py
diff -c gnue/reports/src/GRSources.py:1.12 gnue/reports/src/GRSources.py:1.13
*** gnue/reports/src/GRSources.py:1.12 Thu May 30 11:18:35 2002
--- gnue/reports/src/GRSources.py Thu May 30 18:26:17 2002
***************
*** 42,47 ****
--- 42,48 ----
#
# Prepare for running
#
+ # TODO: please go bye-bye
def prepare(self, parameters, sortoptions):
self._parameters = parameters
***************
*** 50,87 ****
# Connect to databases
self._datasourceDictionary = {}
self.walk(self.__initConnections)
- ## self.walk(self.__connectMasterDetail)
- ## self.walk(self.__setUserOptions)
# Used internally by self.prepare()
# Connects to databases
def __initConnections(self, object):
if object._type == "GRDataSource":
- ## GDebug.printMesg(3,"Connecting DataSource '%s' to connection '%s'" \
- ## % (object.name, object.database) )
object.connect()
- ## self._datasourceDictionary[object.name] = object
-
- ## def __connectMasterDetail(self, object):
- ## if object._type == "GRDataSource" and object.master != None:
- ## GDebug.printMesg(3,"Linking detail '%s' to master '%s'" \
- ## % (object.name, object.master) )
- ## if self._datasourceDictionary.has_key(object.master):
- ## self._datasourceDictionary[object.master] \
- ## .getDataObject().addDetailDataObject(object.getDataObject(),
- ## object)
- ## else:
- ## raise GRExceptions.MasterSourceNotFound, \
- ## "Detail source '%s' references non-existant master '%s'" \
- ## % (object.name, object.master)
-
- ## def __setUserOptions(self, object):
- ## if object._type == 'GRParam':
- ## object._value = self._parameters.getParameter(object.name)
-
- # if object._type == 'GRSortOption':
- # pass
def getDataSource(self, source):
--- 51,65 ----
# Connect to databases
self._datasourceDictionary = {}
self.walk(self.__initConnections)
# Used internally by self.prepare()
# Connects to databases
+ #
+ # TODO: please go bye-bye
def __initConnections(self, object):
if object._type == "GRDataSource":
object.connect()
def getDataSource(self, source):
***************
*** 94,140 ****
self._toplevelParent = 'GRReport'
self.master = None
- # self._inits =[self.primaryInit, self.secondaryInit]
- # self._currentResultSet = None
- # self._resultSetListeners = []
-
-
# Used in GRSources.__connectMasterDetail to link detail datasource to
# master source. Called by GDataObjects.ResultSet when master changed
# This will actually be over-written by GRDataMapper but at the time
# the master-detail must be linked, the GRDataMapper will not have been
! # created yet. [Yes, it's fugly]
def masterResultSetChanged(self, masterResultSet, detailResultSet):
pass
- # Called by dbdrivers whenever this datasource's master has changed
- # def masterResultSetChanged(self, masterResultSet, detailResultSet):
- # self._masterResultSet = masterResultSet
- # self.__setResultSet( detailResultSet )
-
- # def primaryInit(self):
- # self._report = self.findParentOfType('GRReport')
- # GDebug.printMesg(10,"Setting %s to connect mgr %s"
%(self.name,self._report._connections))
- # self.setConnectionManager(self._report._connections)
- # self.initialize()
- # self.connect()
-
- ## # TODO: The linking of master to detail should occur in GDataSource
- ## # TODO: as both Forms and Reports is executing basically the same code...
- ## def secondaryInit(self):
- ## if hasattr(self, 'master') and self.master:
- ## self.master = string.lower(self.master)
- ## GDebug.printMesg(3,"Linking detail '%s' to master '%s'" \
- ## % (self.name, self.master) )
-
- ## if self._report._datasourceDictionary.has_key(self.master):
- ## self._report._datasourceDictionary[self.master] \
- ## .getDataObject().addDetailDataObject(self.getDataObject(),
- ## self)
- ## else:
- ## raise StandardError, \
- ## "Detail source '%s' references non-existant master '%s'" \
- ## % (self.name, self.master)
--- 72,86 ----
self._toplevelParent = 'GRReport'
self.master = None
# Used in GRSources.__connectMasterDetail to link detail datasource to
# master source. Called by GDataObjects.ResultSet when master changed
# This will actually be over-written by GRDataMapper but at the time
# the master-detail must be linked, the GRDataMapper will not have been
! # created yet. [Yes, it's fugly]
def masterResultSetChanged(self, masterResultSet, detailResultSet):
+ # [This is overwritten by GRDataMapper._masterChanged]
pass
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/reports samples/location/zip-by-state.grd ...,
Jason Cater <=