commit-gnue
[Top][All Lists]
Advanced

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

gnue/designer/src LayoutEditor.py MenuBar.py Tr...


From: Jason Cater
Subject: gnue/designer/src LayoutEditor.py MenuBar.py Tr...
Date: Thu, 12 Jul 2001 15:51:08 -0700

CVSROOT:        /home/cvs
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    01/07/12 15:51:08

Modified files:
        designer/src   : LayoutEditor.py MenuBar.py TreeView.py 
Added files:
        designer/src   : PopupMenu.py 

Log message:
        Fixed 'Right-Click|Edit Properties...' locking bug; removed Popup menu 
code from MenuBar.py and placed in its own file; fixed misc focus bugs

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/PopupMenu.py?cvsroot=OldCVS&rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/LayoutEditor.py.diff?cvsroot=OldCVS&tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/MenuBar.py.diff?cvsroot=OldCVS&tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/designer/src/TreeView.py.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: gnue/designer/src/LayoutEditor.py
diff -u gnue/designer/src/LayoutEditor.py:1.15 
gnue/designer/src/LayoutEditor.py:1.16
--- gnue/designer/src/LayoutEditor.py:1.15      Tue Jul  3 18:43:11 2001
+++ gnue/designer/src/LayoutEditor.py   Thu Jul 12 15:51:08 2001
@@ -299,13 +299,14 @@
 
     for widget in self.mainWidget.widgets:
       widget.SetCursor (wxSTANDARD_CURSOR)
-      if isinstance(widget, wxControl):
+      if isinstance(widget, wxWindow):
         widget.Enable(0)
       self.setAllChildren(EVT_KEY_UP, widget, self.instance.keyTrap)
       self.setAllChildren(EVT_SET_FOCUS, widget, self.focusGainedTrap)
       self.setAllChildren(EVT_KILL_FOCUS, widget, self.focusLostTrap)
       self.setAllChildren(EVT_LEFT_UP, widget, self.OnLeftUp)
       self.setAllChildren(EVT_LEFT_DOWN, widget, self.OnLeftDown)
+      self.setAllChildren(EVT_RIGHT_DOWN, widget, self.OnRightDown)
       self.setAllChildren(EVT_RIGHT_UP, widget, self.OnRightUp)
       self.setAllChildren(EVT_MOTION, widget, self.instance.OnMotion)
 
@@ -353,10 +354,12 @@
       self.setAllChildren(event, child, trap)
 
   def focusGainedTrap(self, event): 
+    self.instance.panel.SetFocus()
     pass
+#    event.Skip()
 
   def focusLostTrap(self, event): 
-    pass
+    event.Skip()
 
   def OnLeftDown(self, event): 
 #    self.instance.panel.CaptureMouse() 
@@ -377,9 +380,12 @@
   def OnLeftUp(self, event): 
     pass
 #    self.instance.panel.ReleaseMouse() 
+
+  def OnRightDown(self, event): 
+    pass
  
   def OnRightUp(self, event): 
-    pt = event.GetPosition() 
+    pt = event.GetPositionTuple() 
     self.instance._instance.onSetCurrentObject(self.object, None)
     wxPyTypeCast(event.GetEventObject(),'wxWindow') \
        .PopupMenu(self.object._popupMenu, pt)
Index: gnue/designer/src/MenuBar.py
diff -u gnue/designer/src/MenuBar.py:1.10 gnue/designer/src/MenuBar.py:1.11
--- gnue/designer/src/MenuBar.py:1.10   Thu Jul 12 11:53:26 2001
+++ gnue/designer/src/MenuBar.py        Thu Jul 12 15:51:08 2001
@@ -98,185 +98,3 @@
   def lastToolAdded(self): 
    self._window.AppendSeparator()
 
