commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue common/src/FormatMasks/BaseMask.py forms/s...


From: Jason Cater
Subject: gnue common/src/FormatMasks/BaseMask.py forms/s...
Date: Sat, 24 Aug 2002 21:05:26 -0400

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/08/24 21:05:26

Modified files:
        common/src/FormatMasks: BaseMask.py 
        forms/src      : GFConfig.py GFDisplayHandler.py 
        forms/src/GFObjects: GFEntry.py 

Log message:
        added experimental format mask support [branched]

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/FormatMasks/BaseMask.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFConfig.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFDisplayHandler.py.diff?tr1=1.30&tr2=1.31&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFObjects/GFEntry.py.diff?tr1=1.64&tr2=1.65&r1=text&r2=text

Patches:
Index: gnue/common/src/FormatMasks/BaseMask.py
diff -c gnue/common/src/FormatMasks/BaseMask.py:1.16 
gnue/common/src/FormatMasks/BaseMask.py:1.17
*** gnue/common/src/FormatMasks/BaseMask.py:1.16        Mon Jul 15 04:22:02 2002
--- gnue/common/src/FormatMasks/BaseMask.py     Sat Aug 24 21:05:26 2002
***************
*** 29,35 ****
  from gnue.common import GDebug
  from FormatExceptions import *
  
! # TODO: i18n 
  #   import locale
  #   locale.nl_langinfo(  option)
  #
--- 29,35 ----
  from gnue.common import GDebug
  from FormatExceptions import *
  
! # TODO: i18n
  #   import locale
  #   locale.nl_langinfo(  option)
  #
***************
*** 160,181 ****
  
  
    # Take a mask string and break it into its elements and map it to handlers
!   def parseMask(self, mask):
      GDebug.printMesg(15,'parseMask("%s")' % mask)
      maskHandler = []
  
      # Load a predefined mask, if that's what user specified
      # TODO: Should predefined masks be pulled from other than gnue.conf?
      if len(mask) > 1 and mask[0] == '&':
