commit-gnue
[Top][All Lists]
Advanced

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

gnue common/src/GObjects.py designer/src/Instan...


From: Jason Cater
Subject: gnue common/src/GObjects.py designer/src/Instan...
Date: Wed, 27 Nov 2002 19:11:32 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/11/27 19:11:32

Modified files:
        common/src     : GObjects.py 
        designer/src   : Instance.py TemplateBase.py TemplateParser.py 
                         TreeView.py TriggerEditor.py 
        designer/src/forms: Incubator.py Instance.py 
        designer/src/forms/LayoutEditor: LayoutEditor.py 
                                         WidgetHandler.py 
        designer/src/forms/wizards: AddBlock.py AddBox.py AddButton.py 
                                    AddDataSource.py AddDropDown.py 
                                    AddEntry.py AddLabel.py AddPage.py 

Log message:
        * Visual cleanup (panel/text spacing, etc)
        * First attempt at getting wizards working with the new layout 
management markup
        * More cleanup

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GObjects.py.diff?tr1=1.45&tr2=1.46&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/Instance.py.diff?tr1=1.70&tr2=1.71&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TemplateBase.py.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TemplateParser.py.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TreeView.py.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TriggerEditor.py.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Incubator.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Instance.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/WidgetHandler.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddBlock.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddBox.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddButton.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddDataSource.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddDropDown.py.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddEntry.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddLabel.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddPage.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: gnue/common/src/GObjects.py
diff -c gnue/common/src/GObjects.py:1.45 gnue/common/src/GObjects.py:1.46
*** gnue/common/src/GObjects.py:1.45    Wed Nov 27 16:29:16 2002
--- gnue/common/src/GObjects.py Wed Nov 27 19:11:31 2002
***************
*** 301,307 ****
    # Moves upward though the parents of an object till
    # it finds the parent of the specified type
    #
!   def findChildOfType(self, type, includeSelf=1, allowAllChildren=1):
  
      if includeSelf and self._type == type:
        return self
--- 301,307 ----
    # Moves upward though the parents of an object till
    # it finds the parent of the specified type
    #
!   def findChildOfType(self, type, includeSelf=1, allowAllChildren=0):
  
      if includeSelf and self._type == type:
        return self
***************
*** 317,322 ****
--- 317,345 ----
            return o
  
      return None
+ 
+ 
+   #
+   # findChildrenOfType
+   #
+   # find all children of a specific type
+   #
+   def findChildrenOfType(self, type, includeSelf=1, allowAllChildren=0):
+ 
+     rs = []
+ 
+     if includeSelf and self._type == type:
+       rs += [self]
+ 
+     for child in self._children:
+       if child._type == type:
+         rs += [child]
+ 
+     if allowAllChildren:
+       for child in self._children:
+         rs += child.findChildOfType(type,0, 1)
+ 
+     return rs
  
  
    #
Index: gnue/designer/src/Instance.py
diff -c gnue/designer/src/Instance.py:1.70 gnue/designer/src/Instance.py:1.71
*** gnue/designer/src/Instance.py:1.70  Mon Nov 25 23:23:33 2002
--- gnue/designer/src/Instance.py       Wed Nov 27 19:11:31 2002
***************
*** 76,85 ****
    def preSave(self):
      return
  
-   # Return an instance of the "primary" visual editor/layout panel
-   def createVisualEditor(self):
-     return None
- 
    #
    def createTools(self):
      pass
--- 76,81 ----
***************
*** 88,93 ****
--- 84,92 ----
    def createWizards(self):
      pass
  
+   # Used by TemplateParser to build a wizard.current dict
+   def buildWizardCurrentDict(self):
+     return {}
  
    ########################################################################
    #
***************
*** 117,124 ****
  
      self._app = app
      self.connections = app.connections
-     self._lastGenericNameSeq = {}
      self.nameMappings = {}
  
      self._pages = []
  
--- 116,123 ----
  
      self._app = app
      self.connections = app.connections
      self.nameMappings = {}
+     self.usedNames = []
  
      self._pages = []
  
***************
*** 428,433 ****
--- 427,433 ----
              object.name[-3:] == ">__")):
            object.name = self.getNextGenericName(object._type[2:])
          self.nameMappings[string.lower(object.name)] = object
+         self.usedNames.append(object.name.lower())
  
      # Now, give the tool-specific instances a chance
      self.inventoryObject(object)
***************
*** 474,506 ****
  
  
    def getNextGenericName (self, type):
!     while 1:
!       if self._lastGenericNameSeq.has_key(string.lower(type)):
!         self._lastGenericNameSeq[string.lower(type)] = \
!            self._lastGenericNameSeq[string.lower(type)] + 1
!       else:
!         self._lastGenericNameSeq[string.lower(type)] = 1
!       name = "%s%s_%s" % (string.upper(type[0]), \
!           string.lower(type[1:]), 
self._lastGenericNameSeq[string.lower(type)])
!       if not self.nameMappings.has_key(string.lower(name)):
!         break
! 
!     return name
! 
! 
!   def getUniqueName(self, n):
!     name = string.lower(n)
!     while self.nameMappings.has_key(name):
!       if '_' in name:
!         nameparts = string.split(name,'_')
!         try:
!           nameparts[-1] = str(int(nameparts[-1]) + 1)
!           name = string.join(nameparts,'_')
!         except ValueError:
!           name += '_1'
!       else:
!         name += '_1'
!     return name
  
  
    def save(self):
