Example #1
0
    def __init__(self, parent, bgTask, title, description, imagePath):
        self.title = title
        self.description = description
        self.bgTask = bgTask
        self.imagePath = imagePath

        # This is here for intellisense purposes.
        if self.bgTask is None and False:
            self.bgTask = IZBackgroundTask()

        self.mutex = ZMutex(u"BGTaskDialogMTX")  #$NON-NLS-1$

        # Dialog state - can be modified by multiple threads and should
        # be protected by the above mutex.
        self.model = ZBackgroundTaskProgressDialogModel()

        ZHeaderDialog.__init__(self, parent, wx.ID_ANY, title)

        size = self.GetBestSize()
        if size.GetWidth() < 500:
            size.SetWidth(500)
        self.SetSize(size)

        self.bgTask.attachListener(self)
    def __init__(self, parent, bgTask, title, description, imagePath):
        self.title = title
        self.description = description
        self.bgTask = bgTask
        self.imagePath = imagePath

        # This is here for intellisense purposes.
        if self.bgTask is None and False:
            self.bgTask = IZBackgroundTask()

        self.mutex = ZMutex(u"BGTaskDialogMTX") #$NON-NLS-1$

        # Dialog state - can be modified by multiple threads and should
        # be protected by the above mutex.
        self.model = ZBackgroundTaskProgressDialogModel()

        ZHeaderDialog.__init__(self, parent, wx.ID_ANY, title)

        size = self.GetBestSize()
        if size.GetWidth() < 500:
            size.SetWidth(500)
        self.SetSize(size)

        self.bgTask.attachListener(self)
Example #3
0
class ZBackgroundTaskProgressDialog(ZHeaderDialog, IZBackgroundTaskListener):
    def __init__(self, parent, bgTask, title, description, imagePath):
        self.title = title
        self.description = description
        self.bgTask = bgTask
        self.imagePath = imagePath

        # This is here for intellisense purposes.
        if self.bgTask is None and False:
            self.bgTask = IZBackgroundTask()

        self.mutex = ZMutex(u"BGTaskDialogMTX")  #$NON-NLS-1$

        # Dialog state - can be modified by multiple threads and should
        # be protected by the above mutex.
        self.model = ZBackgroundTaskProgressDialogModel()

        ZHeaderDialog.__init__(self, parent, wx.ID_ANY, title)

        size = self.GetBestSize()
        if size.GetWidth() < 500:
            size.SetWidth(500)
        self.SetSize(size)

        self.bgTask.attachListener(self)

    # end __init__()

    def _createNonHeaderWidgets(self):
        self.progressCtrl = ZProgressLabelCtrl(self, u"")  #$NON-NLS-1$
        self.progressGauge = wx.Gauge(self, wx.ID_ANY,
                                      self.bgTask.getNumWorkUnits())
        self.progressGauge.SetSizeHints(-1, 16)
        self.workTextCtrl = wx.StaticText(self, wx.ID_ANY, u"")  #$NON-NLS-1$

        self.staticLine = wx.StaticLine(self, wx.HORIZONTAL)

    # end _createNonHeaderWidgets()

    def _populateNonHeaderWidgets(self):
        pass

    # end _populateNonHeaderWidgets()

    def _layoutNonHeaderWidgets(self):
        sizer = wx.BoxSizer(wx.VERTICAL)

        sizer.Add(self.progressGauge, 0, wx.EXPAND | wx.ALL, 2)
        sizer.Add(self.progressCtrl, 0, wx.EXPAND | wx.ALL, 2)
        sizer.Add(self.workTextCtrl, 0, wx.EXPAND | wx.ALL, 2)
        sizer.Add(self.staticLine, 0, wx.EXPAND | wx.TOP, 5)

        return sizer

    # end _layoutNonHeaderWidgets()

    def _bindWidgetEvents(self):
        self._bindOkButton(self.onOK)
        self._bindCancelButton(self.onUiCancel)
        self._bindRefreshEvent(self.onRefresh)

    # end _bindWidgetEvents()

    def _getOKButtonLabel(self):
        return _extstr(u"bgtaskprogressdialog.RunInBackground")  #$NON-NLS-1$

    # end _getOKButtonLabel()

    def _setInitialFocus(self):
        self.FindWindowById(wx.ID_OK).SetFocus()

    # end _setInitialFocus()

    def _getHeaderTitle(self):
        return self.title

    # end _getHeaderTitle()

    def _getHeaderMessage(self):
        return self.description

    # end _getHeaderMessage()

    def _getHeaderImagePath(self):
        return self.imagePath

    # end _getHeaderImagePath()

    def _doEndModal(self, code):
        try:
            self.EndModal(code)
            return self.bgTask.hasError()
        except Exception, e:
            getLoggerService().exception(e)
        return False
