Skip to content

Commit

Permalink
Merge pull request #11 from Toyz/master
Browse files Browse the repository at this point in the history
Added the option to set tick value when calling Tick()
  • Loading branch information
Mpdreamz committed Sep 21, 2017
2 parents 2637e72 + e0bf557 commit 66bb030
Showing 1 changed file with 24 additions and 12 deletions.
36 changes: 24 additions & 12 deletions src/ShellProgressBar/ProgressBarBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,28 +64,40 @@ protected virtual void OnDone()

public void Tick(string message = null)
{
Interlocked.Increment(ref _currentTick);
if (message != null)
Interlocked.Exchange(ref _message, message);

if (_currentTick >= _maxTicks)
{
this.EndTime = DateTime.Now;
this.OnDone();
}
DisplayProgress();
FinishTick(message);
}

public void UpdateMaxTicks(int maxTicks)
public void Tick(string message, int prec)
{
Interlocked.Exchange(ref _currentTick, prec);

FinishTick(message);
}

public void UpdateMaxTicks(int maxTicks)
{
Interlocked.Exchange(ref _maxTicks, maxTicks);
}

public void UpdateMessage(string message)
{
Interlocked.Exchange(ref _message, message);
Interlocked.Exchange(ref _message, message);

DisplayProgress();
}

private void FinishTick(string message)
{
Interlocked.Increment(ref _currentTick);
if (message != null)
Interlocked.Exchange(ref _message, message);

if (_currentTick >= _maxTicks)
{
this.EndTime = DateTime.Now;
this.OnDone();
}
DisplayProgress();
}
}
}

0 comments on commit 66bb030

Please sign in to comment.