import wx from wx.html import HtmlWindow class HtmlDialog(wx.Dialog): '''A messagedialog with HTML-formatted message''' def __init__(self, parent, title, message): wx.Dialog.__init__(self, parent, title = title, style = wx.DEFAULT_DIALOG_STYLE | wx.STAY_ON_TOP) self.htmlwindow = HtmlWindow(self) self.okbutton = wx.Button(self, wx.ID_OK) self.sizer = wx.BoxSizer(wx.VERTICAL) self.sizer.Add(self.htmlwindow, flag = wx.EXPAND, proportion = 1) self.sizer.Add(self.okbutton, flag = wx.EXPAND | wx.TOP, border = 5) self.htmlwindow.SetStandardFonts() self.htmlwindow.SetPage(message) self.SetAutoLayout(True) self.SetSizer(self.sizer) self.Layout() self.SetSize(self.htmlwindow.GetVirtualSize()) if __name__ == '__main__': print "Unit testing" class MyApp(wx.App): def OnInit(self): loremipsum = '''Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec feugiat vulputate massa. In vestibulum convallis enim. Maecenas condimentum metus vitae felis. Nam mattis nonummy magna. Mauris rhoncus aliquet erat. Integer enim. Vivamus sem arcu, imperdiet vitae, accumsan adipiscing, congue at, odio. Sed erat. Praesent semper. Nullam suscipit faucibus velit. Nam quis eros sit amet mi fringilla lobortis. Pellentesque felis justo, nonummy sit amet, malesuada ut, dignissim sit amet, nisi. Aliquam sed diam sed eros sodales dignissim. Sed placerat neque facilisis augue. Vivamus fermentum, mi vel bibendum rhoncus, dui justo semper dui, ut eleifend mauris tellus sit amet orci. Vivamus et felis. Maecenas viverra feugiat urna. Cras mollis, magna non nonummy hendrerit, felis metus tincidunt nibh, quis sodales tellus mi id nibh. Ut ornare ipsum sed orci. Cras semper luctus urna. Ut sem tellus, ornare mattis, consequat quis, sollicitudin a, sapien. Vestibulum mattis, nisi sed luctus ultricies, justo augue venenatis arcu, vitae sodales lacus eros at purus. Duis sit amet turpis at est mollis tincidunt. Ut cursus diam non ante. In ipsum. Pellentesque malesuada leo a ipsum. Aliquam pulvinar, est et condimentum vehicula, ante justo pellentesque leo, vitae sagittis neque mauris sed erat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque convallis suscipit pede. Curabitur auctor luctus diam. Nullam lorem. Morbi dolor eros, blandit in, dictum vitae, accumsan eu, risus. Sed commodo. Aliquam ullamcorper ultricies felis. Nunc non dolor id erat mattis sollicitudin. Sed pulvinar, felis vitae ultrices consequat, lectus magna auctor libero, sit amet pulvinar arcu nibh vitae tortor. Donec tincidunt pede non urna. Etiam et sem. Nullam tincidunt accumsan ligula. Praesent vulputate tincidunt velit. Donec quis tellus. Donec vitae massa. Mauris interdum, diam ac consequat ullamcorper, velit libero cursus magna, sit amet nonummy pede tortor ut nisl. Vestibulum cursus nonummy nulla. Fusce eget lectus a mauris sollicitudin rutrum. Maecenas vel purus.''' dlg = HtmlDialog(None, "My fancy dialog", 'THIS is loooooooooooooooooooooooooooooooooooooooooooooong HTML!') dlg.ShowModal() raise SystemExit app = MyApp(0) app.MainLoop()