!       if mask[1:] == self.basetype:
!         mask = gConfig('%smask' % self.basetype, self.defaultmask)
!       else:
!         try:
!           mask = gConfig('%smask_%s' % (self.basetype, mask[1:]))
!         except KeyError:
!           raise PredefinedMaskNotFound, \
!               _('The requested format mask "%s" is not defined for %s 
fields') \
!                   % (mask[1:], self.basetype)
  
      # Process each character in mask at a time
      isLiteral = 0
--- 160,188 ----
  
  
    # Take a mask string and break it into its elements and map it to handlers
!   def parseMask(self, mask, edit=0):
      GDebug.printMesg(15,'parseMask("%s")' % mask)
      maskHandler = []
  
      # Load a predefined mask, if that's what user specified
      # TODO: Should predefined masks be pulled from other than gnue.conf?
      if len(mask) > 1 and mask[0] == '&':
!       for i in range(edit+1):
!         edstr = ('edit','')[i]
!         if mask[1:] == self.basetype:
!           try:
!             mask = gConfig('%s%smask' % (self.basetype, edstr), 
self.defaultmask)
!           except KeyError: 
!             pass
!         else:
!           try:
!             mask = gConfig('%smask_%s' % (self.basetype, edstr, mask[1:]))
!           except KeyError:
!             pass
!       if not len(mask): 
!          raise PredefinedMaskNotFound, \
!                 _('The requested format mask "%s" is not defined for %s 
fields') \
!                     % (mask[1:], self.basetype)
  
      # Process each character in mask at a time
      isLiteral = 0
Index: gnue/forms/src/GFConfig.py
diff -c gnue/forms/src/GFConfig.py:1.13 gnue/forms/src/GFConfig.py:1.14
*** gnue/forms/src/GFConfig.py:1.13     Fri Aug  2 11:34:57 2002
--- gnue/forms/src/GFConfig.py  Sat Aug 24 21:05:26 2002
***************
*** 85,111 ****
      'Typecast'   : GTypecast.boolean,
      'Default'    : 1 },
  
!   { 'Name'       : 'dateFormatMaskEdit',
      'Type'       : 'Setting',
      'Comment'    : 'Mask for editing date/time fields (without qoutes).',
      'Description': 'Mask for editing date/time fields (without quotes).',
      'Typecast'   : GTypecast.text,
!     'Default'    : '%m/%d/%Y' }, # but %Y will be converted to %y anyway
  
!   { 'Name'       : 'dateFormatMaskView',
      'Type'       : 'Setting',
      'Comment'    : 'Mask for viewing date/time fields (without quotes).',
      'Description': 'Mask for viewing date/time fields (without quotes).',
      'Typecast'   : GTypecast.text,
      'Default'    : '%m/%d/%y' },
  
    { 'Name'       : 'Encoding',
      'Type'       : 'Setting',
      'Comment'    : 'Hack for db encoding',
      'Description': 'Hack for db encoding.',
      'Typecast'   : GTypecast.text,
      'Default'    : 'DEFAULT' },
!     
    { 'Name'       : 'formFontEncoding',
      'Type'       : 'Setting',
      'Comment'    : 'Font in forms encoding. Like iso8859-1, iso8859-13.',
--- 85,195 ----
      'Typecast'   : GTypecast.boolean,
      'Default'    : 1 },
  
!   { 'Name'       : 'DateEditMask',
      'Type'       : 'Setting',
      'Comment'    : 'Mask for editing date/time fields (without qoutes).',
      'Description': 'Mask for editing date/time fields (without quotes).',
      'Typecast'   : GTypecast.text,
!     'Default'    : '%m/%d/%Y' },
  
!   { 'Name'       : 'DateMask',
      'Type'       : 'Setting',
      'Comment'    : 'Mask for viewing date/time fields (without quotes).',
      'Description': 'Mask for viewing date/time fields (without quotes).',
      'Typecast'   : GTypecast.text,
      'Default'    : '%m/%d/%y' },
  
+   { 'Name'       : 'DateEditMask_Time',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for editing date/time fields (without qoutes).',
+     'Description': 'Mask for editing date/time fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '%h:%i:%s' },
+ 
+   { 'Name'       : 'DateMask_Time',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for viewing date/time fields (without quotes).',
+     'Description': 'Mask for viewing date/time fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '%h:%i:%s' },
+ 
+   { 'Name'       : 'DateEditMask_Timestamp',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for editing date/time fields (without qoutes).',
+     'Description': 'Mask for editing date/time fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '%m/%d/%Y %h:%i:%s' },
+ 
+   { 'Name'       : 'DateMask_Timestamp',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for viewing date/time fields (without quotes).',
+     'Description': 'Mask for viewing date/time fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '%m/%d/%Y %h:%i:%s' },
+ 
+   { 'Name'       : 'TextEditMask',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for editing date/time fields (without qoutes).',
+     'Description': 'Mask for editing date/time fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '' },
+ 
+   { 'Name'       : 'TextMask',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for viewing date/time fields (without quotes).',
+     'Description': 'Mask for viewing date/time fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '' },
+ 
+   { 'Name'       : 'NumberEditMask',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for editing number fields (without qoutes).',
+     'Description': 'Mask for editing number fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '#0.#' },
+ 
+   { 'Name'       : 'NumberMask',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for viewing number fields (without quotes).',
+     'Description': 'Mask for viewing number fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '#,##0.#' },
+ 
+   { 'Name'       : 'NumberEditMask_Money',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for editing number fields (without qoutes).',
+     'Description': 'Mask for editing number fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '#0.00' },
+ 
+   { 'Name'       : 'NumberMask_Money',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for viewing number fields (without quotes).',
+     'Description': 'Mask for viewing number fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '\\$#,##0.00' },
+ 
+   { 'Name'       : 'NumberEditMask_Integer',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for editing number fields (without qoutes).',
+     'Description': 'Mask for editing number fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '#0' },
+ 
+   { 'Name'       : 'NumberMask_Integer',
+     'Type'       : 'Setting',
+     'Comment'    : 'Mask for viewing number fields (without quotes).',
+     'Description': 'Mask for viewing number fields (without quotes).',
+     'Typecast'   : GTypecast.text,
+     'Default'    : '#,##0' },
+ 
    { 'Name'       : 'Encoding',
      'Type'       : 'Setting',
      'Comment'    : 'Hack for db encoding',
      'Description': 'Hack for db encoding.',
      'Typecast'   : GTypecast.text,
      'Default'    : 'DEFAULT' },
! 
    { 'Name'       : 'formFontEncoding',
      'Type'       : 'Setting',
      'Comment'    : 'Font in forms encoding. Like iso8859-1, iso8859-13.',
Index: gnue/forms/src/GFDisplayHandler.py
diff -c gnue/forms/src/GFDisplayHandler.py:1.30 
gnue/forms/src/GFDisplayHandler.py:1.31
*** gnue/forms/src/GFDisplayHandler.py:1.30     Tue Jul  2 20:28:07 2002
--- gnue/forms/src/GFDisplayHandler.py  Sat Aug 24 21:05:26 2002
***************
*** 35,50 ****
  try:
    from mx.DateTime import DateTime
  except ImportError:
!   print """
     This GNUe tool requires mxDateTime to be installed
  
!    You can find the mxDateTime at 
  
     http://www.lemburg.com/files/python/mxDateTime.html
  
  """
-   import sys
-   sys.exit()
  
  #############################################################################
  #
--- 35,48 ----
  try:
    from mx.DateTime import DateTime
  except ImportError:
!   raise """
     This GNUe tool requires mxDateTime to be installed
  
!    You can find the mxDateTime at
  
     http://www.lemburg.com/files/python/mxDateTime.html
  
  """
  
  #############################################################################
  #
***************
*** 494,500 ****
  class NumberDisplayHandler(FieldDisplayHandler):
    def __init__(self, entry, eventHandler, displayMask, inputMask):
  ##    FieldDisplayHandler.__init__(self, entry, eventHandler,
! ##            DateMask.DateMask(displayMask, inputMask, displayMask))
      FieldDisplayHandler.__init__(self, entry, eventHandler, None)
  
  
--- 492,498 ----
  class NumberDisplayHandler(FieldDisplayHandler):
    def __init__(self, entry, eventHandler, displayMask, inputMask):
  ##    FieldDisplayHandler.__init__(self, entry, eventHandler,
! ##            DateMask.DateMask(displayMask, inputMask))
      FieldDisplayHandler.__init__(self, entry, eventHandler, None)
  
  
***************
*** 572,580 ****
  #
  class DateDisplayHandler(FieldDisplayHandler):
    def __init__(self, entry, eventHandler, displayMask, inputMask):
! ##    FieldDisplayHandler.__init__(self, entry, eventHandler,
! ##            DateMask.DateMask(displayMask, inputMask, displayMask))
!     FieldDisplayHandler.__init__(self, entry, eventHandler, None)
  
  
    def setValue(self, value):
--- 570,581 ----
  #
  class DateDisplayHandler(FieldDisplayHandler):
    def __init__(self, entry, eventHandler, displayMask, inputMask):
!   
!     if not self.displayMask:
! 
!     FieldDisplayHandler.__init__(self, entry, eventHandler,
!             DateMask.DateMask(displayMask, inputMask))
! ##    FieldDisplayHandler.__init__(self, entry, eventHandler, None)
  
  
    def setValue(self, value):
***************
*** 584,592 ****
    # TODO: Replace with format mask
    def _buildDisplayHelper(self, value, editing):
      if editing:
!       format = "%m/%d/%Y"
      else:
!       format = "%m/%d/%y"
  
      if value in (None,""):
        return ""
--- 585,595 ----
    # TODO: Replace with format mask
    def _buildDisplayHelper(self, value, editing):
      if editing:
!       self.formatter.getFormattedInput(value)
! ##      format = "%m/%d/%Y"
      else:
!       self.formatter.getFormattedOutput(value)
! ##      format = "%m/%d/%y"
  
      if value in (None,""):
        return ""
Index: gnue/forms/src/GFObjects/GFEntry.py
diff -c gnue/forms/src/GFObjects/GFEntry.py:1.64 
gnue/forms/src/GFObjects/GFEntry.py:1.65
*** gnue/forms/src/GFObjects/GFEntry.py:1.64    Thu Jul  4 14:53:04 2002
--- gnue/forms/src/GFObjects/GFEntry.py Sat Aug 24 21:05:26 2002
***************
*** 60,67 ****
      self._allowedValues = None
      self._allowedValuesDescr = [""]
  
-     self._maskHandler = None
- 
      self._rows = 1
      self._gap = 0
  
--- 60,65 ----
***************
*** 187,193 ****
        for field in [self.fk_key] + self._fk_descr:
          self._fk_datasource.referenceField(field, None)
  
- 
      if hasattr(self, 'queryDefault') and \
           self.queryDefault != None and \
           self._bound and \
--- 185,190 ----
***************
*** 198,218 ****
      # Create an appropriate display handler
      if self.style == 'checkbox':
        self._displayHandler = GFDisplayHandler.CheckboxDisplayHandler(self,
!                self._block._form._app.eventController, self._maskHandler)
      elif self.style == 'dropdown':
        self._displayHandler = GFDisplayHandler.DropdownDisplayHandler(self,
!                self._block._form._app.eventController, self._maskHandler)
      elif self.typecast == 'text':
        self._displayHandler = GFDisplayHandler.TextDisplayHandler(self,
                 self._block._form._app.eventController,
!                self._inputmask, self._displaymask, self._formatmask)
      elif self.typecast == 'number':
        self._displayHandler = GFDisplayHandler.NumberDisplayHandler(self,
                 self._block._form._app.eventController,
                 self._inputmask, self._displaymask)
      elif self.typecast == 'date':
        self._displayHandler = GFDisplayHandler.DateDisplayHandler(self,
!                self._block._form._app.eventController, self._inputmask, 
self._displaymask)
  
    def isQueryable(self):
      return self._queryable
--- 195,217 ----
      # Create an appropriate display handler
      if self.style == 'checkbox':
        self._displayHandler = GFDisplayHandler.CheckboxDisplayHandler(self,
!                self._block._form._app.eventController)
      elif self.style == 'dropdown':
        self._displayHandler = GFDisplayHandler.DropdownDisplayHandler(self,
!                self._block._form._app.eventController)
      elif self.typecast == 'text':
        self._displayHandler = GFDisplayHandler.TextDisplayHandler(self,
                 self._block._form._app.eventController,
!                self._inputmask, self._displaymask)
      elif self.typecast == 'number':
        self._displayHandler = GFDisplayHandler.NumberDisplayHandler(self,
                 self._block._form._app.eventController,
                 self._inputmask, self._displaymask)
      elif self.typecast == 'date':
        self._displayHandler = GFDisplayHandler.DateDisplayHandler(self,
!                self._block._form._app.eventController,
!                self._inputmask, self._displaymask)
! 
  
    def isQueryable(self):
      return self._queryable




reply via email to

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