commit-gnue
[Top][All Lists]
Advanced

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

r5846 - in trunk: gnue-designer/src/forms/LayoutEditor gnue-forms/src/GF


From: btami
Subject: r5846 - in trunk: gnue-designer/src/forms/LayoutEditor gnue-forms/src/GFObjects
Date: Sun, 30 May 2004 12:43:31 -0500 (CDT)

Author: btami
Date: 2004-05-30 12:43:29 -0500 (Sun, 30 May 2004)
New Revision: 5846

Modified:
   trunk/gnue-designer/src/forms/LayoutEditor/ReorderFocus.py
   trunk/gnue-designer/src/forms/LayoutEditor/WidgetFocusTab.py
   trunk/gnue-forms/src/GFObjects/GFContainer.py
Log:
added reordering focus order with mouse clicks

Modified: trunk/gnue-designer/src/forms/LayoutEditor/ReorderFocus.py
===================================================================
--- trunk/gnue-designer/src/forms/LayoutEditor/ReorderFocus.py  2004-05-28 
15:30:26 UTC (rev 5845)
+++ trunk/gnue-designer/src/forms/LayoutEditor/ReorderFocus.py  2004-05-30 
17:43:29 UTC (rev 5846)
@@ -37,11 +37,12 @@
     self.instance = instance
 
   def start(self, page):
+    self.click = 1
     self.list = []
     self.page = page
     self.page.walk(self._buildList)
 
-    i = 0
+    i = 1
     for tab in self.list:
       if hasattr(tab.widget, 'focusorder'):
         tab.setOrder(tab.widget.focusorder)
@@ -53,7 +54,7 @@
     # TODO: More intelligence
     # TODO: allow only cycling thru current block, selection, or page
     if object._type in ('GFEntry','GFButton') and 
hasattr(object,'_widgetHandler'):
-      self.list.append(WidgetFocusTab(self.instance, object))
+      self.list.append(WidgetFocusTab(self.instance, object, self))
 
   def end(self):
     while len(self.list):
@@ -62,7 +63,7 @@
 
   def autoArrange(self):
     self.list.sort(self.myCmp)
-    i = 0
+    i = 1
     for tab in self.list:
       tab.setOrder(i)
       i += 1

Modified: trunk/gnue-designer/src/forms/LayoutEditor/WidgetFocusTab.py
===================================================================
--- trunk/gnue-designer/src/forms/LayoutEditor/WidgetFocusTab.py        
2004-05-28 15:30:26 UTC (rev 5845)
+++ trunk/gnue-designer/src/forms/LayoutEditor/WidgetFocusTab.py        
2004-05-30 17:43:29 UTC (rev 5846)
@@ -30,30 +30,50 @@
 import sys, string
 from gnue.common.apps import GDebug
 
-inactiveColor = wxBLACK
-activeColor = wxBLUE
+inactiveColor = wxBLUE
+activeColor = wxBLACK
 textColor = wxWHITE
 
 #
 #
 #
 class WidgetFocusTab:
-  def __init__(self, instance, widget):
+  def __init__(self, instance, widget, container):
     self.instance = instance
     panel = self.instance.visualEditor.panel
     self.widget = widget
+    self.container = container
     self.x, self.y = widget._widgetHandler.widget.GetPositionTuple()
-    print self.x, self.y
-    self.label = wxStaticText(panel, -1, "0", pos=(self.x, self.y-10))
 
+#    self.label = wxStaticText(panel, -1, "0", pos=(self.x, self.y-10))
+    self.label = wxButton(panel, -1, "0", pos=(self.x-5, self.y-8), 
style=wxBU_EXACTFIT)
+    self.label.SetBackgroundColour(inactiveColor)
+    self.label.SetForegroundColour(textColor)
+    EVT_BUTTON(self.label, self.label.GetId(), self.buttonHandler)
+
   def setOrder(self, position):
     self.position = position
     self.label.SetLabel("%s" % (position))
     self.widget.focusorder = position
-    print "Setting order to %s" % (position)
 
   def close(self):
     self.instance = None
     self.widget = None
     self.label.Destroy()
 
+  def buttonHandler(self, event):
+    if event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED:
+      object = event.GetEventObject()
+      clicked = int(object.GetLabel())
+
+      if self.container.click <= len(self.container.list):
+        if clicked > self.container.click:
+          for i in range(len(self.container.list)):
+            lb = int(self.container.list[i].label.GetLabel())
+            if lb < clicked and lb >= self.container.click:
+              self.container.list[i].setOrder(lb+1)
+
+        self.setOrder(self.container.click)
+        self.label.SetBackgroundColour(activeColor)
+
+        self.container.click += 1

Modified: trunk/gnue-forms/src/GFObjects/GFContainer.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFContainer.py       2004-05-28 15:30:26 UTC 
(rev 5845)
+++ trunk/gnue-forms/src/GFObjects/GFContainer.py       2004-05-30 17:43:29 UTC 
(rev 5846)
@@ -48,13 +48,13 @@
         if len(tabStops):
           allFocusStops.append(tabStops)
           try:
-            specificFocusStops[child.focusorder] = tabStops
+            specificFocusStops[child.focusorder-1] = tabStops
           except AttributeError:
             pass
       elif isinstance(child,GFTabStop):
         allFocusStops.append([child])
         try:
-          specificFocusStops[child.focusorder] = [child]
+          specificFocusStops[child.focusorder-1] = [child]
         except AttributeError:
           pass
 





reply via email to

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