Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/2991 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/91/2991/1 Init: Added new file Task.py Change-Id: I968fdf4b906cf6aab0a274fe4d1292cbaf1be51e --- A wizards/com/sun/star/wizards/ui/event/Task.py 1 file changed, 114 insertions(+), 0 deletions(-) diff --git a/wizards/com/sun/star/wizards/ui/event/Task.py b/wizards/com/sun/star/wizards/ui/event/Task.py new file mode 100644 index 0000000..133f93b --- /dev/null +++ b/wizards/com/sun/star/wizards/ui/event/Task.py @@ -0,0 +1,114 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +import traceback + +from .TaskEvent import TaskEvent + +class Task: + successfull = 0 + failed = 0 + maximum = 0 + taskName = "" + listeners = [] + subtaskName = "" + + def __init__(self, taskName_, subtaskName_, max_): + self.taskName = taskName_ + self.subtaskName = subtaskName_ + self.maximum = max_ + + def start(self): + self.fireTaskStarted() + + def fail(self): + self.fireTaskFailed() + + def getMax(self): + return self.maximum + + def setMax(self, max_): + self.maximum = max_ + self.fireTaskStatusChanged() + + def advance(self, success_): + if success_: + self.successfull += 1 + print ("Success :", self.successfull) + else: + self.failed += 1 + print ("Failed :", self.failed) + self.fireTaskStatusChanged() + if (self.failed + self.successfull == self.maximum): + self.fireTaskFinished() + + def advance1(self, success_, nextSubtaskName): + self.advance(success_) + self.setSubtaskName(nextSubtaskName) + + def getStatus(self): + return self.successfull + self.failed + + def addTaskListener(self, tl): + self.listeners.append(tl) + + def removeTaskListener(self, tl): + try: + index = self.listeners.index(tl) + self.listeners.pop(index) + except Exception: + traceback.print_exc() + + def fireTaskStatusChanged(self): + te = TaskEvent(self, TaskEvent.TASK_STATUS_CHANGED) + for i in range(len(self.listeners)): + self.listeners[i].taskStatusChanged(te) + + def fireTaskStarted(self): + te = TaskEvent(self, TaskEvent.TASK_STARTED) + for i in range(len(self.listeners)): + self.listeners[i].taskStarted(te) + + def fireTaskFailed(self): + te = TaskEvent(self, TaskEvent.TASK_FAILED) + for i in range(len(self.listeners)): + self.listeners[i].taskFinished(te) + + def fireTaskFinished(self): + te = TaskEvent(self, TaskEvent.TASK_FINISHED) + for i in range(len(self.listeners)): + self.listeners[i].taskFinished(te) + + def fireSubtaskNameChanged(self): + te = TaskEvent(self, TaskEvent.SUBTASK_NAME_CHANGED) + for i in range(len(self.listeners)): + self.listeners[i].subtaskNameChanged(te) + + def getSubtaskName(self): + return self.subtaskName + + def getTaskName(self): + return self.taskName + + def setSubtaskName(self, s): + self.subtaskName = s + self.fireSubtaskNameChanged() + + def getFailed(self): + return self.failed + + def getSuccessfull(self): + return self.successfull -- To view, visit https://gerrit.libreoffice.org/2991 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I968fdf4b906cf6aab0a274fe4d1292cbaf1be51e Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Javier Fernandez <javier....@gmail.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice