Hi
i am using wxpython 3.0.0 and python version 2.7, i have
modified piechart example to create clickable object of
*FloatCanvas.Rectangle *but failed here is my code:
import wx
import sys
sys.path.append("..")
from wx.lib.floatcanvas import NavCanvas, FloatCanvas
class DrawFrame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.CreateStatusBar()
NC = FloatCanvas.FloatCanvas(self, BackgroundColor = ( 147,
177, 217 ) )
self.canvas = NC
self.Shape = []
rect = FloatCanvas.Rectangle((30,10),(10, 10), FillColor =
wx.Colour(3, 2, 255, 240), LineColor = wx.Colour(250, 5, 5, 240),
LineStyle = "Solid", LineWidth = 2 )
self.canvas.AddObject(rect)
self.Shape.append( rect )
rect = FloatCanvas.Rectangle((10,20),(10, 10), FillColor =
wx.Colour(3, 2, 255, 240), LineColor = wx.Colour(250, 5, 5, 240),
LineStyle = "Solid", LineWidth = 2 )
self.canvas.AddObject(rect)
self.Shape.append( rect )
rect = FloatCanvas.Rectangle((50,20),(10, 10), FillColor =
wx.Colour(3, 2, 255, 240), LineColor = wx.Colour(250, 5, 5, 240),
LineStyle = "Solid", LineWidth = 2 )
self.canvas.AddObject(rect)
self.Shape.append( rect )
for i in range( len(self.Shape) ):
self.Shape[i].Bind(FloatCanvas.EVT_FC_LEFT_DOWN, self.PieHit)
FloatCanvas.EVT_MOTION(self.canvas, self.OnMove )
self.Show()
self.Center()
self.canvas.ZoomToBB()
def PieHit(self, obj):
for i in range( len(self.Shape) ):
if obj == self.Shape[i]:
print "Rectangle"+str(i)+" hit!"
self.SetTitle("Rectangle"+str(i)+" hit!")
def OnMove(self, event):
self.SetStatusText("%.2g, %.2g"%tuple(event.Coords))
app = wx.App(False)
F = DrawFrame(None, title="Modified FloatCanvas Demo", size=(700,700) )
app.MainLoop()
---
This email is free from viruses and malware because avast! Antivirus protection
is active.
http://www.avast.com
_______________________________________________
FloatCanvas mailing list
[email protected]
http://mailman.paulmcnett.com/cgi-bin/mailman/listinfo/floatcanvas