[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue designer/src/navigator/LayoutEditor.py nav...
From: |
Jason Cater |
Subject: |
gnue designer/src/navigator/LayoutEditor.py nav... |
Date: |
Tue, 22 Jan 2002 20:25:46 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/01/22 20:25:45
Modified files:
designer/src/navigator: LayoutEditor.py
navigator/src : GNObjects.py
Log message:
implemented a basic GNUe Navigator module for GNUe Designer
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/navigator/LayoutEditor.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/navigator/src/GNObjects.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: gnue/designer/src/navigator/LayoutEditor.py
diff -c gnue/designer/src/navigator/LayoutEditor.py:1.2
gnue/designer/src/navigator/LayoutEditor.py:1.3
*** gnue/designer/src/navigator/LayoutEditor.py:1.2 Tue Jan 22 18:16:04 2002
--- gnue/designer/src/navigator/LayoutEditor.py Tue Jan 22 20:25:45 2002
***************
*** 26,34 ****
# NOTES:
! import sys, os, cPickle
from wxPython.wx import *
from gnue.common import GDebug, GConfig
class LayoutEditor (wxPanel):
--- 26,35 ----
# NOTES:
! import sys, os, cPickle, string
from wxPython.wx import *
from gnue.common import GDebug, GConfig
+ import RuntimeSettings
class LayoutEditor (wxPanel):
***************
*** 38,50 ****
self.instance = instance
self.rootObject = rootObject
self.frame = parentWindow
!
rootObject.walk(self.inventoryObject)
def inventoryObject(self, object):
! pass
def onSetCurrentObject (self, object, handler):
--- 39,67 ----
self.instance = instance
self.rootObject = rootObject
self.frame = parentWindow
!
!
! # Tell RuntimeSettings that we have information to save
! self.runtime_section = 'ProcessVisualEditor'
! RuntimeSettings.registerRuntimeSettingHandler(self.instance, self)
!
! self.splitter = wxSplitterWindow(self, -1)
!
! self.tree = MasterTreeView(self, self.splitter)
! self.list = ObjectEditor(self, self.splitter)
!
! self.splitter.SplitHorizontally(self.tree, self.list,100)
!
! self.finalize = 1
! EVT_SIZE(self, self.OnSize)
rootObject.walk(self.inventoryObject)
+ self.tree.postInit()
+
def inventoryObject(self, object):
! self.tree.inventoryObject(object)
def onSetCurrentObject (self, object, handler):
***************
*** 73,75 ****
--- 90,201 ----
return
if handler != __name__:
pass
+
+
+ #
+ # Used by RuntimeSettings
+ #
+ def saveRuntimeSettings(self):
+ x, y = self.GetPositionTuple()
+ width, height = self.GetSizeTuple()
+ return ( self.runtime_section,
+ { 'sash': self.splitter.GetSashPosition() } )
+
+
+ def OnSize(self, event):
+
+ self.splitter.SetSize(self.GetSize())
+
+ if self.finalize:
+ self.finalize = 0
+ self.splitter.SetSashPosition(\
+ RuntimeSettings.getint(self.runtime_section,'sash',100))
+
+
+ ############################################################################
+ #
+ #
+ #
+ class MasterTreeView(wxTreeCtrl):
+
+ def __init__(self, editor, parentWindow):
+ wxTreeCtrl.__init__(self, parentWindow, -1,
+ style=wxTR_HAS_BUTTONS|wxTR_EDIT_LABELS|wxTR_HAS_VARIABLE_ROW_HEIGHT)
+
+ self.editor = editor
+
+ self.editor.rootObject._treeItem = self.AddRoot( \
+ hasattr(self.editor.rootObject,'description') and \
+ self.editor.rootObject.description or 'Processes')
+
+ self.SetPyData(self.editor.rootObject._treeItem, self.editor.rootObject)
+
+ EVT_TREE_BEGIN_LABEL_EDIT(self, self.GetId(), self.OnBeginEdit)
+ EVT_TREE_END_LABEL_EDIT(self, self.GetId(), self.OnEndEdit)
+
+
+ def getName(self, object, includeDescr):
+
+ if hasattr(object,'description') and object.description != None:
+ description = object.description
+ if includeDescr:
+ if object._type == 'GNProcess':
+ description += ' [sub-process]'
+ elif object._type == 'GNStep':
+ description += ' [%s]' % object.type
+ else:
+ description = '(%s)'%object._type[2:]
+
+ return description
+
+
+ def inventoryObject(self, object):
+ if object._type == 'GNParameter':
+ return
+ if object._parent != None:
+
+ description = self.getName(object, 1)
+
+ object._treeItem = self.AppendItem(object._parent._treeItem,
description)
+ self.SetPyData(object._treeItem, object)
+ if object._type == 'GNProcess':
+ self.SetItemBold(object._treeItem,1)
+
+
+ def postInit(self):
+ self.editor.rootObject.walk(self.__expand)
+
+
+ def __expand(self, object):
+ if hasattr(object,'_treeItem') and self.ItemHasChildren(object._treeItem):
+ self.Expand(object._treeItem)
+
+
+ def OnBeginEdit(self, event):
+ object = self.GetPyData(event.GetItem())
+ if object == self.editor.rootObject:
+ event.Veto()
+ return
+ else:
+ self.SetItemText(object._treeItem,self.getName(object,0))
+
+
+ def OnEndEdit(self, event):
+ object = self.GetPyData(event.GetItem())
+ object.description = event.GetLabel()
+ self.editor.instance.onModifyObject(self, object, __name__)
+ self.SetItemText(object._treeItem, self.getName(object,1))
+ event.Veto()
+
+
+ ############################################################################
+ #
+ #
+ #
+ class ObjectEditor(wxListCtrl):
+
+ def __init__(self, editor, parentWindow):
+ wxListCtrl.__init__(self, parentWindow, -1)
+ self.editor = editor
+
+
Index: gnue/navigator/src/GNObjects.py
diff -c gnue/navigator/src/GNObjects.py:1.1 gnue/navigator/src/GNObjects.py:1.2
*** gnue/navigator/src/GNObjects.py:1.1 Tue Jan 8 17:16:55 2002
--- gnue/navigator/src/GNObjects.py Tue Jan 22 20:25:45 2002
***************
*** 29,34 ****
--- 29,35 ----
import sys, string, os
from gnue.common import GObjects, GDebug, GConfig
+ import GNParser
# Base class for all Navigator objects
***************
*** 47,52 ****
--- 48,56 ----
def setClientHandlers(self, handlers):
self._clientHandlers.update(handlers)
+
+ def dumpXML(self, treeDump=1):
+ return GNObject.dumpXML(self,GNParser.getXMLelements(), treeDump)
def _runForm(self, step):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue designer/src/navigator/LayoutEditor.py nav...,
Jason Cater <=