commit-gnue
[Top][All Lists]
Advanced

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

gnue/designer/src EventEditor.py Instance.py Me...


From: Jason Cater
Subject: gnue/designer/src EventEditor.py Instance.py Me...
Date: Sat, 30 Nov 2002 18:00:36 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/11/30 18:00:36

Modified files:
        designer/src   : EventEditor.py Instance.py MenuBar.py 
                         TemplateBase.py ToolDock.py ToolPanel.py 
                         TreeView.py 
        designer/src/forms: Incubator.py 
        designer/src/forms/LayoutEditor: LayoutEditor.py 
                                         LayoutEditorTools.py 
        designer/src/forms/wizards: AddButton.py 

Log message:
        * Temporarily reinstated the toolbar (warning: if the layout editor 
isn't part of the root window, program may crash... trying to work around wx 
not supporting multiple toolbars before a fix is available)
        * Fixed the function that guarantees unique object names
        * Removed the delete-object bugs
        * More TreeView fixes

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/EventEditor.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/Instance.py.diff?tr1=1.72&tr2=1.73&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/MenuBar.py.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TemplateBase.py.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/ToolDock.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/ToolPanel.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/TreeView.py.diff?tr1=1.28&tr2=1.29&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/Incubator.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditor.py.diff?tr1=1.37&tr2=1.38&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/AddButton.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gnue/designer/src/EventEditor.py
diff -c gnue/designer/src/EventEditor.py:1.4 
gnue/designer/src/EventEditor.py:1.5
*** gnue/designer/src/EventEditor.py:1.4        Fri Nov 29 02:06:59 2002
--- gnue/designer/src/EventEditor.py    Sat Nov 30 18:00:35 2002
***************
*** 126,132 ****
  
        for key in self.rowList:
          self.grid.SetRowLabelValue(i,self.triggerList[key])
!         self.grid.SetCellEditor(i, 0, 
RestrictedCellEditor(self.grid,self.triggerTypes))
          try:
            self.grid.SetCellValue(i,0, "%s" % mappedTriggers[key])
          except KeyError:
--- 126,132 ----
  
        for key in self.rowList:
          self.grid.SetRowLabelValue(i,self.triggerList[key])
!         self.grid.SetCellEditor(i, 0, 
EventCellEditor(self.grid,self.triggerTypes))
          try:
            self.grid.SetCellValue(i,0, "%s" % mappedTriggers[key])
          except KeyError:
***************
*** 278,284 ****
  ##
  ##
  ##
! class RestrictedCellEditor (CharCellEditor):
    def __init__(self, grid, attributes):
      CharCellEditor.__init__(self, grid, attributes)
      self.valueList = attributes.keys()
--- 278,284 ----
  ##
  ##
  ##
! class EventCellEditor (CharCellEditor):
    def __init__(self, grid, attributes):
      CharCellEditor.__init__(self, grid, attributes)
      self.valueList = attributes.keys()
Index: gnue/designer/src/Instance.py
diff -c gnue/designer/src/Instance.py:1.72 gnue/designer/src/Instance.py:1.73
*** gnue/designer/src/Instance.py:1.72  Fri Nov 29 02:06:59 2002
--- gnue/designer/src/Instance.py       Sat Nov 30 18:00:35 2002
***************
*** 123,128 ****
--- 123,131 ----
  
      self._path = ""
  
+     self.globalAccelerators = []
+     self.globalAcceleratorListeners = []
+ 
      self.registerEventListeners({
                         'ObjectSelected'      : self.__onSetCurrentObject,
                         'ObjectCreated'       : self.__onCreateObject,
***************
*** 182,188 ****
--- 185,196 ----
      self.createWizards()
      self._menubar.buildMenu()
  
+     # Build accelerator list
+     accel = wxAcceleratorTable(self.globalAccelerators)
+     for child in [self] + self.globalAcceleratorListeners:
+       child.SetAcceleratorTable(accel)
  
+     # Add ourselve to the main app's instance list
      self._app.addInstance(self)
  
      # Fit the widgets to the screen
***************
*** 460,486 ****
                                old=oa, new=na )
      self.makeDirty()
  
!   def __onDeleteObject (self, object, handler):
  
      # Delete the actual object from its parent
!     i = 0
!     while i < len(object._parent._children) and \
!        object._parent._children[i] != object:
!       i = i + 1
!     if object._parent._children[i] == object:
!       object._parent._children.pop(i)
  
      self.makeDirty()
  
  
    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
--- 468,495 ----
                                old=oa, new=na )
      self.makeDirty()
  
