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.fgb@gmail.com>
Context
- [PATCH] Init: Added new file Task.py · Javier Fernandez (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.