Replace block-style progress reporter with C-api based one
This implementation is based on the implementation in MantidPlot. A C++-based executor has been added that can execute Python code with the option of installing a trace function to update a progress marker on a given editor window. The old implementation attempted to chunk up the script into the smallest executable blocks and mark each of these as when they were executed. There were 2 issues: - the chunking of the scripts was error prone as it actually requires a good knowledge of how Python internally handles indentation etc. It was fairly easy to break and future internal updates to Python would have required unknown changes. - the progress reporting resolution was far poorer than MantidPlot as the actual line being executed was not reported but inferred by what block was being executed giving a false sense of progress through a script.
Showing
- Framework/PythonInterface/core/CMakeLists.txt 2 additions, 0 deletionsFramework/PythonInterface/core/CMakeLists.txt
- Framework/PythonInterface/core/inc/MantidPythonInterface/core/UninstallTrace.h 31 additions, 0 deletions...face/core/inc/MantidPythonInterface/core/UninstallTrace.h
- Framework/PythonInterface/core/src/UninstallTrace.cpp 29 additions, 0 deletionsFramework/PythonInterface/core/src/UninstallTrace.cpp
- Framework/PythonInterface/mantid/api/src/Exports/AlgorithmFactory.cpp 3 additions, 0 deletions...thonInterface/mantid/api/src/Exports/AlgorithmFactory.cpp
- Framework/PythonInterface/mantid/api/src/Exports/FunctionFactory.cpp 3 additions, 2 deletions...ythonInterface/mantid/api/src/Exports/FunctionFactory.cpp
- docs/source/release/v4.3.0/mantidworkbench.rst 2 additions, 0 deletionsdocs/source/release/v4.3.0/mantidworkbench.rst
- qt/applications/workbench/workbench/config/__init__.py 16 additions, 1 deletionqt/applications/workbench/workbench/config/__init__.py
- qt/applications/workbench/workbench/plotting/plotscriptgenerator/__init__.py 2 additions, 2 deletions...kbench/workbench/plotting/plotscriptgenerator/__init__.py
- qt/applications/workbench/workbench/plugins/editor.py 2 additions, 16 deletionsqt/applications/workbench/workbench/plugins/editor.py
- qt/python/CMakeLists.txt 5 additions, 5 deletionsqt/python/CMakeLists.txt
- qt/python/mantidqt/_common.sip 29 additions, 14 deletionsqt/python/mantidqt/_common.sip
- qt/python/mantidqt/widgets/codeeditor/execution.py 21 additions, 78 deletionsqt/python/mantidqt/widgets/codeeditor/execution.py
- qt/python/mantidqt/widgets/codeeditor/inputsplitter.py 0 additions, 115 deletionsqt/python/mantidqt/widgets/codeeditor/inputsplitter.py
- qt/python/mantidqt/widgets/codeeditor/interpreter.py 9 additions, 4 deletionsqt/python/mantidqt/widgets/codeeditor/interpreter.py
- qt/python/mantidqt/widgets/codeeditor/test/test_execution.py 13 additions, 89 deletionsqt/python/mantidqt/widgets/codeeditor/test/test_execution.py
- qt/widgets/common/CMakeLists.txt 3 additions, 0 deletionsqt/widgets/common/CMakeLists.txt
- qt/widgets/common/inc/MantidQtWidgets/Common/Python/CodeExecution.h 35 additions, 0 deletions.../common/inc/MantidQtWidgets/Common/Python/CodeExecution.h
- qt/widgets/common/inc/MantidQtWidgets/Common/ScriptEditor.h 2 additions, 0 deletionsqt/widgets/common/inc/MantidQtWidgets/Common/ScriptEditor.h
- qt/widgets/common/src/Python/CodeExecution.cpp 91 additions, 0 deletionsqt/widgets/common/src/Python/CodeExecution.cpp
- qt/widgets/common/src/ScriptEditor.cpp 19 additions, 0 deletionsqt/widgets/common/src/ScriptEditor.cpp
Loading