// This file is part of AceWiki. // Copyright 2008-2013, AceWiki developers. // // AceWiki is free software: you can redistribute it and/or modify it under the terms of the GNU // Lesser General Public License as published by the Free Software Foundation, either version 3 of // the License, or (at your option) any later version. // // AceWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without // even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License along with AceWiki. If // not, see http://www.gnu.org/licenses/. package ch.uzh.ifi.attempto.acewiki.gui; import ch.uzh.ifi.attempto.echocomp.SolidLabel; import nextapp.echo.app.Border; import nextapp.echo.app.Color; import nextapp.echo.app.Column; import nextapp.echo.app.Font; import nextapp.echo.app.Grid; import nextapp.echo.app.Insets; /** * This class represents a graphical table that displays simple name/value pairs. * * @author Tobias Kuhn */ public class NameValueTable extends Column { private static final long serialVersionUID = -5329037871133296963L; private Grid grid; /** * Creates a new table. */ public NameValueTable() { grid = new Grid(2); grid.setInsets(new Insets(5, 1, 20, 2)); grid.setBorder(new Border(1, Color.DARKGRAY, Border.STYLE_SOLID)); grid.setBackground(new Color(240, 240, 240)); add(grid); } /** * Adds the name/value pair to the table. The value is displayed in italics. * * @param name The name. * @param value The value. */ public void addEntry(String name, String value) { grid.add(new SolidLabel(name, Font.ITALIC + Font.BOLD, 11)); grid.add(new SolidLabel(value, Font.ITALIC)); } /** * Adds the name/value pair to the table. The value is supposed to be an ACE phrase and is for * that reason displayed in normal font (non-italics). * * @param name The name. * @param aceValue The ACE phrase as value. */ public void addACEEntry(String name, String aceValue) { grid.add(new SolidLabel(name, Font.ITALIC + Font.BOLD, 11)); grid.add(new SolidLabel(aceValue)); } /** * Removes all entries. */ public void clear() { grid.removeAll(); } }