commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef/designer/src Instance.py LayoutEdito...


From: Jason Cater
Subject: gnue/gnuef/designer/src Instance.py LayoutEdito...
Date: Sun, 17 Jun 2001 22:41:25 -0700

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    01/06/17 22:41:25

Modified files:
        gnuef/designer/src: Instance.py LayoutEditor.py MenuBar.py 
                            PropertyEditor.py TreeView.py 
                            TriggerEditor.py 

Log message:
        Misc changes

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/Instance.py.diff?cvsroot=OldCVS&tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/LayoutEditor.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/MenuBar.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/PropertyEditor.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/TreeView.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/TriggerEditor.py.diff?cvsroot=OldCVS&tr1=1.1&tr2=1.2&r1=text&r2=text

Patches:
Index: gnue/gnuef/designer/src/Instance.py
diff -u gnue/gnuef/designer/src/Instance.py:1.4 
gnue/gnuef/designer/src/Instance.py:1.5
--- gnue/gnuef/designer/src/Instance.py:1.4     Fri Jun 15 14:58:30 2001
+++ gnue/gnuef/designer/src/Instance.py Sun Jun 17 22:41:25 2001
@@ -69,7 +69,8 @@
 
     self.CreateStatusBar()
     self.SetStatusText('Moo!')
-    self.SetMenuBar(MainMenuBar(self))
+    self._menubar = MainMenuBar(self)
+    self.SetMenuBar(self._menubar)
     self.Show(true)
 
     # Split Plane
@@ -80,14 +81,18 @@
     hsplitter.SetMinimumPaneSize (100)
 
 
-    # Create structural view (tree)
+    # Create our tools
     self.tree = TreeView(self, self._form, hsplitter)
-
-    # Create layout panel/preview
     self.layoutEditor = LayoutEditor(self, vsplitter)
-
-    # This is a temp placeholder
     self.propertyEditor = PropertyEditor(hsplitter, self, self._form)
+    self.triggerEditorWindow = ToolFrame(self, "Trigger Editor")
+    self.triggerEditor = TriggerEditor(self.triggerEditorWindow, self, 
self._form)
+
+    # Store all 
+    self.objectListeners = [ self.tree, 
+                             self.layoutEditor, 
+                             self.propertyEditor, 
+                             self.triggerEditor ]
 
     self._form.walk(self.inventoryLoadedItems)
 
@@ -118,11 +123,23 @@
       self._pages.append(object)
 
 
-  def setCurrentObject (self, object, handler):
-    self.tree.setCurrentObject(object, handler)
-    self.propertyEditor.setCurrentObject(object, handler)
-    self.layoutEditor.setCurrentObject(object, handler)
+  def onSetCurrentObject (self, object, handler):
+    for listener in self.objectListeners: 
+      listener.onSetCurrentObject(object, handler)
+
+  def onCreateObject (self, object, handler):
+    for listener in self.objectListeners: 
+      listener.onCreateObject(object, handler)
+
+  def onModifyObject (self, object, handler, modifications):
+    for listener in self.objectListeners: 
+      listener.onModifyObject(object, handler)
+
+  def onDeleteObject (self, object, handler):
+    for listener in self.objectListeners: 
+      listener.onDeleteObject(object, handler)
 
+
   def getNextGenericName (self, type): 
     while 1: 
       if self._lastGenericNameSeq.has_key(string.lower(type)): 
@@ -222,5 +239,40 @@
 
 
 class ToolFrame (wxFrame): 
