-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/progress management #350
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Make sure correct base is called in concrete managers [skip ci]
Work on initial version of Task class Work on initial version of TaskHandler class [skip ci]
Add task action Add status bar Work on task manager [skip ci]
[skip ci]
Work on task and task action class [skip ci]
Fix bug in point data [skip ci]
Add model and background tasks Add model and background task handlers Work on task manager [skip ci]
Work on model task and handler [skip ci]
Add file input/output task and task handler Work on modal task and modal task handler [skip ci]
[skip ci]
…etween manual and subtask progress recording [skip ci]
Use tasks action in main window [skip ci]
[skip ci]
Add member function task for getting progress text Work on tasks model [skip ci]
Work on tasks filter model Harmonize action constructors (title argument does not have a default value anymore) Work on tasks manager [skip ci]
…rogress action Work on tasks plugin Use the progress bar action to draw the progress control in the tree widget from the tasks action [skip ci]
Add some padding to progress bar text [skip ci]
Remove hdps:: prefix in task type from the tasks model Work on project manager [skip ci]
Work on project manager Add some convenience functions to task [skip ci]
Extending base task class Move task actions to seperate source group [skip ci]
[skip ci]
[skip ci]
…h some project meta data Put project compression in seperate action class [skip ci]
…ive from now on [skip ci]
[skip ci]
Uncomment comment that was added for debugging in the modal task handler Fix bugs in the modal task tester [skip ci]
… tasks Reset subtask bit array in task when setting new subtasks [skip ci]
…screens into one [skip ci]
Finished splash screens for both application and project with some new items [skip ci]
Fix some layout problems as well Working on tasks model bugs Testing if older projects still load properly Add elided label widget label class [skip ci]
Fix elided label problem Change small issue in splash screen widget Turn of debug print statement in tasks filter model [skip ci]
Curate splash screen action and widget documentation for .h and .cpp Work on some small bugs in splash screen [skip ci]
… out disabled tasks Fix some alerts Properly configure splash screen at project startup Small changes in splash screen widget [skip ci]
Correctly configure project meta action at startup Work on splash screen widget [skip ci]
[skip ci]
Working out a solution [skip ci]
…hows 'no background tasks...' at startup rather than an empty progress bar Small fix in tasks popup widget Change model callback debug print statements to be more meaningful [skip ci]
Adding font awesome 6.4 [skip ci]
[skip ci]
[skip ci]
[skip ci]
…ed scope Also adhere to the name change in the abstract tasks model and various other places in the code Add none to task gui scope (task that has no explicit gui handler) [skip ci]
Fix problem with task aggregation Simplify some code in the background task handler Remove comment from icon fonts class [skip ci]
Add load project data and workspace tasks to the application Hybrid support for tasks that originate from either the application or the project Fix bug in task reparenting Add architecture in view plugin pregister a serialization task (needed for proper workspace progress reporting during startup with project) Simplified some code and fixed a bug in the workspace manager [skip ci]
Add debug message when a task is added to the manager even though the core is not initialized Remove redundant console output messages Add serialization task to the view plugin dock widget class [skip ci]
Ignore loading errors by default [skip ci]
Add task to abstract manager for progress reporting [skip]
Remove shortcut from recent files action Simplified the core manager storage and access Added enumeration in core interface to facilitate this Add tasks in top-down fashion in the tasks tree model Create task handler in task implementation(s) when the core is intitialized in stead of in the core Add additional tasks to the application Add task to abstract manager [skip ci]
[skip ci]
Call base initialization functions in all managers [skip ci]
Do not override load project task name Add signal to core for when managers are created Properly close splash screen Remove redundant serialization task from view plugin (for now) [skip ci]
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Main subjects of this PR:
New API for creating, monitoring, and interacting with tasks
hdps::tasks()
)Undefined
tasks have not been initialized.Idle
tasks are operational and ready to be started.Running
tasks are tasks for which the amount of work is known a priori.RunningIndeterminate
tasks have no a priori known amount of work.Finished
tasks have completed all the work.Note: call
setFinished(...)
to flag a task as completeAboutToBeAborted
just prior to them being aborted.Aborting
tasks are in the process of being aborted.Aborted
tasks have been forcefully and successfully killed.getGuiScope(...) and getGuiScope(...)
):None
: these tasks are not associated with any GUI context.Background
: The aggregated progress and status of background tasks with statusesRunning
,RunningIntermediate
, andFinished
are displayed in the ManiVault status bar as a progress bar.Foreground
Tasks with statusesRunning
,RunningIntermediate
, andFinished
are displayed in the ManiVault status bar as a tool button with a popup widget that shows them.Modal
tasks with statusesRunning
,RunningIntermediate
, andFinished
are displayed in a modal ManiVault status bar as a tool button with a popup widget that shows them.Manual
: the developer callssetProgress(...)
to manually set the progress (this is the default modus).Subtasks
: a fixed number of tasks is assigned withsetSubtasks(number_of_tasks)
orsetSubtasks(string_list)
and subsequently flagged started with one of thesetSubtaskStarted(...)
overloads and flagged finished with one of thesetSubtaskFinished(...)
overloads. The progress percentage will be computed automatically.Note: the task progress mode is automatically set to
Subtasks
when eithersetSubtasks(number_of_tasks)
orsetSubtasks(string_list)
is called.Aggregate
: the progress of a task is automatically computed on the basis of its child tasks (which are enabled).Note: the task progress mode is automatically set to
Aggregate
when a child task is added.Revamped splash screen API (application + project) that makes use of the new tasks API
HDPS.exe -p <file_path>
orHDPS.exe --project <file_path>
)Help > About Project
Help > About ManiVault
Info
,Debug
,Warning
). For instance, warnings will be added if one or more plugins cannot be loaded.Various bug fixes