Java Code Examples for com.intellij.openapi.progress.ProgressIndicator.getFraction()

The following are Jave code examples for showing how to use getFraction() of the com.intellij.openapi.progress.ProgressIndicator class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: intellij-ce-playground   File: AbstractProgressIndicatorBase.java   Source Code and License Vote up 6 votes
@Override
public synchronized void initStateFrom(@NotNull final ProgressIndicator indicator) {
  myRunning = indicator.isRunning();
  myCanceled = indicator.isCanceled();
  myFraction = indicator.getFraction();
  myIndeterminate = indicator.isIndeterminate();
  myText = indicator.getText();

  myText2 = indicator.getText2();

  myFraction = indicator.getFraction();

  if (indicator instanceof ProgressIndicatorStacked) {
    ProgressIndicatorStacked stacked = (ProgressIndicatorStacked)indicator;

    myNonCancelableCount = stacked.getNonCancelableCount();

    myTextStack = new Stack<String>(stacked.getTextStack());

    myText2Stack = new Stack<String>(stacked.getText2Stack());

    myFractionStack = new DoubleArrayList(stacked.getFractionStack());
  }
  myShouldStartActivity = false;
}
 
Example 2
Project: intellij-ce-playground   File: FormattingProgressTask.java   Source Code and License Vote up 6 votes
/**
 * Updates current progress state if necessary.
 *
 * @param state          current state
 * @param completionRate completion rate of the given state. Is assumed to belong to <code>[0; 1]</code> interval
 */
private void update(@NotNull FormattingStateId state, double completionRate) {
  ProgressIndicator indicator = getIndicator();
  if (indicator == null) {
    return;
  }

  updateTextIfNecessary(state);

  myLastState = state;
  double newFraction = 0;
  for (FormattingStateId prevState : state.getPreviousStates()) {
    newFraction += MAX_PROGRESS_VALUE * prevState.getProgressWeight() / TOTAL_WEIGHT;
  }
  newFraction += completionRate * state.getProgressWeight() / TOTAL_WEIGHT;

  // We don't bother about imprecise floating point arithmetic here because that is enough for progress representation.
  double currentFraction = indicator.getFraction();
  if (newFraction - currentFraction < MAX_PROGRESS_VALUE / 100) {
    return;
  }

  indicator.setFraction(newFraction);
}