[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8382 - in trunk/gnue-designer/src: forms/PagePainter/skins ui/wx/uihelpers/doccanvas,
jcater <=