+
+ def TestScaledTextBox(self, event= None):
+ wx.GetApp().Yield()
+
+ self.UnBindAllMouseEvents()
+ Canvas = self.Canvas
+ Canvas.ClearAll()
+ Canvas.SetProjectionFun(None)
+
+ Point = (45,40)
+ Box = Canvas.AddScaledTextBox("A Two Line\nString",
+ Point,
+ 2,
+ Color = "Black",
+ BackgroundColor = None,
+ LineColor = "Red",
+ LineStyle = "Solid",
+ LineWidth = 1,
+ Width = None,
+ PadSize = 5,
+ Family = wx.ROMAN,
+ Style = wx.NORMAL,
+ Weight = wx.NORMAL,
+ Underline = False,
+ Position = 'br',
+ Alignment = "left",
+ InForeground = False)
+
+ # All defaults
+ Box = Canvas.AddScaledTextBox("A Two Line\nString",
+ Point,
+ 2)
+
+ Box = Canvas.AddScaledTextBox("A Two Line\nString",
+ Point,
+ 2,
+ BackgroundColor = "Yellow",
+ LineColor = "Red",
+ LineStyle = "Solid",
+ PadSize = 5,
+ Family = wx.TELETYPE,
+ Position = 'bl')
+
+ Box = Canvas.AddScaledTextBox("A String\nThis box is clickable",
+ Point,
+ 2,
+ BackgroundColor = "Yellow",
+ LineColor = "Red",
+ LineStyle = "Solid",
+ PadSize = 5,
+ Family = wx.TELETYPE,
+ Position = 'tr')
+
+ Box.Bind(FloatCanvas.EVT_FC_LEFT_DOWN, self.binding2)
+
+ Canvas.AddPoint(Point, Diameter = 4)
+
+ Point = (45,15)
+ Box = Canvas.AddScaledTextBox("A Two Line\nString",
+ Point,
+ 2,
+ Color = "Black",
+ BackgroundColor = 'Red',
+ LineColor = "Blue",
+ LineStyle = "LongDash",
+ LineWidth = 2,
+ Width = None,
+ PadSize = 5,
+ Family = wx.TELETYPE,
+ Style = wx.NORMAL,
+ Weight = wx.NORMAL,
+ Underline = False,
+ Position = 'cr',
+ Alignment = "left",
+ InForeground = False)
+
+ Box = Canvas.AddScaledTextBox("A Two Line\nString",
+ Point,
+ 1.5,
+ Color = "Black",
+ BackgroundColor = 'Red',
+ LineColor = "Blue",
+ LineStyle = "LongDash",
+ LineWidth = 2,
+ Width = None,
+ PadSize = 5,
+ Family = wx.TELETYPE,
+ Style = wx.NORMAL,
+ Weight = wx.NORMAL,
+ Underline = False,
+ Position = 'cl',
+ Alignment = "left",
+ InForeground = False)
+
+ Canvas.AddPoint(Point, Diameter = 4)
+
+ Point = (45,-10)
+ Box = Canvas.AddScaledTextBox("A Two Line\nString",
+ Point,
+ 2,
+ Color = "Black",
+ BackgroundColor = 'Red',
+ LineColor = "Blue",
+ LineStyle = "LongDash",
+ LineWidth = 2,
+ Width = None,
+ PadSize = 3,
+ Family = wx.TELETYPE,
+ Style = wx.NORMAL,
+ Weight = wx.NORMAL,
+ Underline = False,
+ Position = 'tc',
+ Alignment = "left",
+ InForeground = False)
+
+ Box = Canvas.AddScaledTextBox("A three\nLine\nString",
+ Point,
+ 1.5,
+ Color = "Black",
+ BackgroundColor = 'Red',
+ LineColor = "Blue",
+ LineStyle = "LongDash",
+ LineWidth = 2,
+ Width = None,
+ PadSize = 0.5,
+ Family = wx.TELETYPE,
+ Style = wx.NORMAL,
+ Weight = wx.NORMAL,
+ Underline = False,
+ Position = 'bc',
+ Alignment = "left",
+ InForeground = False)
+
+
+ Canvas.AddPoint(Point, Diameter = 4)
+
+ Box = Canvas.AddScaledTextBox("Some Auto Wrapped Text. There is enough to do.",
+ (80,40),
+ 2,
+ BackgroundColor = 'White',
+ LineWidth = 2,
+ Width = 20,
+ PadSize = 0.5,
+ Family = wx.TELETYPE,
+ )
+
+ Box = Canvas.AddScaledTextBox("Some more auto wrapped text. Wrapped to a different width.\n\nThis is another paragraph.",
+ (80,20),
+ 2,
+ BackgroundColor = 'White',
+ LineWidth = 2,
+ Width = 40,
+ PadSize = 0.5,
+ Family = wx.ROMAN,
+ Alignment = "right"
+ )
+ Point = Numeric.array((100, -20), Numeric.Float)
+ Box = Canvas.AddScaledTextBox("Here is even more auto wrapped text. This time the line spacing is set to 0.8. \n\nThe Padding is set to 0.",
+ Point,
+ Size = 3,
+ BackgroundColor = 'White',
+ LineWidth = 1,
+ Width = 40,
+ PadSize = 0.0,
+ Family = wx.ROMAN,
+ Position = "cc",
+ LineSpacing = 0.8
+ )
+ Canvas.AddPoint(Point, "Red", 2)
+
+ Point = Numeric.array((0, -40), Numeric.Float)
+ # Point = Numeric.array((0, 0), Numeric.Float)
+ for Position in ["tl", "bl", "tr", "br"]:
+ # for Position in ["br"]:
+ Box = Canvas.AddScaledTextBox("Here is a\nfour liner\nanother line\nPosition=%s"%Position,
+ Point,
+ Size = 4,
+ Color = "Red",
+ BackgroundColor = None,#'LightBlue',
+ LineWidth = 1,
+ LineColor = "White",
+ Width = None,
+ PadSize = 2,
+ Family = wx.ROMAN,
+ Position = Position,
+ LineSpacing = 0.8
+ )
+ Canvas.AddPoint(Point, "Red", 4)
+
+ Point = Numeric.array((-20, 60), Numeric.Float)
+ Box = Canvas.AddScaledTextBox("Here is some\ncentered\ntext",
+ Point,
+ Size = 4,
+ Color = "Red",
+ BackgroundColor = 'LightBlue',
+ LineWidth = 1,
+ LineColor = "White",
+ Width = None,
+ PadSize = 2,
+ Family = wx.ROMAN,
+ Position = "tl",
+ Alignment = "center",
+ LineSpacing = 0.8
+ )
+
+ Point = Numeric.array((-20, 20), Numeric.Float)
+ Box = Canvas.AddScaledTextBox("Here is some\nright aligned\ntext",
+ Point,
+ Size = 4,
+ Color = "Red",
+ BackgroundColor = 'LightBlue',
+ LineColor = None,
+ Width = None,
+ PadSize = 2,
+ Family = wx.ROMAN,
+ Position = "tl",
+ Alignment = "right",
+ LineSpacing = 0.8
+ )
+
+ Point = Numeric.array((100, -60), Numeric.Float)
+ Box = Canvas.AddScaledTextBox("Here is some auto wrapped text. This time it is centered, rather than right aligned.\n\nThe Padding is set to 2.",
+ Point,
+ Size = 3,
+ BackgroundColor = 'White',
+ LineWidth = 1,
+ Width = 40,
+ PadSize = 2.0,
+ Family = wx.ROMAN,
+ Position = "cc",
+ LineSpacing = 0.8,
+ Alignment = 'center',
+ )
+
+
+
+
+ self.Canvas.ZoomToBB()
+
+ def binding2(self, event):
+ self.Log("I'm the TextBox")
+
+ def TestBitmap(self, event= None):
+ wx.GetApp().Yield()
+
+ self.UnBindAllMouseEvents()
+ Canvas = self.Canvas
+ Canvas.ClearAll()
+ Canvas.SetProjectionFun(None)
+
+ Canvas.AddRectangle((10, 20),
+ (400, 100),
+ LineWidth = 3,
+ LineColor = "Blue",
+ FillColor = "Red")
+
+ bmp = Resources.getMagPlusBitmap()
+
+ Canvas.AddText("These are Unscaled Bitmaps:", (140, 90))
+
+ Point = (150, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "cc" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (200, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "br" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (200, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "bl" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (200, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "tr" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (200, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "tl" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (250, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "cr" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (250, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "cl" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (300, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "tc" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (300, 50)
+ BitMap = Canvas.AddBitmap(bmp, Point, Position = "bc" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Canvas.AddScaledText("These are Scaled Bitmaps:", (220, -60), Size = 10, Position = "tr")
+ Point = (250, -100)
+ BitMap = Canvas.AddScaledBitmap(bmp, Point, Height = 50, Position = "bc" )
+ BitMap = Canvas.AddScaledBitmap(bmp, Point, Height = 50, Position = "tc" )
+ Canvas.AddPoint(Point, Diameter=4, Color="Green")
+
+ Point = (300, -100)
+ BitMap = Canvas.AddScaledBitmap(Resources.getMondrianImage(), Point, Height = 50)
+
+ self.Canvas.ZoomToBB()
+