-  def __init__(self, app, title): 
-    wxFrame.__init__(self, app, -1, title)
+  def __init__(self, instance, title): 
+#    wxMiniFrame.__init__(self, instance, -1, title,
+#      style=wxMINIMIZE_BOX)
+    wxFrame.__init__(self, instance, -1, title, 
+      style=wxMINIMIZE_BOX|wxRESIZE_BORDER|wxCAPTION)#|wxFRAME_FLOAT_ON_PARENT)
+    self.title = title
+    self.instance = instance
+
+    # Add ourselves to the Window menu
+    menuID = wxNewId()
+    self.menu = self.instance._menubar.addTool(self, title)
+    
+    EVT_CLOSE(self, self.OnClose)
+    
+
+  # This event is set by MenuBar.addTool
+  # Called whenever menu item is selected
+  def OnMenuSelected(self, event): 
+    if self._menu.IsChecked(): 
+      self.show()
+    else: 
+      self.hide()
+
+  def show(self): 
+    self._menu.SetHelp("Hide the %s window"  % self.title)
+    self._menu.Check(1)
+    self.Show(1)
+
+  def hide(self): 
+    self._menu.SetHelp("Show the %s window" % self.title)
+    self._menu.Check(0)
+    self.Show(0)
+
+  def OnClose(self, event): 
+    self.hide()
+    event.Veto()
+
Index: gnue/gnuef/designer/src/LayoutEditor.py
diff -u gnue/gnuef/designer/src/LayoutEditor.py:1.1 
gnue/gnuef/designer/src/LayoutEditor.py:1.2
--- gnue/gnuef/designer/src/LayoutEditor.py:1.1 Fri Jun 15 14:58:30 2001
+++ gnue/gnuef/designer/src/LayoutEditor.py     Sun Jun 17 22:41:25 2001
@@ -40,17 +40,18 @@
     self._instance = instance
     self._form = instance._form
     self._app = instance._app
-    self.widgets = UIwxpython.WIDGETS
+    self.widgets = {}
+    self.widgets.update(UIwxpython.WIDGETS)
     del self.widgets['GFPage']
     self.pageNameLabel = wxStaticText(self, -1, "Page: ", pos=wxPoint(10,20))
     self._pageList = []  # Needed by UIwxpython
 
-  def setCurrentObject (self, object, handler):
+  def onSetCurrentObject (self, object, handler):
     if object == None: 
       for o in self._currentSelection.keys():
         o.setSelected(0)
       return
-    if handler != 'LayoutEditor': 
+    if handler != __name__: 
       for o in self._currentSelection.keys():
         o.setSelected(0)
 
@@ -61,6 +62,26 @@
       self._currentSelection[object._widgetHandler] = 1
       object._widgetHandler.setSelected(1)
 
+  def onCreateObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      for modification in modifications: 
+        attribute, value = modification
+
+  def onModifyObject (self, object, handler, modifications):
+    if object == None: 
+      return
+    if handler != __name__:
+      for modification in modifications: 
+        attribute, value = modification
+
+  def onDeleteObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      pass
+
   def drawPage(self, page): 
     self._currentSelection = {}
 
@@ -154,7 +175,7 @@
         selection.setSelected(0)
       else: 
         self._currentSelection[selection] = 1
-        self._instance.setCurrentObject(selection.object,'LayoutEditor')
+        self._instance.onSetCurrentObject(selection.object,__name__)
         selection.setSelected(1)
  
  
Index: gnue/gnuef/designer/src/MenuBar.py
diff -u gnue/gnuef/designer/src/MenuBar.py:1.1 
gnue/gnuef/designer/src/MenuBar.py:1.2
--- gnue/gnuef/designer/src/MenuBar.py:1.1      Tue Jun 12 10:18:26 2001
+++ gnue/gnuef/designer/src/MenuBar.py  Sun Jun 17 22:41:25 2001
@@ -31,14 +31,14 @@
 from gnue.forms import GFForm, GFInstance, GFParser, GFObjects, GFTrigger, 
GFLibrary, UIwxpython
 
 
-ID_NEW = 101
-ID_OPEN = 102
-ID_SAVE = 103
-ID_SAVE_AS = 104
-ID_CLOSE = 105
-ID_EXIT = 106
-ID_ABOUT = 107
-ID_RUN = 108
+ID_NEW = wxNewId()
+ID_OPEN = wxNewId()
+ID_SAVE = wxNewId()
+ID_SAVE_AS = wxNewId()
+ID_CLOSE = wxNewId()
+ID_EXIT = wxNewId()
+ID_ABOUT = wxNewId()
+ID_RUN = wxNewId()
 
 
 #
@@ -83,4 +83,13 @@
      self.Append(self._window, '&Window')
      self.Append(self._help, '&Help')
     
+
+  def addTool(self, toolFrame, title): 
+    
+    toolFrame._wxMenuID = wxNewId()
+    toolFrame._menu = wxMenuItem(self._window, toolFrame._wxMenuID, 
+          '&%s' % title, "Show or hide the %s" % title, 1)
+    self._window.AppendItem(toolFrame._menu)
+    EVT_MENU(self._frame, toolFrame._wxMenuID, toolFrame.OnMenuSelected)
+
 
