Opened 3 years ago

Closed 15 months ago

#2845 closed enhancement (done)

Enhance Progress(View)

Reported by: pfleck Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.16
Component: MainForm Version: trunk
Keywords: merged Cc:

Description (last modified by pfleck)

The progress should explicitly differ between "progress" and "endless/marquee" instead of depending on the ProgressValue. Currently, ProgressValue <= 0 or > 1 is is interpreted as "endless" and shown as marquee. Instead we should explicitly differ between those two options and invalid operations should throw an exception (e.g. setting progress value of an "endless" progress). (Currently it is not possible to set an empty progress bar with ProgressValue 0)

Furthermore, the IProgress suggest a Cancel option; however, this does not work currently.

This ticket will be released together with #2839.

Attachments (1)

try-finally for Progress.patch (13.4 KB) - added by pfleck 16 months ago.

Download all attachments as: .zip

Change History (39)

comment:1 Changed 3 years ago by pfleck

  • Description modified (diff)
  • Summary changed from Progress(View) should explicitly differ between "progress" and "endless" to Enhance Progress(View)

comment:2 Changed 3 years ago by pfleck

  • Owner set to pfleck
  • Status changed from new to accepted
  • Version set to branch

r15405: Branched trunk

comment:3 Changed 3 years ago by pfleck

r15415

  • Fixed/Added Progress Cancellation/Stopping
  • Added Visible property to progress and ProgressBarMode.

comment:4 Changed 3 years ago by pfleck

r15417 Removed Visible property and hide on "Finished".

comment:5 Changed 3 years ago by pfleck

r15444 Cancel the artificial delay if progress is stopped.

comment:6 Changed 3 years ago by pfleck

r15445: Removed progressbar state (green/orange/red).

comment:7 Changed 3 years ago by pfleck

r15446:

  • Start progres with initial progress value in several cases to use the progress value update.
  • Removed object disposal guard in ProgressView because it can block part of the initialization.

comment:8 Changed 3 years ago by pfleck

r15477

  • Added an explicit method for StartMarquee.
  • Renamed Add/RemoveOperationProgress methods.
  • Moved progress helpers from MainForm into static Progress methods named Show and Hide.

comment:9 Changed 3 years ago by pfleck

r15852 renamed branch folder

comment:10 Changed 23 months ago by pfleck

r16307 Merged trunk changes before source move into branch

comment:11 Changed 23 months ago by pfleck

r16308 reverted the last merge (r16307) because some revisions were missing

comment:12 Changed 23 months ago by pfleck

r16311 Merged trunk changes into branch (15406-15681, 15683-16308)

comment:13 Changed 23 months ago by pfleck

r16312 Adapted new Hive-Project-Management and RegressionSolutionVariableImpactsView to Progress updates.

comment:14 Changed 23 months ago by pfleck

r16314 Moved the entire progress API to the Progress class and made the progress API within the MainForm internal.

comment:15 Changed 23 months ago by pfleck

r16317 Combined separate Show methods into single one with enum parameter specifying the ProgressMode. Renamed Continuous and Marquee to Determinate and Indeterminate.

comment:16 Changed 23 months ago by pfleck

r16318 Add optional stop and cancel handler to the Show helpers. Replaced the AddProgressTo... and RemoveProgressFrom... methods with the existing Show and Hide methods.

comment:17 Changed 23 months ago by pfleck

r16319 merged latest trunk changes

comment:18 Changed 22 months ago by pfleck

  • Owner changed from pfleck to mkommend
  • Status changed from accepted to reviewing

I tried to merge back into trunk but it didn't go as expected.

r15406:15851 (before the branch-rename)
r15853:16318 (after the branch-rename)

Merging those two ranges does not work properly since the "big merge" from the trunk into the branch (which contained the trunk/sources rename) happened in the second revision-range (r16307). Thus, merging the first revision range into the trunk would require redoing that merge again.

