commit-gnue
[Top][All Lists]
Advanced

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

gnue designer/src/SchemaViewer.py designer/src/...


From: Jason Cater
Subject: gnue designer/src/SchemaViewer.py designer/src/...
Date: Thu, 04 Jul 2002 14:45:08 -0400

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/07/04 14:45:08

Modified files:
        designer/src   : SchemaViewer.py 
        designer/src/forms: Incubator.py 
        designer/src/forms/LayoutEditor: DisplayDropTarget.py 
        forms/src      : GFConfig.py 
        forms/src/GFObjects: GFEntry.py 

Log message:
        added automatic PRE-INSERT trigger creation to designer's Schema Viewer 
drag-n-drop support

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/SchemaViewer.py.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/forms/Incubator.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFConfig.py.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFObjects/GFEntry.py.diff?cvsroot=OldCVS&tr1=1.62&tr2=1.63&r1=text&r2=text

Patches:
Index: gnue/designer/src/SchemaViewer.py
diff -c gnue/designer/src/SchemaViewer.py:1.6 
gnue/designer/src/SchemaViewer.py:1.7
*** gnue/designer/src/SchemaViewer.py:1.6       Wed Jul  3 10:58:07 2002
--- gnue/designer/src/SchemaViewer.py   Thu Jul  4 14:45:08 2002
***************
*** 419,424 ****
--- 419,438 ----
          attributes['max_length'] = object.length
          attributes['width'] = object.length < 30 and object.length or 30
  
+       try: 
+         defaulttype = object.defaulttype
+         defaultval = object.defaultval
+       except AttributeError:
+         defaulttype = None
+         defaultval = None
+ 
+       if defaulttype == 'constant':
+         if defaultval[:1] in "\"'":
+           defaultval = defaultval[1:-2]
+         attributes['default'] = defaultval
+         defaulttype = None
+         defaultval = None
+ 
  
        if hasattr(object, 'label') and len(object.label):
          label = object.label
***************
*** 430,436 ****
  
        data.append( { "Type" : "entry",
                       "Attributes": attributes,
!                      "Label": label
                     } )
  
      do = wxCustomDataObject(wxCustomDataFormat("GNUeDesVisualElement"))
--- 444,452 ----
  
        data.append( { "Type" : "entry",
                       "Attributes": attributes,
!                      "Label": label,
!                      "DefaultTrigger": defaulttype,
!                      "DefaultInfo": defaultval
                     } )
  
      do = wxCustomDataObject(wxCustomDataFormat("GNUeDesVisualElement"))
Index: gnue/designer/src/forms/Incubator.py
diff -c gnue/designer/src/forms/Incubator.py:1.1 
gnue/designer/src/forms/Incubator.py:1.2
*** gnue/designer/src/forms/Incubator.py:1.1    Fri Jun 28 00:03:38 2002
--- gnue/designer/src/forms/Incubator.py        Thu Jul  4 14:45:08 2002
***************
*** 27,33 ****
  # NOTES:
  #
  
! from gnue.common import GDebug
  from gnue.forms import GFParser, GFForm
  from gnue.designer.Incubator import *
  
--- 27,33 ----
  # NOTES:
  #
  
! from gnue.common import GDebug, GParserHelpers
  from gnue.forms import GFParser, GFForm
  from gnue.designer.Incubator import *
  
***************
*** 67,72 ****
--- 67,78 ----
  
    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):
***************
*** 90,95 ****
--- 96,102 ----
    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()
Index: gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py
diff -c gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.5 
gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.6
*** gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py:1.5       Fri Jun 
28 00:03:38 2002
--- gnue/designer/src/forms/LayoutEditor/DisplayDropTarget.py   Thu Jul  4 
14:45:08 2002
***************
*** 124,129 ****
--- 124,140 ----
                    parent = child
                    break
  
+           try:
+             defaulttype = params['DefaultType']
+             defaultval = params['DefaultVal']
+             if defaulttype == 'constant':
+               if defaultval[:1] in "\"'":
+                 defaultval = defaultval [1:-2]
+               attributes['default'] = defaultval
+           except KeyError:
+             pass
+ 
+ 
  
            createLabels = "left" # TODO: 