Index: gnue/gnuef/designer/src/PropertyEditor.py
diff -u gnue/gnuef/designer/src/PropertyEditor.py:1.1 
gnue/gnuef/designer/src/PropertyEditor.py:1.2
--- gnue/gnuef/designer/src/PropertyEditor.py:1.1       Fri Jun 15 14:58:30 2001
+++ gnue/gnuef/designer/src/PropertyEditor.py   Sun Jun 17 22:41:25 2001
@@ -41,11 +41,28 @@
     self.instance = instance
     self.form = form
 
-  def setCurrentObject (self, object, handler):
+  def onSetCurrentObject (self, object, handler):
     if object == None: 
       return
-    if handler != 'PropertyEditor':
+    if handler != __name__:
       pass
 
+  def onCreateObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      pass
 
+  def onModifyObject (self, object, handler, modifications):
+    if object == None: 
+      return
+    if handler != __name__:
+      for modification in modifications: 
+        attribute, value = modification
+
+  def onDeleteObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      pass
 
Index: gnue/gnuef/designer/src/TreeView.py
diff -u gnue/gnuef/designer/src/TreeView.py:1.1 
gnue/gnuef/designer/src/TreeView.py:1.2
--- gnue/gnuef/designer/src/TreeView.py:1.1     Fri Jun 15 14:58:30 2001
+++ gnue/gnuef/designer/src/TreeView.py Sun Jun 17 22:41:25 2001
@@ -93,15 +93,34 @@
     rv = wxTreeCtrl.AppendItem(self, parent, description)
     return rv
    
-  def setCurrentObject (self, object, handler):
+  def onSetCurrentObject (self, object, handler):
     if object == None: 
       return
-    if handler != 'TreeView':
+    if handler != __name__:
       self.EnsureVisible(object._treeItem)
       self.__handler = handler
       self.SelectItem(object._treeItem)
       self.__handler = None
 
+  def onCreateObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      pass
+
+  def onModifyObject (self, object, handler, modifications):
+    if object == None: 
+      return
+    if handler != __name__:
+      for modification in modifications: 
+        attribute, value = modification
+
+  def onDeleteObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      pass
+
   def OnTreeLabelEdit(self, event): 
     event.Veto()
 
@@ -112,7 +131,7 @@
     if self.__handler == None: 
       object = self.GetPyData(event.GetItem())
       if object != None: 
-        self.instance.setCurrentObject(object, 'TreeView')
+        self.instance.onSetCurrentObject(object, __name__)
       else: 
-        self.instance.setCurrentObject(None, 'TreeView')
+        self.instance.onSetCurrentObject(None, __name__)
 
Index: gnue/gnuef/designer/src/TriggerEditor.py
diff -u gnue/gnuef/designer/src/TriggerEditor.py:1.1 
gnue/gnuef/designer/src/TriggerEditor.py:1.2
--- gnue/gnuef/designer/src/TriggerEditor.py:1.1        Fri Jun 15 14:58:30 2001
+++ gnue/gnuef/designer/src/TriggerEditor.py    Sun Jun 17 22:41:25 2001
@@ -34,17 +34,40 @@
 from GFDesigner import *
 
 
-class TriggerEditor (wxTextCtrl): 
+class TriggerEditor (wxPanel): 
   def __init__(self, parent, instance, form): 
-    
wxTextCtrl.__init__(self,parent,-1,style=wxTE_PROCESS_TAB|wxTE_MULTILINE|wxHSCROLL)
+    wxPanel.__init__(self, parent, -1)
+    self.editor = 
wxTextCtrl(self,-1,style=wxTE_PROCESS_TAB|wxTE_MULTILINE|wxHSCROLL)
+    self.SetSize(parent.GetClientSize())
+    self.editor.SetSize(self.GetClientSize())
+    parent.SetSize(self.GetSize())
+    parent.Refresh()
     self.parent = parent
     self.instance = instance
     self.form = form
 
-  def setCurrentObject (self, object, handler):
+  def onSetCurrentObject (self, object, handler):
     if object == None: 
       return
-    if handler != 'TriggerEditor':
+    if handler != __name__:
       pass
 
+  def onCreateObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      pass
+
+  def onModifyObject (self, object, handler, modifications):
+    if object == None: 
+      return
+    if handler != __name__:
+      for modification in modifications: 
+        attribute, value = modification
+
+  def onDeleteObject (self, object, handler):
+    if object == None: 
+      return
+    if handler != __name__:
+      pass
 



reply via email to

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