--- 474,507 ----
  
  
    def getNextGenericName (self, type):
!     return self.getUniqueName(type.capitalize() + '1')
!     
! 
!   def getUniqueName(self, name):
! 
!     if name.lower() not in self.usedNames:
!       self.usedNames.append(name.lower())
!       return name
! 
!     index = len(name) - 1
! 
!     while index > 0 and '0' <= name[index] <= '9':
!       index -= 1
! 
!     index += 1
!     if index >= len(name):
!       start = 1
!       base = name
!     else:
!       start = int(name[index:])
!       base = name[:index]
! 
!     while "%s%s" % (base, start) in self.usedNames:
!       start += 1
! 
!     self.usedNames.append(("%s%s" % (base, start)).lower())
!     return "%s%s" % (base, start)
! 
  
  
    def save(self):
Index: gnue/designer/src/TemplateBase.py
diff -c gnue/designer/src/TemplateBase.py:1.17 
gnue/designer/src/TemplateBase.py:1.18
*** gnue/designer/src/TemplateBase.py:1.17      Mon Oct 28 18:43:08 2002
--- gnue/designer/src/TemplateBase.py   Wed Nov 27 19:11:31 2002
***************
*** 87,93 ****
    # entered by the wizard user.
    variables = {}
  
!   def Start(self, object):
      return 0
  
  
--- 87,93 ----
    # entered by the wizard user.
    variables = {}
  
!   def Start(self, object, current={}):
      return 0
  
  
***************
*** 193,198 ****
--- 193,202 ----
      return list
  
  
+   def GetUniqueName(self, name):
+     self.instance.getUniqueName(name)
+ 
+ 
    ##########################################
    #
    #  The following methods are of no concern
***************
*** 201,206 ****
--- 205,211 ----
  
    def __init__(self, parser):
      self.parser = parser
+     self.instance = parser.instance
      self._connections = parser.instance._app.connections
      self.__cachedConnections= {}
      self.__cachedSources= {}
***************
*** 259,261 ****
--- 264,271 ----
      self.orderable = orderable
  
  
+ # A wizard can raise this if not enough information
+ # is provided or if the root object is not in a
+ # sufficient state.
+ class InsufficientInformation(StandardError):
+   pass
\ No newline at end of file
Index: gnue/designer/src/TemplateParser.py
diff -c gnue/designer/src/TemplateParser.py:1.22 
gnue/designer/src/TemplateParser.py:1.23
*** gnue/designer/src/TemplateParser.py:1.22    Mon Oct 28 18:43:08 2002
--- gnue/designer/src/TemplateParser.py Wed Nov 27 19:11:31 2002
***************
*** 48,54 ****
      self.template = self.templateInformation['BaseClass'](self)
  
      self.template.Start(self.rootObject,
!                         self.currentObject or self.rootObject,
                          **params)
  
      # If this is simply a template and not a wizard,
--- 48,54 ----
      self.template = self.templateInformation['BaseClass'](self)
  
      self.template.Start(self.rootObject,
!                         self.instance.buildWizardCurrentDict(),
                          **params)
  
      # If this is simply a template and not a wizard,
Index: gnue/designer/src/TreeView.py
diff -c gnue/designer/src/TreeView.py:1.27 gnue/designer/src/TreeView.py:1.28
*** gnue/designer/src/TreeView.py:1.27  Mon Nov 25 23:23:33 2002
--- gnue/designer/src/TreeView.py       Wed Nov 27 19:11:31 2002
***************
*** 54,60 ****
                         'ObjectDeleted'       : self.onDeleteObject,
                        })
  
!     self.tree = wxTreeCtrl(self, wxNewId(),
         style=wxTR_HAS_BUTTONS|wxTR_EDIT_LABELS|wxTR_HAS_VARIABLE_ROW_HEIGHT)
      self._handler = None
  
--- 54,63 ----
                         'ObjectDeleted'       : self.onDeleteObject,
                        })
  
!     self.panel = wxPanel(self,-1,style=wxSIMPLE_BORDER, pos=wxPoint(6,6))
!     EVT_SIZE(self, self.onSize)
! 
!     self.tree = wxTreeCtrl(self.panel, wxNewId(),
         style=wxTR_HAS_BUTTONS|wxTR_EDIT_LABELS|wxTR_HAS_VARIABLE_ROW_HEIGHT)
      self._handler = None
  
***************
*** 68,78 ****
  
      EVT_RIGHT_DOWN(self, self.OnRightDown)
      EVT_LEFT_DCLICK(self, self.OnEditProperties)
!     EVT_SIZE(self, self.OnSize)
      self.Fit()
  
!   def OnSize(self, event):
!     self.tree.SetSize(self.GetClientSize())
  
    def AppendItem(self, parent, description):
      rv = self.tree.AppendItem(parent, description)
--- 71,83 ----
  
      EVT_RIGHT_DOWN(self, self.OnRightDown)
      EVT_LEFT_DCLICK(self, self.OnEditProperties)
!     
      self.Fit()
  