string.lower(gConfig("CreateLabelsOnDrop"))
  
***************
*** 183,194 ****
          # Create our new object
          #
          if not params['Type'] in ('selectedWidgets',):
!           Incubator.createObject(
              self.editor._instance,
              self.editor._instance.rootObject,
              params['Type'],
              parent=parent,
              attributes=attributes)
  
  
      return d  # what is returned signals the source what to do
--- 194,236 ----
          # Create our new object
          #
          if not params['Type'] in ('selectedWidgets',):
!           object = Incubator.createObject(
              self.editor._instance,
              self.editor._instance.rootObject,
              params['Type'],
              parent=parent,
              attributes=attributes)
+ 
+           if params['Type'] in ('entry',):
+             try:
+               defaulttype = params['DefaultTrigger']
+               defaultval = params['DefaultInfo']
+               triggertext = ""
+               if defaulttype == 'sequence':
+                 triggertext = "\n# Set default value\n" \
+                             + "if not self.isEmpty():\n" \
+                             + "  self.autofillBySequence('%s')\n" % defaultval
+               if defaulttype == 'system' and defaultval == 'timestamp':
+                 triggertext = "\n# Set default value\n" \
+                             + "if not self.isEmpty():\n" \
+                             + "  self.value = %s.extensions.getTimeStamp()\n" 
\
+                               % parent.datasource
+ 
+ 
+               if triggertext:
+                 Incubator.createObject(
+                     self.editor._instance,
+                     self.editor._instance.rootObject,
+                     'trigger',
+                     parent = object,
+                     attributes = {
+                       '_content_': triggertext,
+                       'type': 'PRE-INSERT',
+                       'name': '%s_PreInsert' % object.name
+                     })
+ 
+             except KeyError:
+               pass
  
  
      return d  # what is returned signals the source what to do
Index: gnue/forms/src/GFConfig.py
diff -c gnue/forms/src/GFConfig.py:1.9 gnue/forms/src/GFConfig.py:1.10
*** gnue/forms/src/GFConfig.py:1.9      Wed Jun 26 18:31:10 2002
--- gnue/forms/src/GFConfig.py  Thu Jul  4 14:45:08 2002
***************
*** 92,97 ****
--- 92,104 ----
      'Typecast'   : GTypecast.text,
      'Default'    : 'DEFAULT' },
  
+   { 'Name'       : 'StoreTriggersAsCDATA',
+     'Type'       : 'Setting',
+     'Comment'    : 'Hack for db encoding',
+     'Description': 'Hack for db encoding.',
+     'Typecast'   : GTypecast.text,
+     'Default'    : 'DEFAULT' },
+ 
    { 'Name'       : 'SplashScreenPNG',
      'Type'       : 'Setting',
      'Comment'    : 'Location of startup graphic (PNG format)',
Index: gnue/forms/src/GFObjects/GFEntry.py
diff -c gnue/forms/src/GFObjects/GFEntry.py:1.62 
gnue/forms/src/GFObjects/GFEntry.py:1.63
*** gnue/forms/src/GFObjects/GFEntry.py:1.62    Wed Jun 26 18:31:10 2002
--- gnue/forms/src/GFObjects/GFEntry.py Thu Jul  4 14:45:08 2002
***************
*** 70,79 ****
--- 70,83 ----
      #
      self._triggerFunctions={'allowedValues':{'function':self.allowedValues,},
                              
'autofillBySequence':{'function':self.triggerAutofillBySequence},
+                             'isEmpty':{'function':self.isEmpty},
                              }
      self._triggerProperties={'readonly':{'set':self.setReadonly,
                                           'get':self.getReadonly
                                           },
+                              'value':{'set':self.triggerSetValue,
+                                       'get':self.getValue
+                                      },
                               }
      self._triggerSet = self.triggerSetValue
      self._triggerGet = self.getValue
***************
*** 84,89 ****
--- 88,95 ----
        sequenceNumber = 
self._block._dataSourceLink._dataObject.triggerExtensions.getSequence(sequenceName)
        self.setValue(sequenceNumber)
  
+   def isEmpty(self,sequenceName):
+     return self.getValue() in ("",None)
  
    def getReadonly(self):
      return self.readonly



reply via email to

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