commit-gnue
[Top][All Lists]
Advanced

[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
  
  
  
  



reply via email to

[Prev in Thread] Current Thread [Next in Thread]