Beispiel #1
0
    def __DoLayout(self):
        """Layout and setup the results screen ui"""
        ctrlbar = ctrlbox.ControlBar(self, style=ctrlbox.CTRLBAR_STYLE_GRADIENT)
        if wx.Platform == '__WXGTK__':
            ctrlbar.SetWindowStyle(ctrlbox.CTRLBAR_STYLE_DEFAULT)

        ctrlbar.AddStretchSpacer()

        # Cancel Button
        cbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_STOP), wx.ART_MENU)
        if cbmp.IsNull() or not cbmp.IsOk():
            cbmp = wx.ArtProvider.GetBitmap(wx.ART_ERROR,
                                            wx.ART_MENU, (16, 16))
        cancel = platebtn.PlateButton(ctrlbar, wx.ID_CANCEL, _("Cancel"),
                                      cbmp, style=platebtn.PB_STYLE_NOBG)
        self._cancelb = cancel
        ctrlbar.AddControl(cancel, wx.ALIGN_RIGHT)

        # Clear Button
        cbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DELETE), wx.ART_MENU)
        if cbmp.IsNull() or not cbmp.IsOk():
            cbmp = None
        clear = platebtn.PlateButton(ctrlbar, wx.ID_CLEAR, _("Clear"),
                                     cbmp, style=platebtn.PB_STYLE_NOBG)
        self._clearb = clear
        ctrlbar.AddControl(clear, wx.ALIGN_RIGHT)

        ctrlbar.SetVMargin(1, 1)
        self.SetControlBar(ctrlbar)
        self.SetWindow(self._list)
Beispiel #2
0
    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
Beispiel #3
0
    def __DoLayout(self):
        """Layout the window"""
        #-- Setup ControlBar --#
        ctrlbar = ctrlbox.ControlBar(self, style=ctrlbox.CTRLBAR_STYLE_GRADIENT)
        if wx.Platform == '__WXGTK__':
            ctrlbar.SetWindowStyle(ctrlbox.CTRLBAR_STYLE_DEFAULT)

        # Preferences
        prefbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_PREF), wx.ART_MENU)
        pref = platebtn.PlateButton(ctrlbar, ID_SETTINGS, '', prefbmp,
                                    style=platebtn.PB_STYLE_NOBG)
        pref.SetToolTipString(_("Settings"))
        ctrlbar.AddControl(pref, wx.ALIGN_LEFT)

        # Exe
        ctrlbar.AddControl(wx.StaticText(ctrlbar, label=_("exec") + ":"),
                           wx.ALIGN_LEFT)
        exe = wx.Choice(ctrlbar, ID_EXECUTABLE)
        exe.SetToolTipString(_("Program Executable Command"))
        ctrlbar.AddControl(exe, wx.ALIGN_LEFT)

        # Script Label
        ctrlbar.AddControl((5, 5), wx.ALIGN_LEFT)
        self._chFiles = wx.Choice(ctrlbar, choices=[''])
        ctrlbar.AddControl(self._chFiles, wx.ALIGN_LEFT)

        # Args
        ctrlbar.AddControl((5, 5), wx.ALIGN_LEFT)
        ctrlbar.AddControl(wx.StaticText(ctrlbar, label=_("args") + ":"),
                           wx.ALIGN_LEFT)
        args = wx.TextCtrl(ctrlbar, ID_ARGS)
        args.SetToolTipString(_("Script Arguments"))
        ctrlbar.AddControl(args, wx.ALIGN_LEFT)

        # Spacer
        ctrlbar.AddStretchSpacer()
        
        # Run Button
        rbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_BIN_FILE), wx.ART_MENU)
        if rbmp.IsNull() or not rbmp.IsOk():
            rbmp = None
        run = platebtn.PlateButton(ctrlbar, ID_RUN, _("Run"), rbmp,
                                   style=platebtn.PB_STYLE_NOBG)
        ctrlbar.AddControl(run, wx.ALIGN_RIGHT)

        # Clear Button
        cbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DELETE), wx.ART_MENU)
        if cbmp.IsNull() or not cbmp.IsOk():
            cbmp = None
        clear = platebtn.PlateButton(ctrlbar, wx.ID_CLEAR, _("Clear"),
                                     cbmp, style=platebtn.PB_STYLE_NOBG)
        ctrlbar.AddControl(clear, wx.ALIGN_RIGHT)
        ctrlbar.SetVMargin(1, 1)
        self.SetControlBar(ctrlbar)

        self.SetWindow(self._buffer)