!   def __onDeleteObject (self, event):
!     object = event.object
  
      # Delete the actual object from its parent
!     object._parent._children.pop(object._parent._children.index(object))
  
      self.makeDirty()
  
  
    def getNextGenericName (self, type):
      return self.getUniqueName(type.capitalize() + '1')
  
  
!   def getUniqueName(self, name, limitingObject=None):
! 
!     try:
!       usedNames = limitingObject.usedNames
!     except:
!       usedNames = self.usedNames
! 
!     if name.lower() not in usedNames:
!       usedNames.append(name.lower())
        return name
  
      index = len(name) - 1
***************
*** 496,506 ****
        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)
  
  
  
--- 505,518 ----
        start = int(name[index:])
        base = name[:index]
  
!     while ("%s%s" % (base, start)).lower() in usedNames:
        start += 1
  
!     rv = "%s%s" % (base, start)
!     usedNames.append(rv.lower())
!     if rv.lower() not in self.usedNames:
!       self.usedNames.append(rv.lower())
!     return rv
  
  
  
Index: gnue/designer/src/MenuBar.py
diff -c gnue/designer/src/MenuBar.py:1.34 gnue/designer/src/MenuBar.py:1.35
*** gnue/designer/src/MenuBar.py:1.34   Mon Nov 25 00:41:41 2002
--- gnue/designer/src/MenuBar.py        Sat Nov 30 18:00:35 2002
***************
*** 103,113 ****
       self._fileConnect = wxMenu()
  
       self._file.AppendMenu(ID_NEW, _("&New"), self._fileNew, _("Create a new 
object"))
!      self._file.Append(ID_OPEN, _("&Open..."), _("Open an existing object"))
       self._file.AppendMenu(ID_OPEN_RECENT, _("Open &Recent"), 
self._fileRecent,
                             _("Open an existing object"))
       self._file.AppendSeparator()
!      self._file.Append(ID_SAVE, _("&Save"), _("Save the current object"))
       self._file.Append(ID_SAVE_AS, _("Save &As..."),
                         _("Save the current form under a new name"))
       self._file.Append(ID_SAVE_ALL, _("Save A&ll"),
--- 103,113 ----
       self._fileConnect = wxMenu()
  
       self._file.AppendMenu(ID_NEW, _("&New"), self._fileNew, _("Create a new 
object"))
!      self._file.Append(ID_OPEN, _("&Open...\tCtrl+O"), _("Open an existing 
object"))
       self._file.AppendMenu(ID_OPEN_RECENT, _("Open &Recent"), 
self._fileRecent,
                             _("Open an existing object"))
       self._file.AppendSeparator()
!      self._file.Append(ID_SAVE, _("&Save\tCtrl+S"), _("Save the current 
object"))
       self._file.Append(ID_SAVE_AS, _("Save &As..."),
                         _("Save the current form under a new name"))
       self._file.Append(ID_SAVE_ALL, _("Save A&ll"),
***************
*** 119,125 ****
       self._file.Append(ID_RELOAD, _("Reload"),
          _("Reload the current object as of its last save (abandoning any 
changes)"))
       self._file.AppendSeparator()
!      self._file.Append(ID_CLOSE, _("&Close"), _("Close the current object"))
       self._file.AppendSeparator()
       self._file.Append(ID_EXIT, _("E&xit"), _("Exit GNUe Designer"))
  
--- 119,125 ----
       self._file.Append(ID_RELOAD, _("Reload"),
          _("Reload the current object as of its last save (abandoning any 
changes)"))
       self._file.AppendSeparator()
!      self._file.Append(ID_CLOSE, _("&Close\tCtrl+W"), _("Close the current 
object"))
       self._file.AppendSeparator()
       self._file.Append(ID_EXIT, _("E&xit"), _("Exit GNUe Designer"))
  
Index: gnue/designer/src/TemplateBase.py
diff -c gnue/designer/src/TemplateBase.py:1.19 
gnue/designer/src/TemplateBase.py:1.20
*** gnue/designer/src/TemplateBase.py:1.19      Fri Nov 29 02:06:59 2002
--- gnue/designer/src/TemplateBase.py   Sat Nov 30 18:00:35 2002
***************
*** 201,208 ****
      return list
  
  
!   def GetUniqueName(self, name):
!     self.instance.getUniqueName(name)
  
  
    ##########################################
--- 201,208 ----
      return list
  
  
!   def GetUniqueName(self, name, limitingObject=None):
!     return self.instance.getUniqueName(name, limitingObject)
  
  
    ##########################################
Index: gnue/designer/src/ToolDock.py
diff -c gnue/designer/src/ToolDock.py:1.1 gnue/designer/src/ToolDock.py:1.2
*** gnue/designer/src/ToolDock.py:1.1   Mon Nov 25 00:41:42 2002
--- gnue/designer/src/ToolDock.py       Sat Nov 30 18:00:35 2002
***************
*** 70,76 ****
      self.SetFont(font)
  
    def AddTool(self, title, baseclass, rootObject, instance):
-     print "%s %s" % (title, baseclass.uses_feedback_header)
      if baseclass.uses_feedback_header:
        page = _MultiFeedBackHandler(self)
        control = baseclass(instance, rootObject, page)
--- 70,75 ----
Index: gnue/designer/src/ToolPanel.py
diff -c gnue/designer/src/ToolPanel.py:1.3 gnue/designer/src/ToolPanel.py:1.4
*** gnue/designer/src/ToolPanel.py:1.3  Mon Nov 25 23:23:33 2002
--- gnue/designer/src/ToolPanel.py      Sat Nov 30 18:00:35 2002
***************
*** 50,55 ****
--- 50,56 ----
      self.frame = parentWindow
      self.instance = instance
      self.rootObject = rootObject
+     self.instance.globalAcceleratorListeners.append(self)
  
      self.init()
  
Index: gnue/designer/src/TreeView.py
diff -c gnue/designer/src/TreeView.py:1.28 gnue/designer/src/TreeView.py:1.29
*** gnue/designer/src/TreeView.py:1.28  Wed Nov 27 19:11:31 2002
--- gnue/designer/src/TreeView.py       Sat Nov 30 18:00:35 2002
***************
*** 125,132 ****
      if hasattr(object, '_treeItemTrigger'):
        self.Delete(object._treeItemTrigger)
      if hasattr(object, '_treeItem'):
!       if self.GetSelection() == object._treeItem:
!         self.SelectItem(self.GetItemParent(object._treeItem))
        self.Delete(object._treeItem)
      self.Refresh()
  
--- 125,132 ----
      if hasattr(object, '_treeItemTrigger'):
        self.Delete(object._treeItemTrigger)
      if hasattr(object, '_treeItem'):
!       if self.tree.GetSelection() == object._treeItem:
!         self.tree.SelectItem(self.GetItemParent(object._treeItem))
        self.Delete(object._treeItem)
      self.Refresh()
  
Index: gnue/designer/src/forms/Incubator.py
diff -c gnue/designer/src/forms/Incubator.py:1.5 
gnue/designer/src/forms/Incubator.py:1.6
*** gnue/designer/src/forms/Incubator.py:1.5    Fri Nov 29 02:07:00 2002
--- gnue/designer/src/forms/Incubator.py        Sat Nov 30 18:00:35 2002
***************
*** 37,43 ****
  
    GDebug.printMesg(3,'Creating a "%s" object' % tag)
    GDebug.printMesg(6,"Object's parent is %s" % parentHint)
! 
    try:
      name = attributes['name']
    except KeyError:
--- 37,43 ----
  
    GDebug.printMesg(3,'Creating a "%s" object' % tag)
    GDebug.printMesg(6,"Object's parent is %s" % parentHint)
!   
    try:
      name = attributes['name']
    except KeyError:
***************
*** 127,133 ****
  
    for child in object._children:
      if not child._type == '_content_':
!       child.deleteObject(instance, form, child, firstRun=0)
  
    instance.dispatchEvent('ObjectDeleted',object=object, originator=__name__)
  
--- 127,133 ----
  
    for child in object._children:
      if not child._type == '_content_':
!       deleteObject(instance, form, child, firstRun=0)
  
    instance.dispatchEvent('ObjectDeleted',object=object, originator=__name__)
  
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditor.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.37 
gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.38
*** gnue/designer/src/forms/LayoutEditor/LayoutEditor.py:1.37   Wed Nov 27 
19:11:31 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditor.py        Sat Nov 30 
18:00:36 2002
***************
*** 60,71 ****
      self._app = self.instance._app
      self.widgets = {}
      self.widgets.update(UIwxpython.WIDGETS)
- ##    self.toolbar = LayoutEditorTools(self, self.frame)
      del self.widgets['GFPage']
  
      self.notebook = wxNotebook(self, -1, pos=wxPoint(4, 4), 
size=wxSize(32,32))
      self.backcolor = wxWHITE
  ##    self.propBar = PropertyBar(self)
  
      EVT_NOTEBOOK_PAGE_CHANGED(self,self.notebook.GetId(), self.OnPageSelected)
      EVT_SIZE(self, self.OnSize)
--- 60,72 ----
      self._app = self.instance._app
      self.widgets = {}
      self.widgets.update(UIwxpython.WIDGETS)
      del self.widgets['GFPage']
  
+ 
      self.notebook = wxNotebook(self, -1, pos=wxPoint(4, 4), 
size=wxSize(32,32))
      self.backcolor = wxWHITE
  ##    self.propBar = PropertyBar(self)
+     self.toolbar = LayoutEditorTools(self, self.frame)
  
      EVT_NOTEBOOK_PAGE_CHANGED(self,self.notebook.GetId(), self.OnPageSelected)
      EVT_SIZE(self, self.OnSize)
***************
*** 101,107 ****
        pass
  
  ## TODO: Fix me
! ##    self.frame.SetToolBar(self.toolbar)
  ##
  
    def inventoryObject(self, object):
--- 102,108 ----
        pass
  
  ## TODO: Fix me
!     self.instance.SetToolBar(self.toolbar)
  ##
  
    def inventoryObject(self, object):
Index: gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py
diff -c gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py:1.12 
gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py:1.13
*** gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py:1.12      Thu Nov 
14 20:01:25 2002
--- gnue/designer/src/forms/LayoutEditor/LayoutEditorTools.py   Sat Nov 30 
18:00:36 2002
***************
*** 51,57 ****
    def __init__(self, editor, frame):
      self.editor = editor
      wxToolBar.__init__(self, frame, -1)#, style=wxTB_DOCKABLE)
!     EventAware.__init__(self, editor._instance)
      self.registerEventListeners( {'BeginWizard' : self.onBeginWizard,
                                    'EndWizard' : self.onEndWizard,
                                    'MakeDirty' : self.onDirtyForm,
--- 51,57 ----
    def __init__(self, editor, frame):
      self.editor = editor
      wxToolBar.__init__(self, frame, -1)#, style=wxTB_DOCKABLE)
!     EventAware.__init__(self, editor.instance)
      self.registerEventListeners( {'BeginWizard' : self.onBeginWizard,
                                    'EndWizard' : self.onEndWizard,
                                    'MakeDirty' : self.onDirtyForm,
***************
*** 66,72 ****
          self.AddSeparator()
        else:
          handle, image = string.split(type,',',1)
!         help = self.editor._instance._menubar.getEventHelp(handle)
  
          if not help:
            print "Warning: No event tied to %s" % handle
--- 66,72 ----
          self.AddSeparator()
        else:
          handle, image = string.split(type,',',1)
!         help = self.editor.instance._menubar.getEventHelp(handle)
  
          if not help:
            print "Warning: No event tied to %s" % handle
***************
*** 97,103 ****
    def OnButtonSelected(self, event):
      self.ToggleTool(event.GetId(),0)
      handle = self.mapping[event.GetId()]
!     self.editor._instance._menubar.simulateMenuEvent(handle)
  
  ##    if self.editor.mode == handle:
  ##      self.editor.mode = 'move'
--- 97,103 ----
    def OnButtonSelected(self, event):
      self.ToggleTool(event.GetId(),0)
      handle = self.mapping[event.GetId()]
!     self.editor.instance._menubar.simulateMenuEvent(handle)
  
  ##    if self.editor.mode == handle:
  ##      self.editor.mode = 'move'
Index: gnue/designer/src/forms/wizards/AddButton.py
diff -c gnue/designer/src/forms/wizards/AddButton.py:1.3 
gnue/designer/src/forms/wizards/AddButton.py:1.4
*** gnue/designer/src/forms/wizards/AddButton.py:1.3    Wed Nov 27 19:11:31 2002
--- gnue/designer/src/forms/wizards/AddButton.py        Sat Nov 30 18:00:36 2002
***************
*** 125,131 ****
    #
    def Finalize(self):
  
- 
      name = self.GetUniqueName(self.variables['name'] or 'Button1')
      label = self.variables['label'] or name
  
--- 125,130 ----




reply via email to

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