/* Violet - A program for editing UML diagrams. Copyright (C) 2007 Cay S. Horstmann (http://horstmann.com) Alexandre de Pellegrin (http://alexdp.free.fr); This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package com.horstmann.violet.framework.theme; import java.awt.Color; import java.awt.Font; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.metal.MetalTheme; /** * Java Metal based theme * * @author ALexandre de Pellegrin * */ public class ClassicMetalTheme extends AbstractTheme { /** * Default constructor */ public ClassicMetalTheme() { initializeLookAndFeel(); } @Override public ThemeInfo getThemeInfo() { return new ThemeInfo("Metal", ClassicMetalTheme.class, MetalLookAndFeel.class); } /** * Inits Metal laf */ private void initializeLookAndFeel() { MetalTheme defaultMetalTheme = new DefaultMetalTheme(); MetalLookAndFeel.setCurrentTheme(defaultMetalTheme); } /* * (non-Javadoc) * * @see com.horstmann.violet.framework.display.clipboard.theme.AbstractTheme#setup() */ protected void configure() { } public Color getBlackColor() { return MetalLookAndFeel.getBlack(); } public Color getWhiteColor() { return MetalLookAndFeel.getWhite(); } public Color getGridColor() { return new Color(250, 250, 250); } public Color getBackgroundColor() { return MetalLookAndFeel.getMenuBackground(); } public Font getMenubarFont() { return MetalLookAndFeel.getMenuTextFont(); } public Color getMenubarBackgroundColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getMenubarForegroundColor() { return MetalLookAndFeel.getMenuForeground(); } public Color getRolloverButtonDefaultColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getRolloverButtonRolloverBorderColor() { return MetalLookAndFeel.getMenuForeground(); } public Color getRolloverButtonRolloverColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getSidebarBackgroundEndColor() { return MetalLookAndFeel.getMenuSelectedBackground(); } public Color getSidebarBackgroundStartColor() { return MetalLookAndFeel.getMenuSelectedBackground(); } public Color getSidebarBorderColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getSidebarElementBackgroundColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getSidebarElementTitleBackgroundEndColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getSidebarElementTitleBackgroundStartColor() { return MetalLookAndFeel.getMenuBackground().darker(); } public Color getSidebarElementForegroundColor() { return MetalLookAndFeel.getWindowBackground(); } public Color getSidebarElementTitleOverColor() { return MetalLookAndFeel.getWindowBackground().brighter(); } public Color getStatusbarBackgroundColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getStatusbarBorderColor() { return MetalLookAndFeel.getMenuBackground(); } public Font getToggleButtonFont() { return MetalLookAndFeel.getMenuTextFont().deriveFont(Font.PLAIN); } public Color getToggleButtonSelectedBorderColor() { return MetalLookAndFeel.getMenuSelectedBackground(); } public Color getToggleButtonSelectedColor() { return MetalLookAndFeel.getMenuSelectedBackground(); } public Color getToggleButtonUnselectedColor() { return MetalLookAndFeel.getMenuBackground(); } public Font getWelcomeSmallFont() { return MetalLookAndFeel.getWindowTitleFont().deriveFont((float) 12.0).deriveFont(Font.PLAIN); } public Font getWelcomeBigFont() { return MetalLookAndFeel.getWindowTitleFont().deriveFont((float) 28.0); } public Color getWelcomeBackgroundEndColor() { return MetalLookAndFeel.getMenuBackground(); } public Color getWelcomeBackgroundStartColor() { return MetalLookAndFeel.getMenuBackground().brighter(); } public Color getWelcomeBigForegroundColor() { return MetalLookAndFeel.getMenuSelectedBackground(); } public Color getWelcomeBigRolloverForegroundColor() { return getWelcomeBigForegroundColor().darker(); } }