]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/function/compress/SummaryLabel.java
Version 7, February 2009
[GpsPrune.git] / tim / prune / function / compress / SummaryLabel.java
1 package tim.prune.function.compress;
2
3 import javax.swing.JLabel;
4
5 import tim.prune.I18nManager;
6 import tim.prune.data.Track;
7
8 /**
9  * Summary label for compression
10  */
11 public class SummaryLabel extends JLabel
12 {
13         /** Track object */
14         private Track _track = null;
15
16
17         /**
18          * Constructor
19          * @param inTrack track object to work out percentages
20          */
21         public SummaryLabel(Track inTrack)
22         {
23                 super("...........................");
24                 setEnabled(false);
25                 _track = inTrack;
26         }
27
28         /**
29          * Set value
30          * @param inNumToDelete number of points to delete
31          */
32         public void setValue(int inNumToDelete)
33         {
34                 setText(makeString(inNumToDelete));
35                 setEnabled(true);
36         }
37
38         /**
39          * Clear value
40          */
41         public void clearValue()
42         {
43                 setText(makeString(0));
44                 setEnabled(false);
45         }
46
47         /**
48          * Make a string describing the deletion
49          * @param inNumToDelete number of points to delete
50          * @return String describing number and %age
51          */
52         private String makeString(int inNumToDelete)
53         {
54                 String desc = I18nManager.getText("dialog.compress.summarylabel") + ": " + inNumToDelete;
55                 if (inNumToDelete > 0)
56                 {
57                         long percent = Math.round(100.0 * inNumToDelete / _track.getNumPoints());
58                         desc += " (" + percent + "%)";
59                 }
60                 return desc;
61         }
62 }