EMMA Coverage Report (generated Sat Oct 08 11:41:37 CEST 2011)
[all classes][net.sf.jomic.ui]

COVERAGE SUMMARY FOR SOURCE FILE [LimitedIntSettingSlider.java]

nameclass, %method, %block, %line, %
LimitedIntSettingSlider.java100% (1/1)75%  (3/4)43%  (50/116)59%  (11.8/20)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class LimitedIntSettingSlider100% (1/1)75%  (3/4)43%  (50/116)59%  (11.8/20)
stateChanged (ChangeEvent): void 0%   (0/1)0%   (0/63)0%   (0/8)
<static initializer> 100% (1/1)80%  (12/15)80%  (0.8/1)
LimitedIntSettingSlider (String, int, int): void 100% (1/1)100% (34/34)100% (9/9)
dispose (): void 100% (1/1)100% (4/4)100% (2/2)

1// Jomic - a viewer for comic book archives.
2// Copyright (C) 2004-2011 Thomas Aglassinger
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program.  If not, see <http://www.gnu.org/licenses/>.
16package net.sf.jomic.ui;
17 
18import javax.swing.JSlider;
19import javax.swing.event.ChangeEvent;
20import javax.swing.event.ChangeListener;
21 
22import net.sf.jomic.common.JomicTools;
23import net.sf.jomic.common.Settings;
24 
25/**
26 *  JSlider connected to a setting changing its value as the user adjusts it.
27 *
28 * @author    Thomas Aglassinger
29 */
30public class LimitedIntSettingSlider extends JSlider implements ChangeListener
31{
32    private JomicTools jomicTools;
33    private int maxValue;
34    private int minValue;
35    private String propertyName;
36    private Settings settings;
37 
38    public LimitedIntSettingSlider(String newPropertyName, int newMinValue, int newMaxValue) {
39        super(newMinValue, newMaxValue);
40        settings = Settings.instance();
41 
42        propertyName = newPropertyName;
43        minValue = newMinValue;
44        maxValue = newMaxValue;
45        setValue(settings.getLimitedIntProperty(propertyName, minValue, maxValue));
46        jomicTools = JomicTools.instance();
47        addChangeListener(this);
48    }
49 
50    public void dispose() {
51        removeChangeListener(this);
52    }
53 
54    public void stateChanged(ChangeEvent event) {
55        try {
56            assert event != null;
57            assert event.getSource() == this;
58 
59            settings.setLimitedIntProperty(propertyName, getValue(), minValue, maxValue);
60        } catch (Exception error) {
61            Object[] errorObjects = new Object[]{
62                    propertyName, settings.getProperty(propertyName), new Integer(getValue())};
63 
64            jomicTools.showError(null, "errors.cannotChangePropertyFromXToY", errorObjects, error);
65        }
66    }
67}

[all classes][net.sf.jomic.ui]
EMMA 2.0.4217 (C) Vladimir Roubtsov