-
-class ObjectMenu(wxMenu): 
-  def __init__(self, instance, object): 
-    wxMenu.__init__(self, "Object Tasks...")
-
-    self.object = object
-    self.instance = instance
-    self._newMap = {}
-
-    if object == None: 
-      id = wxNewId()
-      self.Append(id, "New Data Source") 
-      EVT_MENU(self, id, self.OnCreateDataSource)
-      id = wxNewId()
-      self.Append(id, "New Shared Trigger") 
-      EVT_MENU(self, id, self.OnCreateNamedTrigger)
-      id = wxNewId()
-      self.Append(id, "New Layout Page") 
-      EVT_MENU(self, id, self.OnCreatePage)
-    else: 
-
-      # New >
-
-      menu = wxMenu("New...")
-
-      id = wxNewId()
-      menu.Append(id, "Data Source") 
-      EVT_MENU(menu, id, self.OnCreateDataSource)
-      id = wxNewId()
-      menu.Append(id, "Shared Trigger") 
-      EVT_MENU(menu, id, self.OnCreateNamedTrigger)
-      id = wxNewId()
-      menu.Append(id, "Layout Page") 
-      EVT_MENU(menu, id, self.OnCreatePage)
-  
-      menu.AppendSeparator()
- 
-      tag = string.lower(object.getObjectType()[2:])
-      if Incubator.elementMapping.has_key(tag): 
-        Incubator.elementMapping[tag].sort()
-        for element in Incubator.elementMapping[tag]: 
-          tid = wxNewId()
-          self._newMap[tid] = element
-          menu.Append(tid, element) 
-          EVT_MENU(menu, tid, self.OnCreateObject)
-        self.AppendMenu(wxNewId(), "&New", menu)
-  
-      # Properties
-      id = wxNewId()
-      self.Append(id, "&Properties...")
-      EVT_MENU(self, id, self.OnEditProperties)
-
-      if not isinstance (object, GFForm.GFForm): 
-        # Delete
-        id = wxNewId()
-        self.Append(id, "&Delete %s" % object.getObjectType()[2:])
-        EVT_MENU(self, id, self.OnDeleteObject)
-
-      self.AppendSeparator()
-
-      # Events >
-      if isinstance (object, GFTrigger.GFTriggerAware): 
-        menu = wxMenu("Events...")
-        self._triggerMap = {}
-        keys = GFTrigger.VALIDTRIGGERS.keys()
-        keys.sort()
-        for trigger in (keys): 
-          tid = wxNewId()
-          self._triggerMap[tid] = trigger
-          menu.Append(tid, GFTrigger.VALIDTRIGGERS[trigger] + "...") 
-          EVT_MENU(menu, tid, self.OnEditEvent)
-        self.AppendMenu(wxNewId(), "&Events", menu)
-
-      self.AppendSeparator()
-
-      if isinstance(object, GFObjects.GFPage) or \
-         isinstance(object, GFObjects.GFBlock): 
-        # Reorder
-        id = wxNewId()
-        self.Append(id, "&Reorder by Location")
-        EVT_MENU(self, id, self.OnReorderLayout)
-     
-  def OnEditProperties(self, event): 
-    self.instance.propertyEditorWindow.Show(1)
-    self.instance.propertyEditorWindow.Raise()
-
-  def OnEditEvent(self, event): 
-    pass
-
-  def OnDeleteObject(self, event):
-    Incubator.deleteObject(self.instance, self.instance._form, self.object)
-
-  def OnReorderLayout(self, event):
-    unqId = 0 
-    hiddenObjects = []
-    boxObjects = {}
-    navObjects = {}
-    blockObjects = {}
-    self.object._upperX = 99999
-    self.object._upperY = 99999
-   
-    # Handle each child (note we are working from a copy 
-    # because self.oject._children will be morphing
-    for object in self.object._children[:]: 
-      if hasattr(object, 'hidden') and object.hidden: 
-        hiddenObjects.append(object)
-      elif object.getObjectType() == 'GFBlock': 
-        object._popupMenu.OnReorderLayout(event)
-        object.__savedChildren = object._children[:]
-        for o2 in object.__savedChildren:
-          self.instance.onDeleteObject(o2, __name__)
-        
-        oid = "%5d.%5d.%5d" % (object._upperY, object._upperX, unqId)
-        unqId = unqId + 1
-        blockObjects[oid] = object
-
-      else: 
-        if hasattr(object,'y') and object.y < self.object._upperY: 
-          self.object._upperY = object.y
-        if hasattr(object,'x') and object.x < self.object._upperX: 
-          self.object._upperX = object.x
-
-        oid = "%5d.%5d.%5d" % (object.y, object.x, unqId) 
-        unqId  = unqId + 1
-        if object.getObjectType() == 'GFBox': 
-          boxObjects[oid] = object
-        else: 
-          navObjects[oid] = object
-    
-      # Notify everyone that this object was deleted
-      self.instance.onDeleteObject(object, __name__)
-
-    self.object._children = []
-    # First, add back hidden objects all 
-    for object in hiddenObjects:
-      self.object._children.append(object)
-      self.instance.onCreateObject(object, __name__)
-
-    # Now, add hidden objects
-    boxes = boxObjects.keys()
-    boxes.sort()
-    for box in boxes: 
-      self.object._children.append(boxObjects[box])
-      self.instance.onCreateObject(boxObjects[box], __name__)
-    
-    # The rest of the objects (other than blocks) go here
-    nav = navObjects.keys()
-    nav.sort()
-    for n in nav: 
-      self.object._children.append(navObjects[n])
-      self.instance.onCreateObject(navObjects[n], __name__)
-
-    # And, finally, any child blocks 
-    blocks = blockObjects.keys()
-    blocks.sort()
-    for block in blocks: 
-      children = blockObjects[block].__savedChildren[:]
-      self.object._children.append(blockObjects[block])
-      self.instance.onCreateObject(blockObjects[block], __name__)
-      for child in children: 
-        blockObjects[block]._children.append(child)
-        self.instance.onCreateObject(child,__name__)
-
-      
-  def OnCreateObject(self, event):
-    GDebug.printMesg(3, "Creating Object")
-    tag = self._newMap[event.GetId()]
-    Incubator.createObject(self.instance, self.instance._form, tag, 
-      parentHint=self.object)
-
-  def OnCreateDataSource(self, event):
-    Incubator.createObject(self.instance, self.instance._form, 'datasource')
-
-  def OnCreateNamedTrigger(self, event):
-    Incubator.createObject(self.instance, self.instance._form, 'trigger')
-
-  def OnCreatePage(self, event):
-    Incubator.createObject(self.instance, self.instance._form, 'page')
-
-
-
-
Index: gnue/designer/src/TreeView.py
diff -u gnue/designer/src/TreeView.py:1.6 gnue/designer/src/TreeView.py:1.7
--- gnue/designer/src/TreeView.py:1.6   Fri Jun 22 06:16:35 2001
+++ gnue/designer/src/TreeView.py       Thu Jul 12 15:51:08 2001
@@ -31,7 +31,7 @@
 from gnue.common import GDebug, GConfig
 from gnue.forms import GFForm, GFInstance, GFParser, GFObjects, GFTrigger, 
GFLibrary, UIwxpython
 from GFDesigner import *
-from MenuBar import ObjectMenu
+from PopupMenu import ObjectMenu
 
 class TreeView (wxTreeCtrl):
   def __init__(self, instance, form, parent): 



reply via email to

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