|
ToolBarButtonDef |
|
/* ** Luxor - XML User Interface Language (XUL) Toolkit ** Copyright (c) 2001, 2002 by Gerald Bauer ** ** This program is free software. ** ** You may redistribute it and/or modify it under the terms of the GNU ** General Public License as published by the Free Software Foundation. ** Version 2 of the license should be included with this distribution in ** the file LICENSE, as well as License.html. If the license is not ** included with this distribution, you may find a copy at the FSF web ** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA. ** ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR ** REDISTRIBUTION OF THIS SOFTWARE. ** */ package luxor.core.toolbar; import java.awt.*; import javax.swing.*; import org.jdom.*; import luxor.config.*; import luxor.core.*; public class ToolBarButtonDef extends XulNode { public ToolBarButtonDef( Element element ) { super( element ); } /** * used for buttons inside toolbars */ public JButton createButton() { JButton button = new JButton(); XulDefaults def = XulDefaults.getXulDefaults(); // fix: cascading stylesheet button.setFont( def.getFont( XulDefaults.Key.TOOLBAR_BUTTON_FONT ) ); button.setMinimumSize( new Dimension( def.getInt( XulDefaults.Key.TOOLBAR_BUTTON_WIDTH_MIN, 76 ), def.getInt( XulDefaults.Key.TOOLBAR_BUTTON_HEIGHT_MIN, 44 ) ) ); button.setPreferredSize( new Dimension( def.getInt( XulDefaults.Key.TOOLBAR_BUTTON_WIDTH_PREF, 76 ), def.getInt( XulDefaults.Key.TOOLBAR_BUTTON_HEIGHT_PREF, 44 ) ) ); button.setVerticalTextPosition( SwingConstants.BOTTOM ); button.setHorizontalTextPosition( SwingConstants.CENTER ); button.setMargin( new Insets( 0, 0, 0, 0 ) ); button.setFocusPainted( false ); button.setDefaultCapable( false ); String label = getLabel(); if( label != null ) button.setLabel( label ); ImageIcon icon = getIcon(); if( icon != null ) button.setIcon( icon ); Action action = getAction(); if( action != null ) button.addActionListener( action ); String tooltip = getTooltip(); if( tooltip != null ) button.setToolTipText( tooltip ); char accessKey = getAccessKey(); if( accessKey != 0 ) button.setMnemonic( accessKey ); int vtextpos = getAlignAttribute( Xul.Attribute.VTEXTPOS, SwingConstants.BOTTOM ); button.setVerticalTextPosition( vtextpos ); int htextpos = getAlignAttribute( Xul.Attribute.HTEXTPOS, SwingConstants.CENTER ); button.setHorizontalTextPosition( htextpos ); boolean disable = getBooleanAttribute( Xul.Attribute.DISABLE, false ); if( disable ) button.setEnabled( false ); return button; } }
|
ToolBarButtonDef |
|