Exemplo n.º 1
0
class _ConfirmationWithCheckbox(Dialog):
    _width = 650
    _height = 250

    def __init__(self, controller):
        Dialog.__init__(self, self._title, size=(self._width, self._height))
        self._controller = controller
        self._sizer = VerticalSizer()
        self._create_controls()
        self._create_horizontal_line(self._sizer)
        self._create_buttons(self._sizer)
        self.SetSizer(self._sizer)

    def _create_controls(self):
        self._show_usages()
        self._checkbox = wx.CheckBox(self, label=self._checkbox_label)
        self._checkbox.SetValue(True)
        self._sizer.add_with_padding(self._checkbox)

    def _show_usages(self):
        usages = list(self._controller.execute(FindResourceUsages()))
        if usages:
            self._sizer.add_with_padding(Label(self, label="Usages:"))
            model = ResourceImportListModel(usages)
            self._sizer.add_expanding(VirtualList(self, model.headers, model))
            self._add_usages_modifying_help(usages)

    def _add_usages_modifying_help(self, usages):
        if any(u for u in usages if not u.can_be_renamed):
            help = Label(self,
                label='Highlighted imports are not modified because they '
                      'contain variables in resource file name.')
            help.Wrap(self._width)
            help.SetForegroundColour('red')
            self._sizer.add_with_padding(help)
Exemplo n.º 2
0
class _UsageDialog(Dialog):
    _width = 650
    _height = 250

    def __init__(self, usages, title, checkbox_label, model=ResourceImportListModel):
        Dialog.__init__(self, title, size=(self._width, self._height))
        self._sizer = VerticalSizer()
        self._create_controls(usages, checkbox_label, model)
        self._create_horizontal_line(self._sizer)
        self._create_buttons(self._sizer)
        self.SetSizer(self._sizer)

    def _create_controls(self, usages, checkbox_label, model):
        self._sizer.add_with_padding(Label(self, label="Usages:"))
        model = model(usages)
        self._sizer.add_expanding(VirtualList(self, model.headers, model))
        self._add_usages_modifying_help(usages)
        self._checkbox = wx.CheckBox(self, label=checkbox_label)
        self._checkbox.SetValue(True)
        self._sizer.add_with_padding(self._checkbox)

    def _add_usages_modifying_help(self, usages):
        if any(u for u in usages if not u.can_be_renamed):
            help = Label(self,
                label='Highlighted imports are not modified because they '
                      'contain variables in resource file name.')
            help.Wrap(self._width)
            help.SetForegroundColour('red')
            self._sizer.add_with_padding(help)

    def show(self):
        confirmed = self.ShowModal() == wx.ID_OK
        return confirmed, self._checkbox.IsChecked()
class _UsageDialog(Dialog):
    _width = 650
    _height = 250

    def __init__(self,
                 usages,
                 title,
                 checkbox_label,
                 model=ResourceImportListModel):
        Dialog.__init__(self, title, size=(self._width, self._height))
        # set Left to Right direction (while we don't have localization)
        self.SetLayoutDirection(wx.Layout_LeftToRight)
        self._sizer = VerticalSizer()
        self._create_controls(usages, checkbox_label, model)
        self._create_horizontal_line(self._sizer)
        self._create_buttons(self._sizer)
        self.SetSizer(self._sizer)

    def _create_controls(self, usages, checkbox_label, model):
        self._sizer.add_with_padding(Label(self, label="Usages:"))
        model = model(usages)
        self._sizer.add_expanding(VirtualList(self, model.headers, model))
        self._add_usages_modifying_help(usages)
        self._checkbox = wx.CheckBox(self, label=checkbox_label)
        self._checkbox.SetValue(True)
        self._sizer.add_with_padding(self._checkbox)

    def _add_usages_modifying_help(self, usages):
        if any(u for u in usages if not u.can_be_renamed):
            help = Label(
                self,
                label='Highlighted imports are not modified because they '
                'contain variables in resource file name.')
            help.Wrap(self._width)
            help.SetForegroundColour('red')
            self._sizer.add_with_padding(help)

    def show(self):
        confirmed = self.ShowModal() == wx.ID_OK
        return confirmed, self._checkbox.IsChecked()