!   def onSize(self, event):
!     x,y = self.GetClientSizeTuple()
!     self.panel.SetSize((x-12,y-12))
!     self.tree.SetSize(self.panel.GetClientSizeTuple())
  
    def AppendItem(self, parent, description):
      rv = self.tree.AppendItem(parent, description)
Index: gnue/designer/src/TriggerEditor.py
diff -c gnue/designer/src/TriggerEditor.py:1.23 
gnue/designer/src/TriggerEditor.py:1.24
*** gnue/designer/src/TriggerEditor.py:1.23     Mon Nov 25 23:23:33 2002
--- gnue/designer/src/TriggerEditor.py  Wed Nov 27 19:11:31 2002
***************
*** 80,88 ****
      self.toolpanel = wxPanel(self, -1, pos=wxPoint(0,0), size=wxSize(32,32), 
style=wxRAISED_BORDER|wxCLIP_CHILDREN)
  
      self.namedNameLabel = wxStaticText(self.toolpanel, -1, _("Trigger: "), 
pos=wxPoint(4,6))
!     self.namedTriggerCombo = wxComboBox(self.toolpanel, -1, 
pos=wxPoint(self.namedNameLabel.GetSize().width + 10,4), style=wxCB_READONLY)
      EVT_COMBOBOX(self, self.namedTriggerCombo.GetId(), 
self.OnNamedTriggerSelected)
  
      # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
--- 80,92 ----
      self.toolpanel = wxPanel(self, -1, pos=wxPoint(0,0), size=wxSize(32,32), 
style=wxRAISED_BORDER|wxCLIP_CHILDREN)
  
      self.namedNameLabel = wxStaticText(self.toolpanel, -1, _("Trigger: "), 
pos=wxPoint(4,6))
!     self.namedTriggerCombo = wxComboBox(self.toolpanel, -1,  
choices=[''],pos=wxPoint(self.namedNameLabel.GetSize().width + 10,4), 
style=wxCB_READONLY)
!     self.toolh = max(self.namedNameLabel.GetSizeTuple()[1], 
self.namedTriggerCombo.GetSizeTuple()[1]) + 12
!     self.editor.SetPosition((0, self.toolh))
! 
      EVT_COMBOBOX(self, self.namedTriggerCombo.GetId(), 
self.OnNamedTriggerSelected)
  
+ 
      # EventAware provided by ToolPanel
      self.registerEventListeners({
                         'ObjectSelected'      : self.onSetCurrentObject,
***************
*** 92,111 ****
                        })
  
      self.rootObject.walk(self.inventoryObject)
!     if self.object: 
        self._setObject(object)
  
  
    def OnNamedTriggerSelected(self, event):
!     self.dispatchEvent('ObjectSelected',
!                        object = self.namedTriggerList[event.GetSelection()],
                         originator = None)
  
  
    def _onSize(self, event):
      w,h = self.GetClientSizeTuple()
!     self.toolpanel.SetSize(wxSize(w,32))
!     self.editor.SetSize(wxSize(w,h-32))
  
  
    def onSetCurrentObject (self, event):
--- 96,126 ----
                        })
  
      self.rootObject.walk(self.inventoryObject)
!     if self.object:
        self._setObject(object)
  
  
    def OnNamedTriggerSelected(self, event):
!     s= event.GetSelection()
!     if s:
!       self.dispatchEvent('ObjectSelected',
!                        object = self.namedTriggerList[s-1],
                         originator = None)
+       self.editor.SetReadOnly(0)
+     else:
+       self.editor.InEditMode = 0
+       self.editor.SetText("")
+       self.editor.EmptyUndoBuffer()
+       self.editor.InEditMode = 1
+       self.editor.SetReadOnly(1)
+       self.object = None
+ 
  
  
    def _onSize(self, event):
      w,h = self.GetClientSizeTuple()
!     self.toolpanel.SetSize(wxSize(w,self.toolh))
!     self.editor.SetSize(wxSize(w,h-self.toolh+1))
  
  
    def onSetCurrentObject (self, event):
***************
*** 119,125 ****
  
  
    def _setObject(self, object):
!       self.__ignoreevent = 1
        self.__ignoreevent = 0
  
        self.object = object
--- 134,140 ----
  
  
    def _setObject(self, object):
! ##      self.__ignoreevent = 1
        self.__ignoreevent = 0
  
        self.object = object
***************
*** 143,149 ****
          i = 0
          while self.namedTriggerList[i] != object:
            i = i + 1
!         self.namedTriggerCombo.SetSelection(i)
        else:
          self.mode = EVENT_TRIGGER
  
--- 158,164 ----
          i = 0
          while self.namedTriggerList[i] != object:
            i = i + 1
!         self.namedTriggerCombo.SetSelection(i+1)
        else:
          self.mode = EVENT_TRIGGER
  
Index: gnue/designer/src/forms/Incubator.py
diff -c gnue/designer/src/forms/Incubator.py:1.3 
gnue/designer/src/forms/Incubator.py:1.4
*** gnue/designer/src/forms/Incubator.py:1.3    Mon Nov 25 00:41:42 2002
--- gnue/designer/src/forms/Incubator.py        Wed Nov 27 19:11:31 2002
***************
*** 96,101 ****
--- 96,105 ----
    for attr in attributes.keys():
      if attrs.has_key(attr):
        o.__dict__[attr] = attributes[attr]