Alternatively, I tried to merge all recent trunk changes into the branch and then make a "fast-forward" by merging from two different tree using the trunk as "from" and branch as "to" (as described in [0] at "Merging Two Different Trees"). In this scenario, the merge went fine (no conflicts), however, it seems that all the merge info got moved from the individual plugin folders into the trunk folder.

[0] https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html

comment:19 Changed 22 months ago by pfleck

r16428: Merged recent trunk changes into branch

comment:20 Changed 22 months ago by pfleck

r16430 merged branch into trunk
Reviewed by mkommenda

This commit also contains a lot of merge info moves from the individual folder onto the trunk.

comment:21 Changed 22 months ago by pfleck

  • Version changed from branch to trunk

comment:22 Changed 22 months ago by jkarder

r16447: adapted BioBoost addon

comment:23 Changed 21 months ago by pfleck

r16511 Temporarily removed null check to avoid the permanently disabled project selector in Hive.

The issue of this is caused because a Progress should be shown on a Dialog. Since a Dialog has no Parent Control, the re-enabling after removing the ProgressView does not work. Furthermore, the ProgressView is actually never shown since there is no Parent Control where the ProgressView can be attached to.

comment:24 Changed 21 months ago by pfleck

r16512

  • Re-enabled null-check and added exception when showing Progress on control with no parent (Forms and Dialogs).
  • Adapted Progress in HiveResourceSelectorDialog to show the dialog on the selector-View and not on the dialog itself.

related to comment:115:ticket:2839

comment:25 Changed 21 months ago by pfleck

  • Description modified (diff)

comment:26 Changed 18 months ago by mkommend

  • Status changed from reviewing to readytorelease

comment:27 Changed 18 months ago by mkommend

  • Keywords mergewith-2839 added

comment:28 Changed 17 months ago by pfleck

  • Owner changed from mkommend to pfleck
  • Status changed from readytorelease to reviewing

r16923 removed branch

comment:29 Changed 17 months ago by pfleck

  • Owner changed from pfleck to jkarder
  • Status changed from reviewing to readytorelease

comment:30 Changed 17 months ago by pfleck

  • Owner changed from jkarder to pfleck
  • Status changed from readytorelease to assigned

There is still a bug if an exception occurs while a progressbar is shown.

Changed 16 months ago by pfleck

comment:31 follow-up: Changed 16 months ago by pfleck

I wasn't able to reproduce any bug in relation with exceptions occurring while an active progress. It might be the case that a progress wasn't removed in case of an exception.

I attached a patch that surrounds some cases with a try-finally-block to ensure the progress is removed in any circumstance. However, I am not sure if we should really apply the patch since I could not reproduce any errors.

comment:32 Changed 15 months ago by mkommend

  • Owner changed from pfleck to abeham
  • Status changed from assigned to reviewing

comment:33 Changed 15 months ago by mkommend

  • Owner changed from abeham to mkommend

comment:34 in reply to: ↑ 31 Changed 15 months ago by mkommend

Replying to pfleck:

I wasn't able to reproduce any bug in relation with exceptions occurring while an active progress. It might be the case that a progress wasn't removed in case of an exception.

I attached a patch that surrounds some cases with a try-finally-block to ensure the progress is removed in any circumstance. However, I am not sure if we should really apply the patch since I could not reproduce any errors.

After a short discussion it has been decided that this patch will no be applied.

comment:35 Changed 15 months ago by mkommend

  • Status changed from reviewing to readytorelease

comment:36 Changed 15 months ago by mkommend

r17062: Merged 16430 into stable.
r17064: Merged 16447, 16511, 16512 into stable.

Last edited 15 months ago by mkommend (previous) (diff)

comment:37 Changed 15 months ago by mkommend

  • Keywords merged added; mergewith-2839 removed

comment:38 Changed 15 months ago by abeham

  • Resolution set to done
  • Status changed from readytorelease to closed
Note: See TracTickets for help on using tickets.