Beispiel #4
0
    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 = platebtn.PlateButton(self,
                                        ID_SEARCH_NEXT,
                                        _("Next"),
                                        t_bmp,
                                        style=platebtn.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 = platebtn.PlateButton(self,
                                       ID_SEARCH_PRE,
                                       _("Previous"),
                                       t_bmp,
                                       style=platebtn.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)
Beispiel #5
0
    def __init__(self, parent):
        """Create the result screen
        @param parent: parent window

        """
        ctrlbox.ControlBox.__init__(self, parent)

        # Attributes
        self._list = SearchResultsList(self)

        # Setup
        ctrlbar = ctrlbox.ControlBar(self)
        ctrlbar.AddStretchSpacer()
        cbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DELETE), wx.ART_MENU)
        if cbmp.IsNull() or not cbmp.IsOk():
            cbmp = None
        clear = platebtn.PlateButton(ctrlbar,
                                     wx.ID_CLEAR,
                                     _("Clear"),
                                     cbmp,
                                     style=platebtn.PB_STYLE_NOBG)
        ctrlbar.AddControl(clear, wx.ALIGN_LEFT)

        # Layout
        self.SetWindow(self._list)

        # Event Handlers
        self.Bind(wx.EVT_BUTTON, lambda evt: self._list.Clear(), wx.ID_CLEAR)
Beispiel #6
0
    def __DoLayout(self):
        """Layout the log viewer window"""
        # Setup ControlBar
        ctrlbar = ctrlbox.ControlBar(self,
                                     style=ctrlbox.CTRLBAR_STYLE_GRADIENT)
        if wx.Platform == '__WXGTK__':
            ctrlbar.SetWindowStyle(ctrlbox.CTRLBAR_STYLE_DEFAULT)

        # View Choice
        self._srcfilter = wx.Choice(ctrlbar, wx.ID_ANY, choices=[])
        ctrlbar.AddControl(wx.StaticText(ctrlbar, label=_("Filter") + ":"))
        ctrlbar.AddControl(self._srcfilter)

        # Clear Button
        ctrlbar.AddStretchSpacer()
        cbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DELETE), wx.ART_MENU)
        if cbmp.IsNull() or not cbmp.IsOk():
            cbmp = None
        clear = platebtn.PlateButton(ctrlbar,
                                     wx.ID_CLEAR,
                                     _("Clear"),
                                     cbmp,
                                     style=platebtn.PB_STYLE_NOBG)
        ctrlbar.AddControl(clear, wx.ALIGN_RIGHT)
        ctrlbar.SetVMargin(1, 1)
        self.SetControlBar(ctrlbar)
Beispiel #7
0
    def __init__(self, parent, id_, size=(-1, 24), style=wx.TAB_TRAVERSAL):
        """Initializes the bar and its default widgets
        @postcondition: commandbar is created

        """
        wx.Panel.__init__(self, parent, id_, size=size, style=style)

        # Attributes
        self._parent = parent
        self._installed = False
        self._sizers = dict(h_sizer=wx.BoxSizer(wx.HORIZONTAL),
                            goto=wx.BoxSizer(),
                            search=wx.BoxSizer(),
                            cmd=wx.BoxSizer())

        # Install Controls
        self._sizers['h_sizer'].Add((8, 0))
        self.close_b = platebtn.PlateButton(self,
                                            ID_CLOSE_BUTTON,
                                            bmp=XButton.GetBitmap(),
                                            style=platebtn.PB_STYLE_NOBG)
        self._sizers['h_sizer'].Add(self.close_b, 0, wx.ALIGN_CENTER_VERTICAL)
        self._sizers['h_sizer'].Add((5, 0))
        self.SetSizer(self._sizers['h_sizer'])
        self.SetAutoLayout(True)

        # Bind Events
        ed_msg.Subscribe(self.OnThemeChange, ed_msg.EDMSG_THEME_CHANGED)

        # Don't paint the gradient on gtk due to transparency
        # issues with some controls
        if wx.Platform != '__WXGTK__':
            self.Bind(wx.EVT_PAINT, self.OnPaint)
        self.Bind(wx.EVT_BUTTON, self.OnButton)
        self.Bind(wx.EVT_CHECKBOX, self.OnCheck)
Beispiel #8
0
    def __init__(self, parent):
        wx.Panel.__init__(self, parent, style=wx.NO_BORDER)

        # Attributes
        self._saved = ed_menu.EdMenu()
        self._rmpath = ed_menu.EdMenu()
        self._ids = list()  # List of ids of menu items
        self._rids = list()  # List of remove menu item ids

        key = u'Ctrl'
        if wx.Platform == '__WXMAC__':
            key = u'Cmd'

        tt = wx.ToolTip(
            _("To open multiple files at once %s+Click to select "
              "the desired files/folders then hit Enter to open "
              "them all at once") % key)
        self.SetToolTip(tt)

        # Build Menus
        menu = ed_menu.EdMenu()
        menu.Append(self.ID_MARK_PATH, _("Save Selected Paths"))
        menu.AppendMenu(self.ID_OPEN_MARK, _("Jump to Saved Path"),
                        self._saved)
        menu.AppendSeparator()
        menu.AppendMenu(self.ID_REMOVE_MARK, _("Remove Saved Path"),
                        self._rmpath)

        # Button
        bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_ADD_BM), wx.ART_MENU)
        self.menub = platebtn.PlateButton(self,
                                          bmp=bmp,
                                          style=platebtn.PB_STYLE_NOBG)
        self.menub.SetToolTipString(_("Pathmarks"))
        self.menub.SetMenu(menu)

        # Layout bar
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add((1, 1))
        men_sz = wx.BoxSizer(wx.HORIZONTAL)
        men_sz.Add((6, 6))
        men_sz.Add(self.menub, 0, wx.ALIGN_LEFT)
        sizer.Add(men_sz)
        sizer.Add((1, 1))
        self.SetSizer(sizer)

        # Event Handlers
        ed_msg.Subscribe(self.OnThemeChanged, ed_msg.EDMSG_THEME_CHANGED)
        self.Bind(wx.EVT_BUTTON, lambda evt: self.menub.ShowMenu(), self.menub)
        # Due to transparency issues dont do painting on gtk
        if wx.Platform != '__WXGTK__':
            self.Bind(wx.EVT_PAINT, self.OnPaint)
