[Top][All Lists]
[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 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/designer/src EventEditor.py Instance.py Me...,
Jason Cater <=