#!/usr/bin/env python # -*- coding: utf-8 -*- # generated by wxGlade 0.6.3 on Sun Mar 1 15:35:59 2009 import wx # begin wxGlade: extracode # end wxGlade class DisplayDialog(wx.Dialog): def __init__(self, output_window, *args, **kwds): # begin wxGlade: DisplayDialog.__init__ self.parent = kwds['parent'] del kwds['parent'] kwds["style"] = wx.DEFAULT_DIALOG_STYLE self.outputwin = output_window wx.Dialog.__init__(self, *args, **kwds) self.sizer_5_staticbox = wx.StaticBox(self, -1, "Color and Font") self.radio_box_crlf = wx.RadioBox(self, -1, "newline", choices=["CRLF", "CR", "LF"], majorDimension=0, style=wx.RA_SPECIFY_ROWS) self.radio_box_echo = wx.RadioBox(self, -1, "echo", choices=["off", "on"], majorDimension=0, style=wx.RA_SPECIFY_ROWS) self.radio_box_unprintable = wx.RadioBox(self, -1, "unprintable", choices=["off", "on"], majorDimension=0, style=wx.RA_SPECIFY_ROWS) self.button_font = wx.Button(self, -1, "font") self.button_forecolor = wx.Button(self, -1, "foreColor") self.button_backcolor = wx.Button(self, -1, "backColor") self.button_cancel = wx.Button(self, wx.ID_CANCEL, "", style=wx.BU_RIGHT|wx.BU_BOTTOM) self.button_ok = wx.Button(self, wx.ID_OK, "", style=wx.BU_RIGHT|wx.BU_BOTTOM) self.backupSettings() self.__set_properties() self.__do_layout() self.Bind(wx.EVT_RADIOBOX, self.onRadioBoxCrlf, self.radio_box_crlf) self.Bind(wx.EVT_RADIOBOX, self.onRadionBoxEcho, self.radio_box_echo) self.Bind(wx.EVT_RADIOBOX, self.onRadioBoxUnprintable, self.radio_box_unprintable) self.Bind(wx.EVT_BUTTON, self.onFont, self.button_font) self.Bind(wx.EVT_BUTTON, self.onForecolor, self.button_forecolor) self.Bind(wx.EVT_BUTTON, self.onBackcolor, self.button_backcolor) self.Bind(wx.EVT_BUTTON, self.onCancel, self.button_cancel) self.Bind(wx.EVT_BUTTON, self.onOk, self.button_ok) # end wxGlade def __set_properties(self): # begin wxGlade: DisplayDialog.__set_properties _icon = wx.EmptyIcon() path = self.outputwin.workingdir _icon.CopyFromBitmap(wx.Bitmap(path + "/../images/zulu_logo16x16.png", wx.BITMAP_TYPE_ANY)) self.SetIcon(_icon) self.SetTitle("display settings") #initialize depend on settings self.radio_box_crlf.SetSelection(self.preNewline) self.radio_box_echo.SetSelection(self.preEcho) self.radio_box_unprintable.SetSelection(self.preUnprintable) self.button_font.SetMinSize((65, 32)) self.button_forecolor.SetMinSize((65, 29)) self.button_backcolor.SetMinSize((65, 32)) # end wxGlade def __do_layout(self): # begin wxGlade: DisplayDialog.__do_layout sizer_3 = wx.BoxSizer(wx.VERTICAL) sizer_6 = wx.BoxSizer(wx.HORIZONTAL) sizer_5 = wx.StaticBoxSizer(self.sizer_5_staticbox, wx.HORIZONTAL) sizer_4 = wx.BoxSizer(wx.HORIZONTAL) sizer_4.Add(self.radio_box_crlf, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 10) sizer_4.Add(self.radio_box_echo, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 10) sizer_4.Add(self.radio_box_unprintable, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 10) sizer_3.Add(sizer_4, 0, wx.ALL|wx.EXPAND, 8) sizer_5.Add(self.button_font, 0, wx.ALL|wx.EXPAND, 2) sizer_5.Add(self.button_forecolor, 1, wx.ALL|wx.EXPAND, 2) sizer_5.Add(self.button_backcolor, 1, wx.ALL, 2) sizer_3.Add(sizer_5, 1, wx.EXPAND, 0) sizer_6.Add(self.button_cancel, 0, wx.LEFT|wx.ALIGN_BOTTOM, 8) sizer_6.Add(self.button_ok, 0, wx.LEFT|wx.ALIGN_BOTTOM, 60) sizer_3.Add(sizer_6, 1, wx.ALL|wx.EXPAND, 5) self.SetSizer(sizer_3) sizer_3.Fit(self) self.Layout() # end wxGlade def backupSettings(self): """backup settings:when click cancel, we can come back """ self.preFont = self.parent.settings.font self.preForecolor = self.parent.settings.forecolor self.preBackcolor = self.parent.settings.backcolor self.preNewline = self.parent.settings.newline self.preEcho = self.parent.settings.echo self.preUnprintable = self.parent.settings.unprintable def onRadioBoxCrlf(self, event): # wxGlade: DisplayDialog.<event_handler> self.parent.settings.newline = self.radio_box_crlf.GetSelection() def onRadionBoxEcho(self, event): # wxGlade: DisplayDialog.<event_handler> self.parent.settings.echo = self.radio_box_echo.GetSelection() def onRadioBoxUnprintable(self, event): # wxGlade: DisplayDialog.<event_handler> self.parent.settings.unprintable = self.radio_box_unprintable.GetSelection() def onFont(self, event): # wxGlade: DisplayDialog.<event_handler> data = wx.FontData() data.EnableEffects(True) #data.SetColour(self.curClr) # set colour if self.parent.settings.font is not None: data.SetInitialFont(self.parent.settings.font) dlg = wx.FontDialog(self, data) if dlg.ShowModal() == wx.ID_OK: data = dlg.GetFontData() self.font = data.GetChosenFont() self.parent.settings.font = self.font self.parent.updateTextctrl() dlg.Destroy() def onForecolor(self, event): # wxGlade: DisplayDialog.<event_handler> dlg = wx.ColourDialog(self) dlg.GetColourData().SetChooseFull(True) dlg.GetColourData().SetColour(self.parent.settings.forecolor) if dlg.ShowModal() == wx.ID_OK: self.forecolor = dlg.GetColourData().GetColour().Get() self.parent.settings.forecolor = self.forecolor self.parent.updateTextctrl() dlg.Destroy() def onBackcolor(self, event): # wxGlade: DisplayDialog.<event_handler> dlg = wx.ColourDialog(self) dlg.GetColourData().SetChooseFull(True) dlg.GetColourData().SetColour(self.parent.settings.backcolor) if dlg.ShowModal() == wx.ID_OK: self.backcolor = dlg.GetColourData().GetColour().Get() self.parent.settings.backcolor = self.backcolor self.parent.updateTextctrl() dlg.Destroy() def onCancel(self, event): # wxGlade: DisplayDialog.<event_handler> self.parent.settings.font = self.preFont self.parent.settings.forecolor = self.preForecolor self.parent.settings.backcolor = self.preBackcolor self.parent.settings.newline = self.preNewline self.parent.settings.echo = self.preEcho self.parent.settings.unprintable = self.preUnprintable self.parent.updateTextctrl() self.Destroy() def onOk(self, event): # wxGlade: DisplayDialog.<event_handler> self.Destroy() # end of class DisplayDialog if __name__ == "__main__": app = wx.PySimpleApp(0) wx.InitAllImageHandlers() display_dialog = DisplayDialog(None, -1, "") app.SetTopWindow(display_dialog) display_dialog.Show() app.MainLoop()