001/* ---------------------------------------------------------------------------- 002 The Kiwi Toolkit - A Java Class Library 003 Copyright (C) 1998-2004 Mark A. Lindner 004 005 This library is free software; you can redistribute it and/or 006 modify it under the terms of the GNU General Public License as 007 published by the Free Software Foundation; either version 2 of the 008 License, or (at your option) any later version. 009 010 This library is distributed in the hope that it will be useful, 011 but WITHOUT ANY WARRANTY; without even the implied warranty of 012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013 General Public License for more details. 014 015 You should have received a copy of the GNU General Public License 016 along with this library; if not, write to the Free Software 017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 018 02111-1307, USA. 019 020 The author may be contacted at: mark_a_lindner@yahoo.com 021 ---------------------------------------------------------------------------- 022 $Log: MarkupProxy.java,v $ 023 Revision 1.5 2004/05/12 19:02:58 markl 024 comment block updates 025 026 Revision 1.4 2003/01/19 09:50:53 markl 027 Javadoc & comment header updates. 028 029 Revision 1.3 2001/03/12 09:27:58 markl 030 Source code and Javadoc cleanup. 031 032 Revision 1.2 1999/01/10 02:49:15 markl 033 added GPL header & RCS tag 034 ---------------------------------------------------------------------------- 035*/ 036 037package kiwi.ui; 038 039import java.awt.Color; 040import javax.swing.*; 041import javax.swing.border.LineBorder; 042 043import kiwi.text.*; 044 045/** A <code>MarkupProxy</code> is a graphical element that serves as a proxy 046 * for a data structure that cannot easily be rendered in-line within a 047 * <code>SimpleStyledEditor</code>. 048 * 049 * @see kiwi.ui.SimpleStyledEditor 050 * @see kiwi.ui.MarkupProxyFactory 051 * 052 * @author Mark Lindner 053 */ 054 055public abstract class MarkupProxy extends JLabel 056 { 057 /** The text for this proxy. */ 058 protected String text; 059 060 /** Construct a new <code>MarkupProxy</code>. 061 * 062 * @param icon The icon for this proxy. 063 * @param text The text to display in this proxy. 064 */ 065 066 public MarkupProxy(Icon icon, String text) 067 { 068 setText(text); 069 setIcon(icon); 070 setBackground(new Color(200, 200, 200)); 071 setOpaque(true); 072 setToolTipText(getDescription()); 073 setBorder(new LineBorder(Color.black, 1)); 074 } 075 076 /** Get the textual markup used to encode this proxy. */ 077 078 public abstract String getMarkup(); 079 080 /** Get a description of this proxy. */ 081 082 public abstract String getDescription(); 083 084 } 085 086/* end of source file */