+     elif attr.index(':')+1:
+       # Hackery for forms namespace support
+       o.__dict__[attr.replace(':','__')]
+       
  
    o.name = name
    instance.nameMappings[o.name] = o
Index: gnue/designer/src/forms/Instance.py
diff -c gnue/designer/src/forms/Instance.py:1.19 
gnue/designer/src/forms/Instance.py:1.20
*** gnue/designer/src/forms/Instance.py:1.19    Mon Nov 25 09:22:36 2002
--- gnue/designer/src/forms/Instance.py Wed Nov 27 19:11:31 2002
***************
*** 91,96 ****
--- 91,99 ----
      form.width = 40
      GFObjects.GFLogic(form)
      layout = GFObjects.GFLayout(form)
+     layout._xmlchildnamespaces = {'Char':'GNUe:Layout:Char'}
+     layout.Char__width = 40
+     layout.Char__height = 12
      GFObjects.GFPage(layout)
      return form
  
***************
*** 98,103 ****
--- 101,110 ----
    def inventoryObject(self, object):
      if object._type == 'GFForm':
        object._blockMap = {}
+     elif object._type == 'GFLogic':
+       object._parent._logic = object
+     elif object._type == 'GFLayout':
+       object._parent._layout = object
      elif object._type == 'GFBlock':
        if self.rootObject._blockMap.has_key(object.name):
          raise "Warning: Multiple blocks with name %s" % object.name
***************
*** 204,209 ****
--- 211,219 ----
      for child in other:
        self.rootObject._children.append(child)
  
+   # Used by TemplateParser to build a wizard.current dict
+   def buildWizardCurrentDict(self):
+     return {}
  
    # Hack having to do with UIwxpython import
    def uiEventTrap(self, event):
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.36 
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.37
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.36   Mon Nov 25 
23:23:33 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py        Wed Nov 27 
19:11:31 2002
***************
*** 219,226 ****
          if field=='text':
            #TODO: this will butcher align=center setups
            if (not hasattr(object,'alignment')) or ( object.alignment == 
'left'):
!             if not hasattr(object,'width') or object.width != len(value):
!               object.width=len(value)
                # TODO: This should probably trigger a new ObjectModified event
                event.new['width'] = object.width
  
--- 219,226 ----
          if field=='text':
            #TODO: this will butcher align=center setups
            if (not hasattr(object,'alignment')) or ( object.alignment == 
'left'):
!             if not hasattr(object,'Char__width') or object.Char__width != 
len(value):
!               object.Char__width=len(value)
                # TODO: This should probably trigger a new ObjectModified event
                event.new['width'] = object.width
  
***************
*** 321,328 ****
        self.borderPercentage = (float(gConfig('borderPercentage')) / 100)
        self.textPercentage = (float(gConfig('textPercentage')) / 100)
  
!       width = self.rootObject.width
!       height = self.rootObject.height
  
        self.widgetWidth = (self.charWidth * self.borderPercentage)
        self.widgetHeight = (self.charHeight * self.borderPercentage) + 3
--- 321,328 ----
        self.borderPercentage = (float(gConfig('borderPercentage')) / 100)
        self.textPercentage = (float(gConfig('textPercentage')) / 100)
  
!       width = self.rootObject._layout.Char__width
!       height = self.rootObject._layout.Char__height
  
        self.widgetWidth = (self.charWidth * self.borderPercentage)
        self.widgetHeight = (self.charHeight * self.borderPercentage) + 3
***************
*** 485,492 ****
  
    def selectWidgetInArea(self, object, x1, y1, x2, y2):
      try:
!       if x1 <= object.x <= x2 and \
!          y1 <= object.y <= y2:
          self._currentSelection[object._widgetHandler] = 1
          object._widgetHandler.setSelected(1)
      except AttributeError:
--- 485,492 ----
  
    def selectWidgetInArea(self, object, x1, y1, x2, y2):
      try:
!       if x1 <= object.Char__x <= x2 and \
!          y1 <= object.Char__y <= y2:
          self._currentSelection[object._widgetHandler] = 1
          object._widgetHandler.setSelected(1)
      except AttributeError:
Index: gnue/designer/src/forms/LayoutEditor/WidgetHandler.py
diff -c gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.5 
gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.6
*** gnue/designer/src/forms/LayoutEditor/WidgetHandler.py:1.5   Mon Nov 25 
00:41:42 2002
--- gnue/designer/src/forms/LayoutEditor/WidgetHandler.py       Wed Nov 27 
19:11:31 2002
***************
*** 147,154 ****
  
      data = [ { "Type" : "selectedWidgets",
                 "Attributes": {
!                    'startingX': object.x + int(x/self.instance.gridWidth),
!                    'startingY': object.y + int(y/self.instance.gridHeight),
                     }
                 }]
  #        "name": dname,
--- 147,154 ----
  
      data = [ { "Type" : "selectedWidgets",
                 "Attributes": {
!                    'startingX': object.Char__x + 
int(x/self.instance.gridWidth),
!                    'startingY': object.Char__y + 
int(y/self.instance.gridHeight),
                     }
                 }]
  #        "name": dname,
