[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnuef/designer/src LayoutHandler.py
From: |
Jason Cater |
Subject: |
gnue/gnuef/designer/src LayoutHandler.py |
Date: |
Fri, 15 Jun 2001 07:47:06 -0700 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 01/06/15 07:47:06
Modified files:
gnuef/designer/src: LayoutHandler.py
Log message:
Updated border-drawing code
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnuef/designer/src/LayoutHandler.py.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: gnue/gnuef/designer/src/LayoutHandler.py
diff -u gnue/gnuef/designer/src/LayoutHandler.py:1.2
gnue/gnuef/designer/src/LayoutHandler.py:1.3
--- gnue/gnuef/designer/src/LayoutHandler.py:1.2 Thu Jun 14 16:00:08 2001
+++ gnue/gnuef/designer/src/LayoutHandler.py Fri Jun 15 07:47:06 2001
@@ -207,8 +207,9 @@
#
#
#
-class WidgetHandler:
+class WidgetHandler(wxEvtHandler):
def __init__(self, instance, object):
+ wxEvtHandler.__init__(self)
self.instance = instance
self.object = object
self.hasFocus = 0
@@ -223,6 +224,8 @@
for widget in self.mainWidget.widgets:
widget.SetCursor (wxNullCursor)
+ if hasattr(widget, 'SetEditable'):
+ widget.SetEditable(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)
@@ -259,10 +262,11 @@
y2 = th + ty
- self.highlightBox.SetPosition(wxPoint(x1-2,y1-2))
+# self.highlightBox.SetPosition(wxPoint(x1-2,y1-2))
# self.highlightBox.SetClientSize(wxSize(1,1))
- self.highlightBox.SetClientSize(wxSize(x2-x1+6,y2-y1+6))
+# self.highlightBox.SetClientSize(wxSize(x2-x1+6,y2-y1+6))
# self.instance.panel.Refresh()
+ self.highlightBox.setBoundary(x1-2,y1-2,x2+2,y2+2)
for widget in self.mainWidget.widgets:
widget.Refresh()
@@ -272,18 +276,18 @@
def setAllChildren(self, event, widget, trap):
# print "Setting event on %s (%s)" % (widget,self.mainWidget.widgets)
- event(widget, trap)
+ try:
+ event(widget, trap)
+ except:
+ pass
for child in widget.GetChildren():
self.setAllChildren(event, child, trap)
def focusGainedTrap(self, event):
- self.hasFocus = 1
- self.widget.Refresh()
+ pass
def focusLostTrap(self, event):
- print "Got Focus"
- self.hasFocus = 0
- self.widget.Refresh()
+ pass
def OnLeftDown(self, event):
# self.curLine = []
@@ -381,22 +385,44 @@
#
#
#
-class WidgetHighlighter(wxWindow):
+class WidgetHighlighter:
def __init__(self, parent):
- wxWindow.__init__(self, parent, -1)
self.selected = 0
self.parent = parent
-# self.SetBackgroundMode(wxTRANSPARENT)
- EVT_PAINT(self, self.OnPaint)
- EVT_SIZE(self, self.reconfigure)
- EVT_MOVE(self, self.reconfigure)
+ self.north = wxWindow(parent, -1)
+ self.south = wxWindow(parent, -1)
+ self.east = wxWindow(parent, -1)
+ self.west = wxWindow(parent, -1)
+ for object in (self.north,self.south,self.east,self.west):
+ EVT_PAINT(object, self.OnPaint)
+ # EVT_SIZE(object, self.reconfigure)
+ # EVT_MOVE(object, self.reconfigure)
+ # EVT_ERASE_BACKGROUND(self, self.OnEraseBackground)
panelColor = parent.GetBackgroundColour()
self.inactiveBorderColor = wxColour(panelColor.Red()-16,
panelColor.Green()-16,
panelColor.Blue()-16)
self.activeBorderColor = wxBLUE
+ def setBoundary(self, x1, y1, x2, y2):
+ print "Boundaries (%s,%s)(%s,%s)" %(x1,y1,x2,y2)
+ self.west.SetPosition(wxPoint(x1,y1))
+ self.west.SetSize(wxSize(1,y2-y1+1))
+ self.east.SetPosition(wxPoint(x2,y1))
+ self.east.SetSize(wxSize(1,y2-y1+1))
+ self.south.SetPosition(wxPoint(x1,y2))
+ self.south.SetSize(wxSize(x2-x1+1,1))
+ self.north.SetPosition(wxPoint(x1,y1))
+ self.north.SetSize(wxSize(x2-x1+1,1))
+
+ def GetChildren(self):
+ return (self.north, self.south, self.east, self.west)
+
+ def Refresh(self):
+ for object in (self.north,self.south,self.east,self.west):
+ object.Refresh()
+
def setSelected (self, selected):
if self.selected != selected:
self.selected = selected
@@ -406,20 +432,21 @@
self.Refresh()
def OnPaint(self, event):
- dc = wxPaintDC(self)
+ object = wxPyTypeCast(event.GetEventObject(),'wxWindow')
+ dc = wxPaintDC(object)
dc.BeginDrawing()
- dc.SetBackgroundMode(wxTRANSPARENT)
- dc.SetBrush (wxTRANSPARENT_BRUSH)
dc.SetBackground(wxBrush(self.parent.GetBackgroundColour(),wxTRANSPARENT))
dc.Clear()
if self.selected:
dc.SetPen(wxPen(self.activeBorderColor))
else:
dc.SetPen(wxPen(self.inactiveBorderColor))
- x1,y1 = self.GetSizeTuple()
- dc.SetBrush(wxTRANSPARENT_BRUSH)
+ x1,y1 = object.GetSizeTuple()
dc.DrawRectangle(0,0,x1,y1)
dc.EndDrawing()
+
+ def OnEraseBackground(self, event):
+ pass
#
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnuef/designer/src LayoutHandler.py,
Jason Cater <=