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 }