***************
*** 237,243 ****
        if self.object._type == 'GFBox':
          self.__popupAttr = 'label'
          x = self.widget.GetPosition().x + (self.instance.gridWidth/2)
!         width = (self.object.width - 2) * self.instance.gridWidth
        else:
          self.__popupAttr = 'text'
          x = self.widget.GetPosition().x
--- 237,243 ----
        if self.object._type == 'GFBox':
          self.__popupAttr = 'label'
          x = self.widget.GetPosition().x + (self.instance.gridWidth/2)
!         width = (self.object.Char__width - 2) * self.instance.gridWidth
        else:
          self.__popupAttr = 'text'
          x = self.widget.GetPosition().x
***************
*** 272,278 ****
      nx = dx * self.instance.gridWidth
      ny = dy * self.instance.gridHeight
  
!     if (self.object.width + dx < 0 or self.object.height + dy < 0):
        return 0
      else:
        for widget in self.mainWidget.widgets:
--- 272,278 ----
      nx = dx * self.instance.gridWidth
      ny = dy * self.instance.gridHeight
  
!     if (self.object.Char__width + dx < 0 or self.object.Char__height + dy < 
0):
        return 0
      else:
        for widget in self.mainWidget.widgets:
***************
*** 282,294 ****
        oldVals = {}
        newVals = {}
        if dx:
!         oldVals['width'] = self.object.width
!         self.object.width = self.object.width + dx
!         newVals['width'] = self.object.width
        if dy:
