def __DoLayout(self): """Layout the panel""" gs = wx.GridSizer(3, 2, 5, 15) colors = ('red', 'yellow', 'green', 'blue', 'orange', 'purple') for color in colors: cobj = wx.TheColourDatabase.FindColour(color) csetter = eclib.ColorSetter(self, wx.ID_ANY, cobj) gs.Add(csetter) sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(gs, 0, wx.ALIGN_CENTER | wx.ALL, 5) vsizer = wx.BoxSizer(wx.VERTICAL) vsizer.AddStretchSpacer() vsizer.Add(sizer, 0, wx.ALIGN_CENTER) vsizer.AddStretchSpacer() self.SetSizer(vsizer) self.SetAutoLayout(True)
def __DoLayout(self): """Layout the controls""" msizer = wx.BoxSizer(wx.VERTICAL) sbox = wx.StaticBox(self, label=_("Text Colors")) boxsz = wx.StaticBoxSizer(sbox, wx.VERTICAL) # Launch Config cfg = Profile_Get(handlers.CONFIG_KEY, default=dict()) # Actions Configuration clear_cb = wx.CheckBox( self, ID_AUTOCLEAR, _("Automatically clear output buffer between runs")) clear_cb.SetValue(cfg.get('autoclear', False)) error_cb = wx.CheckBox(self, ID_ERROR_BEEP, _("Audible feedback when errors are detected")) error_cb.SetValue(cfg.get('errorbeep', False)) wrap_cb = wx.CheckBox(self, ID_WRAP_OUTPUT, _("Wrap lines in output buffer")) wrap_cb.SetValue(cfg.get('wrapoutput', False)) # Colors colors = dict() for btn in COLOR_MAP.iteritems(): cbtn = eclib.ColorSetter(self, btn[0], color=cfg.get(btn[1])) colors[btn[0]] = cbtn flexg = wx.FlexGridSizer(5, 5, 5, 5) flexg.AddGrowableCol(1, 1) flexg.AddGrowableCol(3, 1) flexg.AddMany([ # First Row ((5, 5), 0), ((5, 5), 1), (wx.StaticText(self, label=_("Foreground")), 0, wx.ALIGN_CENTER), ((5, 5), 1), (wx.StaticText(self, label=_("Background")), 0, wx.ALIGN_CENTER), # Second Row (wx.StaticText(self, label=_("Plain Text") + u":"), 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5), 1), (colors[ID_DEF_FORE], 0, wx.EXPAND), ((5, 5), 1), (colors[ID_DEF_BACK], 0, wx.EXPAND), # Third Row (wx.StaticText(self, label=_("Error Text") + u":"), 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5), 1), (colors[ID_ERR_FORE], 0, wx.EXPAND), ((5, 5), 1), (colors[ID_ERR_BACK], 0, wx.EXPAND), # Fourth Row (wx.StaticText(self, label=_("Info Text") + u":"), 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5), 1), (colors[ID_INFO_FORE], 0, wx.EXPAND), ((5, 5), 1), (colors[ID_INFO_BACK], 0, wx.EXPAND), # Fifth Row (wx.StaticText(self, label=_("Warning Text") + u":"), 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5), 1), (colors[ID_WARN_FORE], 0, wx.EXPAND), ((5, 5), 1), (colors[ID_WARN_BACK], 0, wx.EXPAND) ]) boxsz.Add(flexg, 0, wx.EXPAND) # Layout msizer.AddMany([((5, 5), 0), (wx.StaticText(self, label=("Actions") + u":"), 0), ((5, 5), 0), (clear_cb, 0), ((5, 5), 0), (error_cb, 0), ((5, 5), 0), (wrap_cb, 0), ((10, 10), 0), (wx.StaticLine(self), 0, wx.EXPAND), ((10, 10), 0), (boxsz, 1, wx.EXPAND)]) hsizer = wx.BoxSizer(wx.HORIZONTAL) hsizer.AddMany([((5, 5), 0), (msizer, 1, wx.EXPAND), ((5, 5), 0)]) self.SetSizer(hsizer)
def __DoLayout(self): """Layout the controls in the panel""" hsizer = wx.BoxSizer(wx.HORIZONTAL) # Setup Left hand side with Style Tag List ss_v = wx.BoxSizer(wx.VERTICAL) style_lbl = wx.StaticText(self, label=_("Style Tags") + u": ") ss_v.AddMany([(style_lbl, 0, wx.ALIGN_LEFT), (self._tag_list, 1, wx.EXPAND)]) hsizer.Add(ss_v, 0, wx.EXPAND|wx.ALL, 5) # Add divider line hsizer.Add(wx.StaticLine(self, size=(-1, 2), style=wx.LI_VERTICAL), 0, wx.ALIGN_CENTER_HORIZONTAL|wx.EXPAND|wx.TOP|wx.BOTTOM, 5) # Setup the Right side setting_sizer = wx.BoxSizer(wx.VERTICAL) setting_top = wx.BoxSizer(wx.HORIZONTAL) # Settings top sbox = wx.StaticBox(self, label=_("Color")) cbox_sizer = wx.StaticBoxSizer(sbox, wx.VERTICAL) # Foreground fground_sizer = wx.BoxSizer(wx.HORIZONTAL) fground_lbl = wx.StaticText(self, label=_("Foreground") + u": ") fground_sel = eclib.ColorSetter(self, ID_FORE_COLOR, wx.BLACK) fground_sizer.AddMany([((5, 5)), (fground_lbl, 0, wx.ALIGN_CENTER_VERTICAL), ((2, 2), 0), (fground_sel, 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5))]) cbox_sizer.AddMany([(fground_sizer, 0, wx.ALIGN_LEFT | wx.EXPAND), ((10, 10))]) # Background bground_sizer = wx.BoxSizer(wx.HORIZONTAL) bground_lbl = wx.StaticText(self, label=_("Background") + u": ") bground_sel = eclib.ColorSetter(self, ID_BACK_COLOR, wx.WHITE) bground_sizer.AddMany([((5, 5)), (bground_lbl, 0, wx.ALIGN_CENTER_VERTICAL), ((2, 2), 0), (bground_sel, 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5))]) cbox_sizer.Add(bground_sizer, 0, wx.EXPAND) setting_top.AddMany([(cbox_sizer, 0, wx.ALIGN_TOP), ((10, 10), 0)]) # Attrib Box attrib_box = wx.StaticBox(self, label=_("Attributes")) abox_sizer = wx.StaticBoxSizer(attrib_box, wx.VERTICAL) # Attributes bold_cb = wx.CheckBox(self, ID_BOLD, _("bold")) eol_cb = wx.CheckBox(self, ID_EOL, _("eol")) ital_cb = wx.CheckBox(self, ID_ITALIC, _("italic")) uline_cb = wx.CheckBox(self, ID_ULINE, _("underline")) abox_sizer.AddMany([(bold_cb, 0), (eol_cb, 0), (ital_cb, 0), (uline_cb, 0)]) setting_top.Add(abox_sizer, 0, wx.ALIGN_TOP) # Font fh_sizer = wx.BoxSizer(wx.HORIZONTAL) font_box = wx.StaticBox(self, label=_("Font Settings")) fbox_sizer = wx.StaticBoxSizer(font_box, wx.VERTICAL) # Font Face Name fsizer = wx.BoxSizer(wx.HORIZONTAL) flbl = wx.StaticText(self, label=_("Font") + u": ") fontenum = wx.FontEnumerator() if wx.Platform == '__WXMAC__': # FixedWidthOnly Asserts on wxMac fontenum.EnumerateFacenames(fixedWidthOnly=False) else: fontenum.EnumerateFacenames(fixedWidthOnly=True) font_lst = [u"%(primary)s", u"%(secondary)s"] font_lst.extend(sorted(fontenum.GetFacenames())) fchoice = wx.Choice(self, ID_FONT, choices=font_lst) fsizer.AddMany([((5, 5), 0), (flbl, 0, wx.ALIGN_CENTER_VERTICAL), (fchoice, 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5),0)]) fbox_sizer.Add(fsizer, 0) # Font Size fsize_sizer = wx.BoxSizer(wx.HORIZONTAL) fsize_lbl = wx.StaticText(self, label=_("Size") + u": ") fsizes = [u"%(size)d", u"%(size2)d"] fsizes.extend([ unicode(x) for x in range(4, 21) ]) fs_choice = wx.Choice(self, ID_FONT_SIZE, choices=fsizes) fsize_sizer.AddMany([((5, 5), 0), (fsize_lbl, 0, wx.ALIGN_CENTER_VERTICAL), (fs_choice, 1, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL), ((5, 5), 0)]) fbox_sizer.AddMany([((5, 5), 0), (fsize_sizer, 0, wx.EXPAND)]) fh_sizer.AddMany([(fbox_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL), ((10, 10), 0)]) # Build Section setting_sizer.AddMany([(setting_top, 0, wx.ALIGN_CENTER_HORIZONTAL), ((10, 10), 0), (fh_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL)]) # Setup Right hand side with the settings controls hsizer.AddStretchSpacer() hsizer.Add(setting_sizer, 0, wx.EXPAND|wx.ALL, 5) hsizer.AddStretchSpacer() self.SetSizer(hsizer)