+ # NOTE: this font exists on my OS-X.who knows were else you'll find it!
+ Point = (-100, 50)
+ Font = wx.Font(12, wx.DEFAULT, wx.ITALIC, wx.NORMAL, False, "helvetica")
+ T = self.Canvas.AddScaledText("Helvetica Italic", Point, Size = 20, Font = Font, Position = 'bc')
+
+ Point = (-50, -50)
+ Font = wx.Font(12, wx.DEFAULT, wx.ITALIC, wx.NORMAL, False, "times")
+ T = self.Canvas.AddScaledText("Times Font", Point, Size = 8, Font = Font)
+
+ self.Canvas.ZoomToBB()
+
+ def TestScaledTextBox(self, event= None):
+ wx.GetApp().Yield(True)
+
+ self.UnBindAllMouseEvents()
+ Canvas = self.Canvas
+ Canvas.InitAll()
+
+ 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,
+ Underlined = 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,
+ Underlined = 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,
+ Underlined = 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,
+ Underlined = 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,
+ Underlined = 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 = N.array((100, -20), N.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 = N.array((0, -40), N.float_)
+ # Point = N.array((0, 0), N.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 = N.array((-20, 60), N.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 = N.array((-20, 20), N.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 = N.array((100, -60), N.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(True)