示例#1
0
    def __init__(self, parent, id_=wx.ID_ANY, style=wx.NO_BORDER):
        """Initializes the panel"""
        wx.Panel.__init__(self, parent, id_, style=style)

        # Attributes
        self._sizer = wx.BoxSizer(wx.VERTICAL)
        lbl = wx.StaticText(
            self, wx.ID_ANY,
            _("Click on Install to install the plugins "
              "in the list"))
        toolt = wx.ToolTip(
            _("To add a new item drag and drop the plugin file "
              "into the list.\n\nTo remove an item select it "
              "and hit Delete or Backspace."))
        self._install = wx.ListBox(self, wx.ID_ANY, style=wx.LB_SORT)
        self._install.SetToolTip(toolt)
        self._install.SetDropTarget(
            util.DropTargetFT(self._install, None, self.OnDrop))
        self._instb = wx.Button(self, self.ID_INSTALL, _("Install"))
        self._instb.Disable()
        self._usercb = wx.CheckBox(self, self.ID_USER, _("User Directory"))
        self._usercb.SetValue(True)
        toolt = wx.ToolTip(_("Install the plugins only for the current user"))
        self._usercb.SetToolTip(toolt)
        self._syscb = wx.CheckBox(self, self.ID_SYS, _("System Directory"))
        toolt = wx.ToolTip(
            _("Install the plugins for all users\n"
              " **requires administrative privileges**"))
        self._syscb.SetToolTip(toolt)
        if not os.access(ed_glob.CONFIG['SYS_PLUGIN_DIR'], os.R_OK | os.W_OK):
            self._syscb.Disable()

        # Layout Panel
        self._sizer.Add(lbl, 0, wx.ALIGN_CENTER)
        self._sizer.Add(self._install, 1, wx.EXPAND)
        self._sizer.Add(wx.Size(5, 5))
        bsizer = wx.BoxSizer(wx.HORIZONTAL)
        bsizer.Add(wx.Size(5, 5))
        bsizer.Add(self._usercb, 0, wx.ALIGN_LEFT)
        bsizer.Add(wx.Size(5, 5))
        bsizer.Add(self._syscb, 0, wx.ALIGN_LEFT)
        bsizer.AddStretchSpacer()
        bsizer.Add(self._instb, 0, wx.ALIGN_RIGHT)
        bsizer.Add(wx.Size(5, 5))
        self._sizer.Add(bsizer, 0, wx.EXPAND)
        self._sizer.Add(wx.Size(5, 5))
        self.SetSizer(self._sizer)
        self.SendSizeEvent()

        # Event Handlers
        self.Bind(wx.EVT_BUTTON, self.OnButton)
        self.Bind(wx.EVT_CHECKBOX, self.OnCheckBox)
        self._install.Bind(wx.EVT_KEY_UP, self.OnKeyUp)
示例#2
0
    def __init__(self, parent, style=wx.NO_BORDER):
        """Initializes the panel"""
        eclib.ControlBox.__init__(self, parent, style=style)

        # Attributes
        self.CreateControlBar(wx.BOTTOM)
        toolt = wx.ToolTip(
            _("To add a new item drag and drop the plugin file "
              "into the list.\n\nTo remove an item select it "
              "and hit Delete or Backspace."))
        self._install = wx.ListBox(self,
                                   wx.ID_ANY,
                                   style=wx.LB_SORT | wx.BORDER_NONE)
        self._install.SetToolTip(toolt)
        self._install.SetDropTarget(
            util.DropTargetFT(self._install, None, self.OnDrop))

        bbar = self.GetControlBar(wx.BOTTOM)
        bbar.SetVMargin(1, 2)
        self._instb = wx.Button(bbar, self.ID_INSTALL, _("Install"))
        self._instb.Disable()
        self._usercb = wx.CheckBox(bbar, self.ID_USER, _("User Directory"))
        self._usercb.SetValue(True)
        toolt = wx.ToolTip(_("Install the plugins only for the current user"))
        self._usercb.SetToolTip(toolt)
        self._syscb = wx.CheckBox(bbar, self.ID_SYS, _("System Directory"))
        toolt = wx.ToolTip(
            _("Install the plugins for all users\n"
              " **requires administrative privileges**"))
        self._syscb.SetToolTip(toolt)
        if not os.access(ed_glob.CONFIG['SYS_PLUGIN_DIR'], os.R_OK | os.W_OK):
            self._syscb.Disable()

        # Layout Panel
        self.SetWindow(self._install)
        bbar.AddControl(self._usercb)
        bbar.AddControl(self._syscb)
        bbar.AddStretchSpacer()
        bbar.AddControl(self._instb, wx.ALIGN_RIGHT)
        self.SendSizeEvent()

        # Event Handlers
        self.Bind(wx.EVT_BUTTON, self.OnButton)
        self.Bind(wx.EVT_CHECKBOX, self.OnCheckBox)
        self._install.Bind(wx.EVT_KEY_UP, self.OnKeyUp)