def InstallSearchCtrl(self): """Installs the search context controls into the panel. Other controls should be removed from the panel before calling this method. @postcondition: search control is installed in bar """ h_sizer = wx.BoxSizer(wx.HORIZONTAL) v_sizer = wx.BoxSizer(wx.VERTICAL) t_sizer = wx.BoxSizer(wx.VERTICAL) spacer = (6, 6) if wx.Platform == '__WXGTK__': spacer = (4, 4) v_sizer.Add(spacer) search = ed_search.EdSearchCtrl(self, ID_SEARCH_CTRL, menulen=5, size=(180, 20)) v_sizer.Add(search, 0, wx.ALIGN_CENTER_VERTICAL) v_sizer.Add((4, 4)) f_lbl = wx.StaticText(self, label=_("Find") + u": ") ctrl_sizer = wx.BoxSizer(wx.HORIZONTAL) t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DOWN), wx.ART_MENU) next_btn = platebtn.PlateButton(self, ID_SEARCH_NEXT, _("Next"), t_bmp, style=platebtn.PB_STYLE_NOBG) t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_UP), wx.ART_MENU) pre_btn = platebtn.PlateButton(self, ID_SEARCH_PRE, _("Previous"), t_bmp, style=platebtn.PB_STYLE_NOBG) match_case = wx.CheckBox(self, ID_MATCH_CASE, _("Match Case")) match_case.SetValue(search.IsMatchCase()) if wx.Platform == '__WXMAC__': t_sizer.Add((5, 5)) for win in [f_lbl, match_case, next_btn, pre_btn]: win.SetFont(wx.SMALL_FONT) ctrl_sizer.AddMany([(10, 0), (next_btn, 0, wx.ALIGN_CENTER_VERTICAL), ((5, 0)), (pre_btn, 0, wx.ALIGN_CENTER_VERTICAL), ((8, 0)), (match_case, 0, wx.ALIGN_CENTER_VERTICAL)]) t_sizer.Add(ctrl_sizer, 0, wx.ALIGN_CENTER_VERTICAL) h_sizer.AddMany([(f_lbl, 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5)), (v_sizer, 0, wx.ALIGN_CENTER_VERTICAL), (t_sizer, 0, wx.ALIGN_CENTER_VERTICAL)]) self._sizers['search'] = h_sizer self._sizers['h_sizer'].Add(h_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL) self._sizers['h_sizer'].Layout() return search
def InstallSearchCtrl(self): """Installs the search context controls into the panel. Other controls should be removed from the panel before calling this method. @postcondition: search control is installed in bar """ h_sizer = wx.BoxSizer(wx.HORIZONTAL) v_sizer = wx.BoxSizer(wx.VERTICAL) t_sizer = wx.BoxSizer(wx.VERTICAL) v_sizer.Add((5, 5)) ssize = wx.Size(180, 20) if wx.Platform == '__WXGTK__': ssize.SetHeight(24) search = ed_search.EdSearchCtrl(self, ID_SEARCH_CTRL, menulen=5, size=ssize) v_sizer.Add(search) v_sizer.Add((4, 4)) f_lbl = wx.StaticText(self, ID_FIND_LBL, _("Find") + u": ") ctrl_sizer = wx.BoxSizer(wx.HORIZONTAL) t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DOWN), wx.ART_MENU) next_btn = wx.BitmapButton(self, ID_SEARCH_NEXT, t_bmp, style=wx.NO_BORDER) nlbl = wx.StaticText(self, label=_("Next")) t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_UP), wx.ART_MENU) pre_btn = wx.BitmapButton(self, ID_SEARCH_PRE, t_bmp, style=wx.NO_BORDER) plbl = wx.StaticText(self, label=_("Previous")) match_case = wx.CheckBox(self, ID_MATCH_CASE, _("Match Case")) match_case.SetValue(search.IsMatchCase()) if wx.Platform == '__WXMAC__': f_lbl.SetFont(wx.SMALL_FONT) match_case.SetFont(wx.SMALL_FONT) nlbl.SetFont(wx.SMALL_FONT) plbl.SetFont(wx.SMALL_FONT) ctrl_sizer.AddMany([(10, 10), (next_btn, 0, wx.ALIGN_CENTER_VERTICAL), ((3, 3)), (nlbl, 0, wx.ALIGN_CENTER_VERTICAL), ((10, 10)), (pre_btn, 0, wx.ALIGN_CENTER_VERTICAL), ((3, 3)), (plbl, 0, wx.ALIGN_CENTER_VERTICAL), ((10, 10)), (match_case, 0, wx.ALIGN_CENTER_VERTICAL)]) t_sizer.Add((7, 7)) t_sizer.Add(ctrl_sizer) t_sizer.Add((4, 4)) h_sizer.AddMany([(f_lbl, 0, wx.ALIGN_CENTER_VERTICAL), ((5, 5)), (v_sizer), (ctrl_sizer, 0, wx.ALIGN_CENTER_VERTICAL)]) self._sizers['search'] = h_sizer self._sizers['h_sizer'].Add(h_sizer, 0, wx.ALIGN_CENTER_HORIZONTAL) self._sizers['h_sizer'].Layout() return search
def __init__(self, parent): CommandBarBase.__init__(self, parent) # Attributes self.SetControl( ed_search.EdSearchCtrl(self, wx.ID_ANY, menulen=5, size=(180, -1))) self._sctrl = self.ctrl.GetSearchController() # Setup f_lbl = wx.StaticText(self, label=_("Find") + u": ") t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DOWN), wx.ART_MENU) next_btn = eclib.PlateButton(self, ID_SEARCH_NEXT, _("Next"), t_bmp, style=eclib.PB_STYLE_NOBG) self.AddControl(f_lbl, wx.ALIGN_LEFT) self.AddControl(self.ctrl, wx.ALIGN_LEFT) self.AddControl(next_btn, wx.ALIGN_LEFT) t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_UP), wx.ART_MENU) pre_btn = eclib.PlateButton(self, ID_SEARCH_PRE, _("Previous"), t_bmp, style=eclib.PB_STYLE_NOBG) self.AddControl(pre_btn, wx.ALIGN_LEFT) match_case = wx.CheckBox(self, ID_MATCH_CASE, _("Match Case")) match_case.SetValue(self.ctrl.IsMatchCase()) self.AddControl(match_case, wx.ALIGN_LEFT) regex_cb = wx.CheckBox(self, ID_REGEX, _("Regular Expression")) regex_cb.SetValue(self.ctrl.IsRegEx()) self.AddControl(regex_cb, wx.ALIGN_LEFT) # HACK: workaround bug in mac control that resets size to # that of the default variant after any text has been # typed in it. Note it reports the best size as the default # variant and causes layout issues. wxBUG if wx.Platform == '__WXMAC__': self.ctrl.SetSizeHints(180, 16, 180, 16) # Event Handlers self.Bind(wx.EVT_BUTTON, self.OnButton) self.Bind(wx.EVT_CHECKBOX, self.OnCheck) ed_msg.Subscribe(self.OnThemeChange, ed_msg.EDMSG_THEME_CHANGED) self._sctrl.RegisterClient(self)
def __init__(self, parent): CommandBarBase.__init__(self, parent) # Attributes self.SetControl( ed_search.EdSearchCtrl(self, wx.ID_ANY, menulen=5, size=(180, -1))) self._sctrl = self.ctrl.GetSearchController() # Setup f_lbl = wx.StaticText(self, label=_("Find") + u": ") t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DOWN), wx.ART_MENU) next_btn = eclib.PlateButton(self, ID_SEARCH_NEXT, _("Next"), t_bmp, style=eclib.PB_STYLE_NOBG, name="NextBtn") self.AddControl(f_lbl, wx.ALIGN_LEFT) self.AddControl(self.ctrl, wx.ALIGN_LEFT) self.AddControl(next_btn, wx.ALIGN_LEFT) t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_UP), wx.ART_MENU) pre_btn = eclib.PlateButton(self, ID_SEARCH_PRE, _("Previous"), t_bmp, style=eclib.PB_STYLE_NOBG, name="PreBtn") self.AddControl(pre_btn, wx.ALIGN_LEFT) t_bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_FIND), wx.ART_MENU) fa_btn = eclib.PlateButton(self, ID_FIND_ALL, _("Find All"), t_bmp, style=eclib.PB_STYLE_NOBG, name="FindAllBtn") self.AddControl(fa_btn) fa_btn.Show(False) # Hide this button by default match_case = wx.CheckBox(self, ID_MATCH_CASE, _("Match Case"), name="MatchCase") match_case.SetValue(self.ctrl.IsMatchCase()) self.AddControl(match_case, wx.ALIGN_LEFT) match_case.Show(False) # Hide by default ww_cb = wx.CheckBox(self, ID_WHOLE_WORD, _("Whole Word"), name="WholeWord") ww_cb.SetValue(self.ctrl.IsWholeWord()) self.AddControl(ww_cb, wx.ALIGN_LEFT) regex_cb = wx.CheckBox(self, ID_REGEX, _("Regular Expression"), name="RegEx") regex_cb.SetValue(self.ctrl.IsRegEx()) self.AddControl(regex_cb, wx.ALIGN_LEFT) # HACK: workaround bug in mac control that resets size to # that of the default variant after any text has been # typed in it. Note it reports the best size as the default # variant and causes layout issues. wxBUG if wx.Platform == '__WXMAC__': self.ctrl.SetSizeHints(180, 16, 180, 16) # Event Handlers self.Bind(wx.EVT_BUTTON, self.OnButton) self.Bind(wx.EVT_CHECKBOX, self.OnCheck) ed_msg.Subscribe(self.OnThemeChange, ed_msg.EDMSG_THEME_CHANGED) self._sctrl.RegisterClient(self) # Set user customizable layout state = Profile_Get('CTRLBAR', default=dict()) cfg = state.get(self.GetConfigKey(), dict()) self.SetControlStates(cfg)