commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8382 - in trunk/gnue-designer/src: forms/PagePainter/skins ui/wx


From: jcater
Subject: [gnue] r8382 - in trunk/gnue-designer/src: forms/PagePainter/skins ui/wx/uihelpers/doccanvas
Date: Wed, 5 Apr 2006 18:23:14 -0500 (CDT)

Author: jcater
Date: 2006-04-05 18:23:14 -0500 (Wed, 05 Apr 2006)
New Revision: 8382

Modified:
   trunk/gnue-designer/src/forms/PagePainter/skins/common.py
   trunk/gnue-designer/src/forms/PagePainter/skins/default.py
   trunk/gnue-designer/src/ui/wx/uihelpers/doccanvas/canvas.py
Log:
added the concept of layers to the canvas; all containers go on a 'bottom' 
layer and all widgets go on a 'top' layer, making mouse selection more intuitive

Modified: trunk/gnue-designer/src/forms/PagePainter/skins/common.py
===================================================================
--- trunk/gnue-designer/src/forms/PagePainter/skins/common.py   2006-04-05 
23:00:53 UTC (rev 8381)
+++ trunk/gnue-designer/src/forms/PagePainter/skins/common.py   2006-04-05 
23:23:14 UTC (rev 8382)
@@ -91,8 +91,8 @@
         # Convert from Char positions into wx positions
         x *= char_x_scale
         y *= char_y_scale
-        width *= char_x_scale
-        height *= char_y_scale
+        width = (width * char_x_scale - 1)
+        height = (height * char_y_scale - 1)
 
         # Used to figure in compensation needed for selection box
         # decorations and borders

Modified: trunk/gnue-designer/src/forms/PagePainter/skins/default.py
===================================================================
--- trunk/gnue-designer/src/forms/PagePainter/skins/default.py  2006-04-05 
23:00:53 UTC (rev 8381)
+++ trunk/gnue-designer/src/forms/PagePainter/skins/default.py  2006-04-05 
23:23:14 UTC (rev 8382)
@@ -195,6 +195,9 @@
         target_dc.SetBrush(wx.Brush(wx.WHITE, style=wx.TRANSPARENT))
         object = self.gobject
         x, y, width, height = self.draw_area.Get()
+
+        char_x_scale = common.char_x_scale
+        
         target_dc.SetFont(font_map['label'])
         # Center each character in its cell
         for char in object['text']:
@@ -202,7 +205,7 @@
             target_dc.DrawText(char,
                         x + (common.char_x_scale - text_width) // 2,
                         y + 1)
-            x += common.char_x_scale
+            x += char_x_scale
 
     def enter_edit_mode(self):
         """
@@ -230,7 +233,7 @@
         target_dc.SetPen(wx.Pen(color_map['widget']))
         target_dc.SetBrush(wx.Brush(color_map['widgetback']))
         x, y, width, height = self.draw_area.Get()
-        target_dc.DrawRectangle(x, y, width, height - 1)
+        target_dc.DrawRectangle(x, y, width, height)
 
     def get_movable_siblings(self): 
         """
@@ -257,10 +260,18 @@
 # --------------------------------------------------------------------------
 class ButtonWidget(FormWidget):
     def draw_widget(self, target_dc):
+
+        x, y, width, height = self.draw_area.Get()
+
+        # Draw the dropshadow    
+        target_dc.SetPen(wx.Pen(color_map['widgetdark']))
+        target_dc.SetBrush(wx.Brush(color_map['widgetdark'], style=wx.SOLID))
+        target_dc.DrawRoundedRectangle(x + 2, y + 2, width, height - 2, 4)
+
+        # Draw the rectangle
         target_dc.SetPen(wx.Pen(color_map['widget']))
         target_dc.SetBrush(wx.Brush(color_map['widgetback']))
-        x, y, width, height = self.draw_area.Get()
-        target_dc.DrawRoundedRectangle(x, y, width, height - 1, 4)
+        target_dc.DrawRoundedRectangle(x, y, width, height - 2, 4)
 
         # Draw the text, centered in the button
         target_dc.SetFont(font_map['button'])
@@ -373,4 +384,4 @@
         object = self.gobject
         x, y, width, height = self.draw_area.Get()
         target_dc.SetFont(font_map['label'])
-        target_dc.DrawRoundedRectangle(x, y, width, height - 1, 4)
+        target_dc.DrawRoundedRectangle(x, y, width, height, 4)

Modified: trunk/gnue-designer/src/ui/wx/uihelpers/doccanvas/canvas.py
===================================================================
--- trunk/gnue-designer/src/ui/wx/uihelpers/doccanvas/canvas.py 2006-04-05 
23:00:53 UTC (rev 8381)
+++ trunk/gnue-designer/src/ui/wx/uihelpers/doccanvas/canvas.py 2006-04-05 
23:23:14 UTC (rev 8382)
@@ -69,7 +69,9 @@
         # Set up the color space
         initialize(panel_color = self.GetBackgroundColour())
 
-        self.ordered_widget_list = []
+        self.ordered_widget_list = []   # All widgets, ordered
+        self.ordered_widget_bottom = [] # All Bottom-level widgets (containers)
+        self.ordered_widget_top = []    # All top-level widgets
         self.gobject_map = {}
 
         self.Bind(wx.EVT_PAINT, self.__wx_on_paint)
@@ -105,6 +107,8 @@
         for item in self.ordered_widget_list:
             item.Destroy()
         self.ordered_widget_list = None
+        self.ordered_widget_top = None
+        self.ordered_widget_bottom = None
 
 
     def set_behavior_mode(self, mode='normal', function=None):
@@ -323,6 +327,7 @@
 
         # Draw widgets (in the reverse order they are stored in our list)
         for widget in self.ordered_widget_list[::-1]:
+                      
             refresh_area = widget.refresh_area
 
             (obj_x, obj_y,
@@ -720,7 +725,9 @@
         self.__mouse_move_items = movable_widgets = []
 
         # Start out with the selected widgets
-        self.__mouse_move_selected = selected_widgets = 
self.get_selected_widgets()
+        selected_widgets = self.get_selected_widgets()
+        self.__mouse_move_selected = selected_widgets
+                  
         unvisited_widgets = selected_widgets[:]
 
         # And recursively add any siblings or children        
@@ -1101,7 +1108,14 @@
         """
         Add a DocumentWidget to the canvas
         """
-        self.ordered_widget_list.insert(0,widget)
+        if widget.container: 
+            self.ordered_widget_bottom.insert(0,widget)
+        else: 
+            self.ordered_widget_top.insert(0,widget)
+            
+        self.ordered_widget_list = self.ordered_widget_top + \
+                                   self.ordered_widget_bottom
+                                   
         self.gobject_map[widget.gobject] = widget
         widget.force_canvas_refresh()
 
@@ -1111,6 +1125,11 @@
         Remove a DocumentWidget from the canvas
         """
         self.ordered_widget_list.remove(widget)
+        try: 
+           self.ordered_widget_top.remove(widget)
+        except: 
+           self.ordered_widget_bottom.remove(widget)
+        
         del self.gobject_map[widget.gobject]
         
         area = widget.refresh_area





reply via email to

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