class ZBackgroundTaskProgressDialog(ZHeaderDialog, IZBackgroundTaskListener):

    def __init__(self, parent, bgTask, title, description, imagePath):
        self.title = title
        self.description = description
        self.bgTask = bgTask
        self.imagePath = imagePath

        # This is here for intellisense purposes.
        if self.bgTask is None and False:
            self.bgTask = IZBackgroundTask()

        self.mutex = ZMutex(u"BGTaskDialogMTX") #$NON-NLS-1$

        # Dialog state - can be modified by multiple threads and should
        # be protected by the above mutex.
        self.model = ZBackgroundTaskProgressDialogModel()

        ZHeaderDialog.__init__(self, parent, wx.ID_ANY, title)

        size = self.GetBestSize()
        if size.GetWidth() < 500:
            size.SetWidth(500)
        self.SetSize(size)

        self.bgTask.attachListener(self)
    # end __init__()

    def _createNonHeaderWidgets(self):
        self.progressCtrl = ZProgressLabelCtrl(self, u"") #$NON-NLS-1$
        self.progressGauge = wx.Gauge(self, wx.ID_ANY, self.bgTask.getNumWorkUnits())
        self.progressGauge.SetSizeHints(-1, 16)
        self.workTextCtrl = wx.StaticText(self, wx.ID_ANY, u"") #$NON-NLS-1$

        self.staticLine = wx.StaticLine(self, wx.HORIZONTAL)
    # end _createNonHeaderWidgets()

    def _populateNonHeaderWidgets(self):
        pass
    # end _populateNonHeaderWidgets()

    def _layoutNonHeaderWidgets(self):
        sizer = wx.BoxSizer(wx.VERTICAL)

        sizer.Add(self.progressGauge, 0, wx.EXPAND | wx.ALL, 2)
        sizer.Add(self.progressCtrl, 0, wx.EXPAND | wx.ALL, 2)
        sizer.Add(self.workTextCtrl, 0, wx.EXPAND | wx.ALL, 2)
        sizer.Add(self.staticLine, 0, wx.EXPAND | wx.TOP, 5)

        return sizer
    # end _layoutNonHeaderWidgets()

    def _bindWidgetEvents(self):
        self._bindOkButton(self.onOK)
        self._bindCancelButton(self.onUiCancel)
        self._bindRefreshEvent(self.onRefresh)
    # end _bindWidgetEvents()

    def _getOKButtonLabel(self):
        return _extstr(u"bgtaskprogressdialog.RunInBackground") #$NON-NLS-1$
    # end _getOKButtonLabel()

    def _setInitialFocus(self):
        self.FindWindowById(wx.ID_OK).SetFocus()
    # end _setInitialFocus()

    def _getHeaderTitle(self):
        return self.title
    # end _getHeaderTitle()

    def _getHeaderMessage(self):
        return self.description
    # end _getHeaderMessage()

    def _getHeaderImagePath(self):
        return self.imagePath
    # end _getHeaderImagePath()

    def _doEndModal(self, code):
        try:
            self.EndModal(code)
            return self.bgTask.hasError()
        except Exception, e:
            getLoggerService().exception(e)
        return False