001 // This file is part of AceWiki.
002 // Copyright 2008-2012, AceWiki developers.
003 //
004 // AceWiki is free software: you can redistribute it and/or modify it under the terms of the GNU
005 // Lesser General Public License as published by the Free Software Foundation, either version 3 of
006 // the License, or (at your option) any later version.
007 //
008 // AceWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
009 // even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
010 // Lesser General Public License for more details.
011 //
012 // You should have received a copy of the GNU Lesser General Public License along with AceWiki. If
013 // not, see http://www.gnu.org/licenses/.
014
015 package ch.uzh.ifi.attempto.echocomp;
016
017 import nextapp.echo.app.Extent;
018 import nextapp.echo.app.Font;
019 import nextapp.echo.app.ImageReference;
020 import nextapp.echo.app.ResourceImageReference;
021
022 /**
023 * This class represents a check box in blue style.
024 *
025 * @author Tobias Kuhn
026 */
027 public class CheckBox extends nextapp.echo.app.CheckBox {
028
029 private static final long serialVersionUID = -8160475963811004744L;
030
031 private static final String iconPath = "ch/uzh/ifi/attempto/echocomp/style/";
032
033 /**
034 * Creates a new check box having a text and an icon.
035 *
036 * @param text The text.
037 * @param icon The icon.
038 */
039 public CheckBox(String text, ImageReference icon) {
040 super(text, icon);
041 setStateIcon(Style.getImage(iconPath + "notchecked.png"));
042 setSelectedStateIcon(Style.getImage(iconPath + "checked.png"));
043 setFont(new Font(Style.fontTypeface, Font.PLAIN, new Extent(13)));
044 }
045
046 /**
047 * Creates a new check box having only a text.
048 *
049 * @param text The text.
050 */
051 public CheckBox(String text) {
052 this(text, null);
053 }
054
055 /**
056 * Creates a new check box having only an icon.
057 *
058 * @param icon The icon.
059 */
060 public CheckBox(ImageReference icon) {
061 this(null, icon);
062 }
063
064 /**
065 * Creates a new check box having neither a text nor an icon.
066 */
067 public CheckBox() {
068 this(null, null);
069 }
070
071 public void setEnabled(boolean enabled) {
072 super.setEnabled(enabled);
073 if (enabled) {
074 setStateIcon(new ResourceImageReference(iconPath + "notchecked.png"));
075 setSelectedStateIcon(new ResourceImageReference(iconPath + "checked.png"));
076 } else {
077 setStateIcon(new ResourceImageReference(iconPath + "notcheckedi.png"));
078 setSelectedStateIcon(new ResourceImageReference(iconPath + "checkedi.png"));
079 }
080 }
081
082 }