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.button.ButtonGroup; 021 022 /** 023 * This class represents a radio button in blue style. 024 * 025 * @author Tobias Kuhn 026 */ 027 public class RadioButton extends nextapp.echo.app.RadioButton { 028 029 private static final long serialVersionUID = 1429240270043389676L; 030 031 /** 032 * Creates a new radio button having a text and an icon. 033 * 034 * @param text The text. 035 * @param icon The icon. 036 * @param group The button group. 037 */ 038 public RadioButton(String text, ImageReference icon, ButtonGroup group) { 039 super(text, icon); 040 if (group != null) setGroup(group); 041 setStateIcon(Style.getImage("ch/uzh/ifi/attempto/echocomp/style/radiooff.png")); 042 setSelectedStateIcon(Style.getImage("ch/uzh/ifi/attempto/echocomp/style/radioon.png")); 043 setFont(new Font(Style.fontTypeface, Font.PLAIN, new Extent(13))); 044 } 045 046 /** 047 * Creates a new radio button having only a text. 048 * 049 * @param text The text. 050 * @param group The button group. 051 */ 052 public RadioButton(String text, ButtonGroup group) { 053 this(text, null, group); 054 } 055 056 /** 057 * Creates a new radio button having only an icon. 058 * 059 * @param icon The icon. 060 * @param group The button group. 061 */ 062 public RadioButton(ImageReference icon, ButtonGroup group) { 063 this(null, icon, group); 064 } 065 066 /** 067 * Creates a new radio button having neither a text nor an icon. 068 * 069 * @param group The button group. 070 */ 071 public RadioButton(ButtonGroup group) { 072 this(null, null, group); 073 } 074 075 /** 076 * Creates a new radio button having only a text. 077 * 078 * @param text The text. 079 */ 080 public RadioButton(String text) { 081 this(text, null, null); 082 } 083 084 /** 085 * Creates a new radio button having only an icon. 086 * 087 * @param icon The icon. 088 */ 089 public RadioButton(ImageReference icon) { 090 this(null, icon, null); 091 } 092 093 /** 094 * Creates a new radio button having neither a text nor an icon. 095 */ 096 public RadioButton() { 097 this(null, null, null); 098 } 099 100 }