!         oldVals['height'] = self.object.height
!         self.object.height = self.object.height + dy
!         newVals['height'] = self.object.height
  
        self.instance.dispatchEvent('ObjectModified', object=self.object,
                                    originator="Forms::LayoutEditor",
--- 282,294 ----
        oldVals = {}
        newVals = {}
        if dx:
!         oldVals['Char:width'] = self.object.Char__width
!         self.object.Char__width = self.object.Char__width + dx
!         newVals['Char:width'] = self.object.Char__width
        if dy:
!         oldVals['Char:height'] = self.object.Char__height
!         self.object.Char__height = self.object.Char__height + dy
!         newVals['Char:height'] = self.object.Char__height
  
        self.instance.dispatchEvent('ObjectModified', object=self.object,
                                    originator="Forms::LayoutEditor",
***************
*** 310,316 ****
      nx = dx * self.instance.gridWidth
      ny = dy * self.instance.gridHeight
  
!     if (self.object.x + dx < 0 or self.object.y + dy < 0):
        return 0
      else:
        for widget in self.mainWidget.widgets:
--- 310,316 ----
      nx = dx * self.instance.gridWidth
      ny = dy * self.instance.gridHeight
  
!     if (self.object.Char__x + dx < 0 or self.object.Char__y + dy < 0):
        return 0
      else:
        for widget in self.mainWidget.widgets:
***************
*** 319,331 ****
        oldVals = {}
        newVals = {}
        if dx:
!         oldVals['x'] = self.object.x
!         self.object.x = self.object.x + dx
!         newVals['x'] = self.object.x
        if dy:
!         oldVals['y'] = self.object.y
!         self.object.y = self.object.y + dy
!         newVals['y'] = self.object.y
  
        self.instance.dispatchEvent('ObjectModified', object=self.object,
                                    originator="Forms::LayoutEditor",
--- 319,331 ----
        oldVals = {}
        newVals = {}
        if dx:
!         oldVals['Char:x'] = self.object.Char__x
!         self.object.Char__x += dx
!         newVals['Char:x'] = self.object.Char__x
        if dy:
!         oldVals['Char:y'] = self.object.Char__y
!         self.object.Char__y +=  dy
!         newVals['Char:y'] = self.object.Char__y
  
        self.instance.dispatchEvent('ObjectModified', object=self.object,
                                    originator="Forms::LayoutEditor",
Index: gnue/designer/src/forms/wizards/AddBlock.py
diff -c gnue/designer/src/forms/wizards/AddBlock.py:1.4 
gnue/designer/src/forms/wizards/AddBlock.py:1.5
*** gnue/designer/src/forms/wizards/AddBlock.py:1.4     Thu Nov 14 20:27:57 2002
--- gnue/designer/src/forms/wizards/AddBlock.py Wed Nov 27 19:11:31 2002
***************
*** 60,84 ****
      # Step #0 / Get Name
      #
      if step == '0':
!         
        content = [WizardText('This will insert a new block.'),
                   WizardInput('name',label='Object Name:',required=1,size=20)]
!         
        return   { 'title': 'Add Block',
                   'content': content,
                   'prev': None,
                   'next': None }
!                                         
    ###############
    #
    # We have all the data, so generate our widget.
    #
    def Finalize(self):
  
!     attrs = {'name': self.variables['name'] or 'Block_1'}
      # Find form...
!     form = self.current.findParentOfType('GFForm')
!     block = self.AddElement('block', form,attrs)
  
      return 1
  
--- 60,84 ----
      # Step #0 / Get Name
      #
      if step == '0':
! 
        content = [WizardText('This will insert a new block.'),
                   WizardInput('name',label='Object Name:',required=1,size=20)]
! 
        return   { 'title': 'Add Block',
                   'content': content,
                   'prev': None,
                   'next': None }
! 
    ###############
    #
    # We have all the data, so generate our widget.
    #
    def Finalize(self):
  
!     attrs = {'name': self.GetUniqueName(self.variables['name'] or 'Block1')}
      # Find form...
!     logic = self.current['logic']
!     block = self.AddElement('block', logic, attrs)
  
      return 1
  
Index: gnue/designer/src/forms/wizards/AddBox.py
diff -c gnue/designer/src/forms/wizards/AddBox.py:1.2 
gnue/designer/src/forms/wizards/AddBox.py:1.3
*** gnue/designer/src/forms/wizards/AddBox.py:1.2       Thu Nov 14 20:01:25 2002
--- gnue/designer/src/forms/wizards/AddBox.py   Wed Nov 27 19:11:31 2002
***************
*** 62,74 ****
  
      # Create element
      self.AddElement( 'box',
!                      self.current.findParentOfType('GFPage'),
!                      { 'name': 'Box_1',
                         'label': 'I am a Box',
!                        'x': self.x,
!                        'y': self.y,
!                        'width': self.width > 2 and self.width or 10,
!                        'height': self.height > 2 and self.height or 4})
  
      return 1
  
--- 62,74 ----
  
      # Create element
      self.AddElement( 'box',
!                      self.current['page'],
!                      { 'name': self.GetUniqueName('Box1'),
                         'label': 'I am a Box',
!                        'Char:x': self.x,
!                        'Char:y': self.y,
!                        'Char:width': self.width > 2 and self.width or 10,
!                        'Char:height': self.height > 2 and self.height or 4})
  
      return 1
  
Index: gnue/designer/src/forms/wizards/AddButton.py
diff -c gnue/designer/src/forms/wizards/AddButton.py:1.2 
gnue/designer/src/forms/wizards/AddButton.py:1.3
*** gnue/designer/src/forms/wizards/AddButton.py:1.2    Thu Nov 14 20:01:25 2002
--- gnue/designer/src/forms/wizards/AddButton.py        Wed Nov 27 19:11:31 2002
***************
*** 126,167 ****
    def Finalize(self):
  
  
!     name = self.variables['name'] or 'Button_1'
      label = self.variables['label'] or name
!     triggerName = name + "_Trigger"
      attrs = {'name': name,
               'label': label,
!              'trigger': triggerName,
!              'x': self.x,
!              'y': self.y,
!              'width': max(self.width, len(label) + 2),
!              'height': self.height or 1}
  
!     button = self.AddElement('button', self.current, attrs)
  
      action, info = string.split(self.variables['action'],':')
  
      if action == 'b':
!       block = self.current.findParentOfType('GFBlock')
!       if not block:
!         block = self.current.findChildOfType('GFBlock')
!         if not block:
!           block = self.form.findChildOfType('GFBlock')
!       if not block:
!         blockName = 'NoBlock'
!       else:
!         blockName = block.name
! 
  
  
      code = triggerTemplates[action] % locals()
  
- 
      trigger = self.AddElement('trigger',
!                               self.form,
                                attributes = {
!                                 'type':'NAMED',
!                                 'name': triggerName },
                                content = code)
  
      return 1
--- 126,156 ----
    def Finalize(self):
  
  
!     name = self.GetUniqueName(self.variables['name'] or 'Button1')
      label = self.variables['label'] or name
! 
      attrs = {'name': name,
               'label': label,
!              'Char:x': self.x,
!              'Char:y': self.y,
!              'Char:width': max(self.width, len(label) + 2),
!              'Char:height': self.height or 1}
  
!     button = self.AddElement('button', self.current['page'], attrs)
  
      action, info = string.split(self.variables['action'],':')
  
      if action == 'b':
!       block = self.current['block']
!       blockName = block.name
  
  
      code = triggerTemplates[action] % locals()
  
      trigger = self.AddElement('trigger',
!                               button,
                                attributes = {
!                                 'type':'On-Action' },
                                content = code)
  
      return 1
***************
*** 188,194 ****
  triggerTemplates = {
  't': """\
  ##
! ## %(triggerName)s [Button Trigger]
  ##
  
  # Your code goes here
--- 177,183 ----
  triggerTemplates = {
  't': """\
  ##
! ## [Button On-Action Trigger]
  ##
  
  # Your code goes here
***************
*** 197,203 ****
  
  'b': """\
  ##
! ## %(triggerName)s [Button Trigger]
  ##
  
  # Perform a block-level %(info)s
--- 186,192 ----
  
  'b': """\
  ##
! ## [Button On-Action Trigger]
  ##
  
  # Perform a block-level %(info)s
***************
*** 206,212 ****
  
  'f': """\
  ##
! ## %(triggerName)s [Button Trigger]
  ##
  
  # Perform a form-level %(info)s
--- 195,201 ----
  
  'f': """\
  ##
! ## [Button On-Action Trigger]
  ##
  
  # Perform a form-level %(info)s
Index: gnue/designer/src/forms/wizards/AddDataSource.py
diff -c gnue/designer/src/forms/wizards/AddDataSource.py:1.4 
gnue/designer/src/forms/wizards/AddDataSource.py:1.5
*** gnue/designer/src/forms/wizards/AddDataSource.py:1.4        Fri Nov 15 
15:22:03 2002
--- gnue/designer/src/forms/wizards/AddDataSource.py    Wed Nov 27 19:11:31 2002
***************
*** 136,143 ****
  
      # Create new datasource
      datasource = self.AddElement('datasource', self.form,
!         { 'name': self.variables['name'],
!           'database': self.variables['connection'],
            'table': self.variables['table'] } )
  
  
--- 136,143 ----
  
      # Create new datasource
      datasource = self.AddElement('datasource', self.form,
!         { 'name': self.GetUniqueName(self.variables['name']),
!           'connection': self.variables['connection'],
            'table': self.variables['table'] } )
  
  
***************
*** 151,158 ****
    #
    def __getExistingDatasources(self):
      self.__firstConnection = None
!     for child in self.form._children:
!       if child._type == 'GFDataSource' and hasattr(child,'table'):
          if not self.__firstConnection:
            self.__firstConnection = child.database
            break
--- 151,158 ----
    #
    def __getExistingDatasources(self):
      self.__firstConnection = None
!     for child in self.form.findChildrenOfType('GFDataSource'):
!       if hasattr(child,'table'):
          if not self.__firstConnection:
            self.__firstConnection = child.database
            break
Index: gnue/designer/src/forms/wizards/AddDropDown.py
diff -c gnue/designer/src/forms/wizards/AddDropDown.py:1.13 
gnue/designer/src/forms/wizards/AddDropDown.py:1.14
*** gnue/designer/src/forms/wizards/AddDropDown.py:1.13 Sat Nov 16 00:46:04 2002
--- gnue/designer/src/forms/wizards/AddDropDown.py      Wed Nov 27 19:11:31 2002
***************
*** 60,65 ****
--- 60,69 ----
      self.y = y
      self.width = width
      self.height = height
+ 
+     if not self.current['block']:
+       raise InsufficientInformation, _("There are no blocks in this form.")
+ 
      self.__getExistingDatasources()
  
  
***************
*** 234,242 ****
      # Create new datasource
      if self.variables['datasource'] == 0:
        datasource = self.AddElement('datasource', self.form,
!         { 'name': "dtsDrp_%s_%s" % (self.variables['table'],
!                                     self.variables['name']),
!           'database': self.variables['connection'],
            'prequery': 1,
            'table': self.variables['table'] } )
        keyfield = self.variables['key']
--- 238,246 ----
      # Create new datasource
      if self.variables['datasource'] == 0:
        datasource = self.AddElement('datasource', self.form,
!         { 'name': self.GetUniqueName("dtsDrp_%s_%s" % 
(self.variables['table'],
!                                      self.variables['name'])),
!           'connection': self.variables['connection'],
            'prequery': 1,
            'table': self.variables['table'] } )
        keyfield = self.variables['key']
***************
*** 251,257 ****
      # Create a "static" datasource
      else:
        datasource = self.AddElement('datasource', self.form,
!         { 'name': "dtsDrpStatic%s" % self.variables['name'],
            'type': "static" } )
        keyfield = 'key'
        descrfield = 'descr'
--- 255,261 ----
      # Create a "static" datasource
      else:
        datasource = self.AddElement('datasource', self.form,
!         { 'name': self.GetUniqueName("dtsDrpStatic%s" % 
self.variables['name']),
            'type': "static" } )
        keyfield = 'key'
        descrfield = 'descr'
***************
*** 265,271 ****
          except ValueError:
            pass
          ssr = self.AddElement('staticsetrow', ss)
!         self.AddElement('staticsetfield',ssr,{'name': 'key','value': key})
          self.AddElement('staticsetfield',ssr,{'name': 'descr','value': descr})
  
  
--- 269,275 ----
          except ValueError:
            pass
          ssr = self.AddElement('staticsetrow', ss)
!         self.AddElement('staticsetfield',ssr,{'name': 'key', 'value': key})
          self.AddElement('staticsetfield',ssr,{'name': 'descr','value': descr})
  
  
***************
*** 274,299 ****
      #
  
      # Make sure we find a Block
!     block = self.current.findParentOfType('GFBlock')
!     if not block:
!       block = 
self.current.findParentOfType('GFPage').findChildOfType('GFBlock')
!       if not block:
!         # Create a block
!         block = self.AddElement('block', 
self.current.findParentOfType('GFPage'))
  
!     self.AddElement('entry', self.current.findChildOfType('GFBlock'),
!                     { 'name': 'fld%s' % self.variables['name'],
                        'field': self.variables['name'],
-                       'style': 'dropdown',
-                       'x': self.x,
-                       'y': self.y,
-                       'width': self.width or 10,
-                       'height': 1,
                        'fk_source': datasource.name,
                        'fk_key': keyfield,
                        'fk_description': descrfield } )
  
  
      return 1
  
  
--- 278,305 ----
      #
  
      # Make sure we find a Block
!     block = self.current['block']
!     page = self.current['page']
  
!     field = self.AddElement('field', block,
!                     { 'name': self.GetUniqueName('fld%s' % 
self.variables['name'], block),
                        'field': self.variables['name'],
                        'fk_source': datasource.name,
                        'fk_key': keyfield,
                        'fk_description': descrfield } )
  
  
+     self.AddElement('entry', page,
+                     { 'name': self.GetUniqueName('ntry%s' % 
self.variables['name'], page),
+                       'field': field.name,
+                       'block': block.name,
+                       'style': 'dropdown',
+                       'Char:x': self.x,
+                       'Char:y': self.y,
+                       'Char:width': self.width or 10,
+                       'Char:height': 1 } )
+ 
+ 
      return 1
  
  
***************
*** 306,313 ****
      self.__firstConnection = None
      self.__datasourceSet = []
      self.__datasourceMap = {}
!     for child in self.form._children:
!       if child._type == 'GFDataSource' and hasattr(child,'table'):
          self.__datasourceSet.append((child.name,"%s (%s)" % (child.name, 
child.table)))
          self.__datasourceMap[child.name] = child
          if not self.__firstConnection:
--- 312,319 ----
      self.__firstConnection = None
      self.__datasourceSet = []
      self.__datasourceMap = {}
!     for child in self.form.findChildrenOfType('GFDataSource'):
!       if hasattr(child,'table'):
          self.__datasourceSet.append((child.name,"%s (%s)" % (child.name, 
child.table)))
          self.__datasourceMap[child.name] = child
          if not self.__firstConnection:
Index: gnue/designer/src/forms/wizards/AddEntry.py
diff -c gnue/designer/src/forms/wizards/AddEntry.py:1.4 
gnue/designer/src/forms/wizards/AddEntry.py:1.5
*** gnue/designer/src/forms/wizards/AddEntry.py:1.4     Thu Nov 14 20:01:25 2002
--- gnue/designer/src/forms/wizards/AddEntry.py Wed Nov 27 19:11:31 2002
***************
*** 51,81 ****
      self.width = width
      self.height = height
  
  
  
    ###############
    #
!   # We have all the data, so generate our widget. 
    #
    def Finalize(self):
  
  
!     attrs = {'name': 'Entry_1',
!              'x': self.x,
!              'y': self.y,
!              'width': self.width or 10,
!              'height': self.height or 1}
  
! 
!     # Find or create parent block...
!     block = self.current.findChildOfType('GFBlock')
!     if not block:
!       page = self.current.findChildOfType('GFPage')
!       block = self.AddElement('block', page)
  
  
      # Create entry element
!     entry = self.AddElement('entry', block, attrs)
  
      return 1
  
--- 51,83 ----
      self.width = width
      self.height = height
  
+     if not self.current['block']:
+       raise InsufficientInformation, _("There are no blocks in this form.")
  
  
    ###############
    #
!   # We have all the data, so generate our widget.
    #
    def Finalize(self):
  
+     page = self.current['page']
+     block = self.current['block']
  
!     field = self.AddElement('field',block,
!                            {'name': 
self.GetUniqueName('UnboundField1',block)})
  
!     attrs = {'name': self.GetUniqueName('Entry1',page),
!              'field': field.name,
!              'block': block.name,
!              'Char:x': self.x,
!              'Char:y': self.y,
!              'Char:width': self.width or 10,
!              'Char:height': self.height or 1}
  
  
      # Create entry element
!     entry = self.AddElement('entry', page, attrs)
  
      return 1
  
Index: gnue/designer/src/forms/wizards/AddLabel.py
diff -c gnue/designer/src/forms/wizards/AddLabel.py:1.2 
gnue/designer/src/forms/wizards/AddLabel.py:1.3
*** gnue/designer/src/forms/wizards/AddLabel.py:1.2     Thu Nov 14 20:01:25 2002
--- gnue/designer/src/forms/wizards/AddLabel.py Wed Nov 27 19:11:31 2002
***************
*** 58,68 ****
    # We have all the data, so generate our widget.
    #
    def Finalize(self):
!   
      # Create element
      self.AddElement( 'label',
!                      self.current.findParentOfType('GFPage'),
!                      { 'name': 'Label_1',
                         'text': 'Label:',
                         'x': self.x,
                         'y': self.y,
--- 58,70 ----
    # We have all the data, so generate our widget.
    #
    def Finalize(self):
! 
!     page = self.current['page']
! 
      # Create element
      self.AddElement( 'label',
!                      page,
!                      { 'name': self.GetUniqueName('Label1',page),
                         'text': 'Label:',
                         'x': self.x,
                         'y': self.y,
Index: gnue/designer/src/forms/wizards/AddPage.py
diff -c gnue/designer/src/forms/wizards/AddPage.py:1.6 
gnue/designer/src/forms/wizards/AddPage.py:1.7
*** gnue/designer/src/forms/wizards/AddPage.py:1.6      Thu Nov 14 20:01:25 2002
--- gnue/designer/src/forms/wizards/AddPage.py  Wed Nov 27 19:11:31 2002
***************
*** 115,128 ****
    def Finalize(self):
  
  
!     attrs = {'name': self.variables['name'] or 'Page_1'}
  
      try:
        attrs['caption'] = self.variables['caption'] or 'New Tab'
      except KeyError:
        pass
  
!     page = self.AddElement('page', self.form, attrs)
  
      return 1
  
--- 115,128 ----
    def Finalize(self):
  
  
!     attrs = {'name': self.GetUniqueName(self.variables['name'] or 'Page1')}
  
      try:
        attrs['caption'] = self.variables['caption'] or 'New Tab'
      except KeyError:
        pass
  
!     page = self.AddElement('page', self.current['layout'], attrs)
  
      return 1
  




reply via email to

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