Beispiel #9
0
    def __init__(self, parent):
        ctrlbox.ControlBar.__init__(self,
                                    parent,
                                    style=ctrlbox.CTRLBAR_STYLE_GRADIENT)

        if wx.Platform == '__WXGTK__':
            self.SetWindowStyle(ctrlbox.CTRLBAR_STYLE_DEFAULT)

        # Attributes
        self._saved = ed_menu.EdMenu()
        self._rmpath = ed_menu.EdMenu()
        self._ids = list()  # List of ids of menu items
        self._rids = list()  # List of remove menu item ids

        key = u'Ctrl'
        if wx.Platform == '__WXMAC__':
            key = u'Cmd'

        tt = wx.ToolTip(
            _("To open multiple files at once %s+Click to select "
              "the desired files/folders then hit Enter to open "
              "them all at once") % key)
        self.SetToolTip(tt)

        # Build Menus
        menu = ed_menu.EdMenu()
        menu.Append(ID_MARK_PATH, _("Save Selected Paths"))
        menu.AppendMenu(ID_OPEN_MARK, _("Jump to Saved Path"), self._saved)
        menu.AppendSeparator()
        menu.AppendMenu(ID_REMOVE_MARK, _("Remove Saved Path"), self._rmpath)

        # Button
        bmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_ADD_BM), wx.ART_MENU)
        self.menub = platebtn.PlateButton(self,
                                          bmp=bmp,
                                          style=platebtn.PB_STYLE_NOBG)
        self.menub.SetToolTipString(_("Pathmarks"))
        self.menub.SetMenu(menu)

        # Layout bar
        self.AddControl(self.menub, wx.ALIGN_LEFT)

        # Event Handlers
        ed_msg.Subscribe(self.OnThemeChanged, ed_msg.EDMSG_THEME_CHANGED)
        self.Bind(wx.EVT_BUTTON, lambda evt: self.menub.ShowMenu(), self.menub)
Beispiel #10
0
    def __init__(self, parent):
        ctrlbox.ControlBar.__init__(self,
                                    parent,
                                    style=ctrlbox.CTRLBAR_STYLE_GRADIENT)

        if wx.Platform == '__WXGTK__':
            self.SetWindowStyle(ctrlbox.CTRLBAR_STYLE_DEFAULT)

        self.SetVMargin(2, 2)

        # Attributes
        self._parent = parent
        self.ctrl = None
        self.close_b = platebtn.PlateButton(self,
                                            ID_CLOSE_BUTTON,
                                            bmp=XButton.GetBitmap(),
                                            style=platebtn.PB_STYLE_NOBG)

        # Setup
        self.AddControl(self.close_b, wx.ALIGN_LEFT)

        # Event Handlers
        self.Bind(wx.EVT_BUTTON, self.OnClose, self.close_b)
Beispiel #11
0
    def __DoLayout(self):
        """Layout the control box"""
        ctrlbar = ctrlbox.ControlBar(self,
                                     style=ctrlbox.CTRLBAR_STYLE_GRADIENT)
        if wx.Platform == '__WXGTK__':
            ctrlbar.SetWindowStyle(ctrlbox.CTRLBAR_STYLE_DEFAULT)

        self._choice = wx.Choice(ctrlbar, wx.ID_ANY, choices=self._styles)

        ctrlbar.AddControl(
            wx.StaticText(ctrlbar, label=_("Color Scheme") + u":"),
            wx.ALIGN_LEFT)
        ctrlbar.AddControl(self._choice, wx.ALIGN_LEFT)

        cbmp = wx.ArtProvider.GetBitmap(str(ed_glob.ID_DELETE), wx.ART_MENU)
        self._clear = platebtn.PlateButton(ctrlbar,
                                           label=_("Clear"),
                                           bmp=cbmp,
                                           style=platebtn.PB_STYLE_NOBG)
        ctrlbar.AddStretchSpacer()
        ctrlbar.AddControl(self._clear, wx.ALIGN_RIGHT)

        self.SetControlBar(ctrlbar)
        self.SetWindow(self._shell)