001 /*
002 * LAPIS lightweight structured text processing system
003 *
004 * Copyright (C) 1998-2002 Carnegie Mellon University,
005 * Copyright (C) 2003 Massachusetts Institute of Technology.
006 * All rights reserved.
007 *
008 * This library is free software; you can redistribute it
009 * and/or modify it under the terms of the GNU General
010 * Public License as published by the Free Software
011 * Foundation, version 2.
012 *
013 * LAPIS homepage: http://graphics.lcs.mit.edu/lapis/
014 */
015
016 package lapisx.progress;
017
018 public class ProgressEvent extends java.util.EventObject {
019 String label = "";
020 int minimum = 0;
021 int maximum = 100;
022 int value = 0;
023
024 public ProgressEvent (Object source) {
025 super (source);
026 }
027
028 public String getLabel () {
029 return label;
030 }
031 public void setLabel (String lbl) {
032 label = lbl;
033 }
034
035 public int getMinimum () {
036 return minimum;
037 }
038 public void setMinimum (int min) {
039 minimum = min;
040 }
041
042 public int getMaximum () {
043 return maximum;
044 }
045 public void setMaximum (int max) {
046 maximum = max;
047 }
048
049 public int getValue () {
050 return value;
051 }
052 public void setValue (int val) {
053 value = val;
054 if (value < minimum)
055 value = minimum;
056 if (value > maximum)
057 value = maximum;
058 }
059
060 public double getPercentComplete () {
061 return ((double) (value - minimum)) / (maximum - minimum);
062 }
063
064 public void setPercentComplete (double pct) {
065 value = (int) (pct * (maximum - minimum) + minimum);
066 if (value < minimum)
067 value = minimum;
068 if (value > maximum)
069 value = maximum;
070 }
071 }