* New look and feel and theme selection UI. The old editor is still
there but not used. * Make compiere swing components works better under window and plastic look and feel. * Rename org.compiere.plaf.Adempiere*UI classes back to org.compiere.plaf.Compiere*UI. This is to make a clean separation between the new AdempiereLookAndFeel and the old CompiereLookAndFeel. Any class used by AdempiereLookAndFeel should goes into the org.adempiere.plaf package instead. As part of the exercise, AdempierePLAF is moved from org.compiere.plaf to org.adempiere.plaf * Fixed some bug related UI painting issue after switching of look and feel. It is still not perfect but much better. * Added a logout icon. Feel free to replace this if you have a better one. Please email me or post into the SF Developer forum is I break anything. Also, I haven't tested the new code under Linux yet and some localization work to be done.
This commit is contained in:
parent
0843ba946f
commit
b830c022cd
File diff suppressed because it is too large
Load Diff
|
@ -1,286 +0,0 @@
|
|||
/******************************************************************************
|
||||
* The contents of this file are subject to the Compiere License Version 1.1
|
||||
* ("License"); You may not use this file except in compliance with the License
|
||||
* You may obtain a copy of the License at http://www.compiere.org/license.html
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
|
||||
* the specific language governing rights and limitations under the License.
|
||||
* The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
|
||||
* Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
|
||||
* are Copyright (C) 1999-2005 Jorg Janke.
|
||||
* All parts are Copyright (C) 1999-2005 ComPiere, Inc. All Rights Reserved.
|
||||
* Contributor(s): ______________________________________.
|
||||
*****************************************************************************/
|
||||
package org.adempiere.plaf;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.logging.*;
|
||||
|
||||
import javax.swing.plaf.ColorUIResource;
|
||||
|
||||
/**
|
||||
* Color Blind Utilities.
|
||||
* These utilities help to show how color blind/challenged see colors.
|
||||
*
|
||||
* Created by Thomas Wolfmaier.
|
||||
* Copyright (C) 1999-2005 HCIRN.
|
||||
* All rights reserved.
|
||||
* @see <a href="http://www.hcirn.com">HCIRN</a>
|
||||
*
|
||||
* @author Thomas Wolfmaier
|
||||
* @version $Id: ColorBlind.java,v 1.8 2005/10/14 00:42:52 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereColorBlind
|
||||
{
|
||||
/** Color Blindness Type - 0=none */
|
||||
public static final String[] COLORBLIND_TYPE =
|
||||
{"", "Protanopia", "Deuteranopia", "Tritanopia"};
|
||||
|
||||
public static final int NORMAL = 0;
|
||||
public static final int PROTANOPIA = 1;
|
||||
public static final int DEUTERANOPIA = 2;
|
||||
public static final int TRITANOPIA = 3;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
private static final double[][] confusionPoints =
|
||||
{ {0.735, 0.265},
|
||||
{1.140, -0.140},
|
||||
{0.171, -0.003}
|
||||
};
|
||||
private static final double[][][] colorAxes =
|
||||
{ {{0.115807, 0.073581}, {0.471899, 0.527051}},
|
||||
{{0.102776, 0.102864}, {0.505845, 0.493211}},
|
||||
{{0.045391, 0.294976}, {0.665764, 0.334011}}
|
||||
};
|
||||
private static final double[][] RGBtoXYZMatrix =
|
||||
{ {0.430574, 0.341550, 0.178325},
|
||||
{0.222015, 0.706655, 0.071330},
|
||||
{0.020183, 0.129553, 0.939180}
|
||||
};
|
||||
private static final double[][] XYZtoRGBMatrix =
|
||||
{ { 3.063218, -1.393325, -0.475802},
|
||||
{-0.969243, 1.875966, 0.041555},
|
||||
{ 0.067871, -0.228834, 1.069251}
|
||||
};
|
||||
private static final double[] whitePoint =
|
||||
{ 0.312713, 0.329016, 0.358271
|
||||
};
|
||||
private static final double gamma = 2.2;
|
||||
|
||||
/** Color Blind Type */
|
||||
private static int s_colorType = NORMAL;
|
||||
|
||||
/** Logger */
|
||||
private static Logger log = Logger.getLogger(AdempiereColorBlind.class.getName());
|
||||
|
||||
|
||||
/**
|
||||
* Set Color Type for Color Blind view
|
||||
* @param colorType (0 = none)
|
||||
*/
|
||||
public static void setColorType (int colorType)
|
||||
{
|
||||
if (colorType > 0 && colorType < 4)
|
||||
s_colorType = colorType;
|
||||
else
|
||||
s_colorType = 0;
|
||||
if (s_colorType != 0)
|
||||
log.config(COLORBLIND_TYPE[colorType]);
|
||||
} // setColorType
|
||||
|
||||
/**
|
||||
* Get Color Type for Color Blind view
|
||||
* @return colorType (0 = none)
|
||||
*/
|
||||
public static int getColorType ()
|
||||
{
|
||||
return s_colorType;
|
||||
} // getColorType
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* Convert "normal" color to Dichromat Color based on set color type
|
||||
* @param color Java Color object containing values for RGB
|
||||
* @return Dichromat Color
|
||||
*/
|
||||
public static ColorUIResource getDichromatColorUIResource (ColorUIResource color)
|
||||
{
|
||||
if (s_colorType == NORMAL)
|
||||
return color;
|
||||
return new ColorUIResource(getDichromatColorUIResource (color, s_colorType));
|
||||
} // convertToDichromatColorUIResource
|
||||
|
||||
/**
|
||||
* Convert "normal" color to Dichromat Color
|
||||
* @param color Java Color object containing values for RGB
|
||||
* @param colorType PROTANOPIA = 1, DEUTERANOPIA = 2 or TRITANOPIA = 3 as declared above
|
||||
* @return Dichromat Color
|
||||
*/
|
||||
public static Color getDichromatColorUIResource (ColorUIResource color, int colorType)
|
||||
{
|
||||
if (s_colorType == NORMAL)
|
||||
return color;
|
||||
return new ColorUIResource(getDichromatColor (color, s_colorType));
|
||||
} // convertToDichromatColorUIResource
|
||||
|
||||
/**
|
||||
* Convert "normal" color to Dichromat Color based on set color type
|
||||
* @param color Java Color object containing values for RGB
|
||||
* @return Dichromat Color
|
||||
*/
|
||||
public static Color getDichromatColor (Color color)
|
||||
{
|
||||
if (s_colorType == NORMAL)
|
||||
return color;
|
||||
return getDichromatColor (color, s_colorType);
|
||||
} // convertToDichromatColor
|
||||
|
||||
/**
|
||||
* Convert "normal" color to Dichromat Color
|
||||
* @param color Java Color object containing values for RGB
|
||||
* @param colorType PROTANOPIA = 1, DEUTERANOPIA = 2 or TRITANOPIA = 3 as declared above
|
||||
* @return Dichromat Color
|
||||
*/
|
||||
public static Color getDichromatColor (Color color, int colorType)
|
||||
{
|
||||
// check type & return if not valid
|
||||
int type = 0;
|
||||
if (colorType > 0 && colorType < 4)
|
||||
type = colorType;
|
||||
// No conversion or no color
|
||||
if (type == 0 || color == null)
|
||||
return color;
|
||||
type--; // correct to zero based
|
||||
|
||||
// Return white & black - not converted
|
||||
if (color.equals(Color.black) || color.equals(Color.white))
|
||||
return color;
|
||||
|
||||
double red = color.getRed();
|
||||
double green = color.getGreen();
|
||||
double blue = color.getBlue();
|
||||
|
||||
// System.out.println("Red: " + red + " Green: " + green + " Blue: " + blue);
|
||||
|
||||
double X = RGBtoXYZMatrix[0][0] * Math.pow(red / 255.0, gamma) +
|
||||
RGBtoXYZMatrix[0][1] * Math.pow(green / 255.0, gamma) +
|
||||
RGBtoXYZMatrix[0][2] * Math.pow(blue / 255.0, gamma);
|
||||
double Y = RGBtoXYZMatrix[1][0] * Math.pow(red / 255.0, gamma) +
|
||||
RGBtoXYZMatrix[1][1] * Math.pow(green / 255.0, gamma) +
|
||||
RGBtoXYZMatrix[1][2] * Math.pow(blue / 255.0, gamma);
|
||||
double Z = RGBtoXYZMatrix[2][0] * Math.pow(red / 255.0, gamma) +
|
||||
RGBtoXYZMatrix[2][1] * Math.pow(green / 255.0, gamma) +
|
||||
RGBtoXYZMatrix[2][2] * Math.pow(blue / 255.0, gamma);
|
||||
|
||||
// System.out.println("X: " + X + " Y: " + Y + " Z: " + Z);
|
||||
|
||||
double x = 0.0;
|
||||
double y = 0.0;
|
||||
|
||||
if ((X + Y + Z) != 0.0)
|
||||
{
|
||||
x = X / (X + Y + Z);
|
||||
y = Y / (X + Y + Z);
|
||||
}
|
||||
|
||||
// System.out.println("x: " + x + " y: " + y + " Y: " + Y);
|
||||
|
||||
double Yn = Y;
|
||||
double Xn = (whitePoint[0] * Yn) / whitePoint[1];
|
||||
double Zn = (whitePoint[2] * Yn) / whitePoint[1];
|
||||
|
||||
double xc = confusionPoints[type][0];
|
||||
double yc = confusionPoints[type][1];
|
||||
|
||||
double x1 = colorAxes[type][0][0];
|
||||
double y1 = colorAxes[type][0][1];
|
||||
double x2 = colorAxes[type][1][0];
|
||||
double y2 = colorAxes[type][1][1];
|
||||
|
||||
double ap = (y2 - y1) / (x2 - x1);
|
||||
double bp = y1 - (x1 * ap);
|
||||
|
||||
// System.out.println("ap: " + ap + " bp: " + bp);
|
||||
|
||||
double a;
|
||||
if (x < xc)
|
||||
a = (yc - y) / (xc - x);
|
||||
else
|
||||
a = (y - yc) / (x - xc);
|
||||
|
||||
double b = y - (x * a);
|
||||
|
||||
// System.out.println("a: " + a + " b: " + b);
|
||||
|
||||
x = (bp - b) / (a - ap);
|
||||
y = a * x + b;
|
||||
|
||||
// System.out.println("x: " + x + " y: " + y);
|
||||
|
||||
X = 0.0;
|
||||
Z = 0.0;
|
||||
if (y != 0)
|
||||
{
|
||||
X = x * (Y / y);
|
||||
Z = (1 - x - y) * (Y / y);
|
||||
}
|
||||
|
||||
// System.out.println("X: " + X + " Y: " + Y + " Z: " + Z);
|
||||
|
||||
red = XYZtoRGBMatrix[0][0] * X +
|
||||
XYZtoRGBMatrix[0][1] * Y +
|
||||
XYZtoRGBMatrix[0][2] * Z;
|
||||
green = XYZtoRGBMatrix[1][0] * X +
|
||||
XYZtoRGBMatrix[1][1] * Y +
|
||||
XYZtoRGBMatrix[1][2] * Z;
|
||||
blue = XYZtoRGBMatrix[2][0] * X +
|
||||
XYZtoRGBMatrix[2][1] * Y +
|
||||
XYZtoRGBMatrix[2][2] * Z;
|
||||
|
||||
// System.out.println("Red: " + red + " Green: " + green + " Blue: " + blue);
|
||||
|
||||
double reddiff = XYZtoRGBMatrix[0][0] * (Xn - X) +
|
||||
XYZtoRGBMatrix[0][1] * (Yn - Y) +
|
||||
XYZtoRGBMatrix[0][2] * (Zn - Z);
|
||||
double greendiff = XYZtoRGBMatrix[1][0] * (Xn - X) +
|
||||
XYZtoRGBMatrix[1][1] * (Yn - Y) +
|
||||
XYZtoRGBMatrix[1][2] * (Zn - Z);
|
||||
double bluediff = XYZtoRGBMatrix[2][0] * (Xn - X) +
|
||||
XYZtoRGBMatrix[2][1] * (Yn - Y) +
|
||||
XYZtoRGBMatrix[2][2] * (Zn - Z);
|
||||
|
||||
double cr = ((red < 0.0 ? 0.0 : 1.0) - red) / reddiff;
|
||||
double cg = ((green < 0.0 ? 0.0 : 1.0) - green) / greendiff;
|
||||
double cb = ((blue < 0.0 ? 0.0 : 1.0) - blue) / bluediff;
|
||||
|
||||
// System.out.println("cr: " + cr + " cg: " + cg + " cb: " + cb);
|
||||
|
||||
double c1 = (cr < 0 || cr > 1) ? 0 : cr;
|
||||
double c2 = (cg < 0 || cg > 1) ? 0 : cg;
|
||||
double c3 = (cb < 0 || cb > 1) ? 0 : cb;
|
||||
double c = Math.max(c1, Math.max(c2, c3));
|
||||
|
||||
// System.out.println("c: " + c);
|
||||
|
||||
red = red + c * reddiff;
|
||||
green = green + c * greendiff;
|
||||
blue = blue + c * bluediff;
|
||||
|
||||
// System.out.println("Red: " + red + " Green: " + green + " Blue: " + blue);
|
||||
|
||||
red = Math.pow(red, 1.0 / gamma);
|
||||
green = Math.pow(green, 1.0 / gamma);
|
||||
blue = Math.pow(blue, 1.0 / gamma);
|
||||
|
||||
// System.out.println("Red: " + red + " Green: " + green + " Blue: " + blue);
|
||||
// System.out.println("Red: " + red * 255.0 + " Green: " + green * 255.0 + " Blue: " + blue * 255.0);
|
||||
|
||||
Color retValue = new Color((float)red, (float)green, (float)blue);
|
||||
log.fine("Color " + color.getRed() + "-" + color.getGreen() + "-" + color.getBlue()
|
||||
+ " -> " + retValue.getRed() + "-" + retValue.getGreen() + "-" + retValue.getBlue() + " <- " + COLORBLIND_TYPE[colorType]);
|
||||
|
||||
return retValue;
|
||||
} // convertToDichromatColor
|
||||
|
||||
} // ColorBlind
|
|
@ -19,7 +19,7 @@ import javax.swing.plaf.*;
|
|||
import javax.swing.plaf.basic.*;
|
||||
import javax.swing.plaf.metal.*;
|
||||
|
||||
import org.compiere.plaf.AdempiereComboPopup;
|
||||
import org.compiere.plaf.CompiereComboPopup;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -55,7 +55,7 @@ public class AdempiereComboBoxUI extends com.jgoodies.looks.plastic.PlasticCombo
|
|||
{
|
||||
MouseListener[] ml = c.getMouseListeners();
|
||||
super.installUI(c);
|
||||
c.setOpaque(false);
|
||||
//c.setOpaque(false);
|
||||
//
|
||||
for (int i = 0; i < ml.length; i++)
|
||||
{
|
||||
|
@ -74,8 +74,8 @@ public class AdempiereComboBoxUI extends com.jgoodies.looks.plastic.PlasticCombo
|
|||
protected JButton createArrowButton()
|
||||
{
|
||||
JButton button = super.createArrowButton();
|
||||
button.setContentAreaFilled(false);
|
||||
button.setOpaque(false);
|
||||
//button.setContentAreaFilled(false);
|
||||
//button.setOpaque(false);
|
||||
return button;
|
||||
} // createArrowButton
|
||||
|
||||
|
@ -101,7 +101,7 @@ public class AdempiereComboBoxUI extends com.jgoodies.looks.plastic.PlasticCombo
|
|||
*/
|
||||
protected ComboPopup createPopup()
|
||||
{
|
||||
AdempiereComboPopup newPopup = new AdempiereComboPopup( comboBox );
|
||||
CompiereComboPopup newPopup = new CompiereComboPopup( comboBox );
|
||||
newPopup.getAccessibleContext().setAccessibleParent(comboBox);
|
||||
return newPopup;
|
||||
} // createPopup
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
/******************************************************************************
|
||||
* The contents of this file are subject to the Compiere License Version 1.1
|
||||
* ("License"); You may not use this file except in compliance with the License
|
||||
* You may obtain a copy of the License at http://www.compiere.org/license.html
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
|
||||
* the specific language governing rights and limitations under the License.
|
||||
* The Original Code is Compiere ERP & CRM Smart Business Solution. The Initial
|
||||
* Developer of the Original Code is Jorg Janke. Portions created by Jorg Janke
|
||||
* are Copyright (C) 1999-2005 Jorg Janke.
|
||||
* All parts are Copyright (C) 1999-2005 ComPiere, Inc. All Rights Reserved.
|
||||
* Contributor(s): ______________________________________.
|
||||
* Product: Adempiere ERP & CRM Smart Business Solution *
|
||||
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. 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. *
|
||||
* For the text or an alternative of this public license, you may reach us *
|
||||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.adempiere.plaf;
|
||||
|
||||
|
@ -18,18 +21,10 @@ import java.awt.*;
|
|||
import javax.swing.*;
|
||||
import javax.swing.plaf.metal.*;
|
||||
|
||||
import com.jgoodies.looks.plastic.PlasticLookAndFeel;
|
||||
|
||||
/**
|
||||
* Compiere Look & Feel.
|
||||
* We wanted a nice UI not the battleship gray based stuff.
|
||||
* I guess a matter of taste.
|
||||
* <code>
|
||||
* :
|
||||
* UIManager.setLookAndFeel(new com.compiere.plaf.CompiereLookAndFeel());
|
||||
* // or UIManager.setLookAndFeel("com.compiere.plaf.CompiereLookAndFeel");
|
||||
* </code>
|
||||
*
|
||||
* @author Jorg Janke
|
||||
* @version $Id: CompiereLookAndFeel.java,v 1.19 2005/12/05 02:38:28 jjanke Exp $
|
||||
* Adempiere Look & Feel, based on JGoodies look and feel
|
||||
*/
|
||||
public class AdempiereLookAndFeel extends com.jgoodies.looks.plastic.PlasticLookAndFeel
|
||||
{
|
||||
|
@ -86,10 +81,7 @@ public class AdempiereLookAndFeel extends com.jgoodies.looks.plastic.PlasticLook
|
|||
*/
|
||||
public UIDefaults getDefaults()
|
||||
{
|
||||
// System.out.println("CompiereLookAndFeel.getDefaults");
|
||||
// Theme already created/set
|
||||
//MetalLookAndFeel.setCurrentTheme(s_theme);
|
||||
com.jgoodies.looks.plastic.PlasticLookAndFeel.setCurrentTheme(s_theme);
|
||||
//com.jgoodies.looks.plastic.PlasticLookAndFeel.setCurrentTheme(s_theme);
|
||||
UIDefaults defaults = super.getDefaults(); // calls init..Defaults
|
||||
return defaults;
|
||||
} // getDefaults
|
||||
|
@ -153,11 +145,7 @@ public class AdempiereLookAndFeel extends com.jgoodies.looks.plastic.PlasticLook
|
|||
*/
|
||||
protected void initSystemColorDefaults (UIDefaults table)
|
||||
{
|
||||
// System.out.println("CompiereLookAndFeel.initSystemColorDefaults");
|
||||
super.initSystemColorDefaults( table);
|
||||
|
||||
// we made the color a bit darker
|
||||
// table.put("textHighlight", CompiereUtils.getTranslucentColor(getTextHighlightColor(), 128));
|
||||
} // initSystemColorDefaults
|
||||
|
||||
/**
|
||||
|
@ -166,7 +154,6 @@ public class AdempiereLookAndFeel extends com.jgoodies.looks.plastic.PlasticLook
|
|||
*/
|
||||
protected void initComponentDefaults (UIDefaults table)
|
||||
{
|
||||
// System.out.println("CompiereLookAndFeel.initComponentDefaults");
|
||||
super.initComponentDefaults( table);
|
||||
|
||||
// ComboBox defaults
|
||||
|
@ -199,7 +186,7 @@ public class AdempiereLookAndFeel extends com.jgoodies.looks.plastic.PlasticLook
|
|||
{
|
||||
if (theme != null)
|
||||
s_theme = theme;
|
||||
MetalLookAndFeel.setCurrentTheme(s_theme);
|
||||
PlasticLookAndFeel.setCurrentTheme(s_theme);
|
||||
} // setCurrentTheme
|
||||
|
||||
/**
|
||||
|
@ -244,4 +231,4 @@ public class AdempiereLookAndFeel extends com.jgoodies.looks.plastic.PlasticLook
|
|||
super.provideErrorFeedback (component);
|
||||
} // provideErrorFeedback
|
||||
|
||||
} // CompiereLookAndFeel
|
||||
} // AdempiereLookAndFeel
|
||||
|
|
|
@ -14,18 +14,44 @@
|
|||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.compiere.plaf;
|
||||
package org.adempiere.plaf;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.lang.reflect.*;
|
||||
import java.util.*;
|
||||
import java.util.logging.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.metal.*;
|
||||
//import org.compiere.process.OrgOwnership;
|
||||
import org.compiere.swing.*;
|
||||
import org.compiere.util.*;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
||||
import java.awt.Insets;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.Window;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.LookAndFeel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.plaf.metal.MetalLookAndFeel;
|
||||
import javax.swing.plaf.metal.MetalTheme;
|
||||
|
||||
import org.compiere.plaf.CompiereLookAndFeel;
|
||||
import org.compiere.plaf.CompiereThemeBlueMetal;
|
||||
import org.compiere.plaf.CompiereThemeIce;
|
||||
import org.compiere.swing.CButton;
|
||||
import org.compiere.swing.CFrame;
|
||||
import org.compiere.swing.ColorBlind;
|
||||
import org.compiere.swing.ExtendedTheme;
|
||||
import org.compiere.util.Ini;
|
||||
import org.compiere.util.ValueNamePair;
|
||||
|
||||
import com.jgoodies.looks.plastic.PlasticLookAndFeel;
|
||||
import com.jgoodies.looks.plastic.PlasticTheme;
|
||||
|
||||
/**
|
||||
* Variable Pluggable Look And Feel.
|
||||
|
@ -33,18 +59,12 @@ import org.compiere.util.*;
|
|||
*
|
||||
* @author Jorg Janke
|
||||
* @version $Id: AdempierePLAF.java,v 1.3 2006/07/30 00:52:23 jjanke Exp $
|
||||
*
|
||||
* @author Low Heng Sin
|
||||
* @version 2006-11-27
|
||||
*/
|
||||
public final class AdempierePLAF
|
||||
{
|
||||
/** Version tag */
|
||||
public static final String VERSION = "R1.4.0";
|
||||
/** Key of Client Property to paint in AdempiereColor */
|
||||
public static final String BACKGROUND = "AdempiereBackground";
|
||||
/** Key of Client Property for Rectangle Items - if exists, the standard background is used */
|
||||
public static final String BACKGROUND_FILL = "AdempiereBackgroundFill";
|
||||
/** Key of Client Property for CPanel */
|
||||
public static final String TABLEVEL = "AdempiereTabLevel";
|
||||
|
||||
/** Logger */
|
||||
private static Logger log = Logger.getLogger(AdempierePLAF.class.getName());
|
||||
|
||||
|
@ -62,30 +82,40 @@ public final class AdempierePLAF
|
|||
} // getFieldBackground_Normal
|
||||
|
||||
/**
|
||||
* Return Error field background (AdempiereTheme)
|
||||
* Return Error field background
|
||||
* @return Color
|
||||
*/
|
||||
public static Color getFieldBackground_Error()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.error);
|
||||
Color c = UIManager.getColor(ExtendedTheme.ERROR_BG_KEY);
|
||||
if (c == null)
|
||||
c = ExtendedTheme.DEFAULT_ERROR_BG;
|
||||
return ColorBlind.getDichromatColor(c);
|
||||
} // getFieldBackground_Error
|
||||
|
||||
/**
|
||||
* Return Mandatory field background color (AdempiereTheme)
|
||||
* Return Mandatory field background color
|
||||
* @return Color
|
||||
*/
|
||||
public static Color getFieldBackground_Mandatory()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.mandatory);
|
||||
Color c = UIManager.getColor(ExtendedTheme.MANDATORY_BG_KEY);
|
||||
if (c == null)
|
||||
c = ExtendedTheme.DEFAULT_MANDATORY_BG;
|
||||
return ColorBlind.getDichromatColor(c);
|
||||
} // getFieldBackground_Mandatory
|
||||
|
||||
/**
|
||||
* Return Inactive field background color (AdempiereTheme)
|
||||
* Return Inactive field background color
|
||||
* @return Color
|
||||
*/
|
||||
public static Color getFieldBackground_Inactive()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.inactive);
|
||||
Color c = UIManager.getColor(ExtendedTheme.INACTIVE_BG_KEY);
|
||||
if ( c != null )
|
||||
return ColorBlind.getDichromatColor(c);
|
||||
else
|
||||
return getFieldBackground_Normal();
|
||||
} // getFieldBackground_Inactive
|
||||
|
||||
/**
|
||||
|
@ -105,7 +135,10 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getInfoBackground()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.info);
|
||||
Color c = UIManager.getColor(ExtendedTheme.INFO_BG_KEY);
|
||||
if (c == null)
|
||||
c = UIManager.getColor("info");
|
||||
return ColorBlind.getDichromatColor(c);
|
||||
} // getInfoBackground
|
||||
|
||||
|
||||
|
@ -127,7 +160,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getTextColor_OK()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.txt_ok);
|
||||
return getTextColor_Normal();
|
||||
} // getText_OK
|
||||
|
||||
/**
|
||||
|
@ -136,7 +169,10 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getTextColor_Issue()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.txt_error);
|
||||
Color c = UIManager.getColor(ExtendedTheme.ERROR_FG_KEY);
|
||||
if (c == null)
|
||||
c = ExtendedTheme.DEFAULT_ERROR_FG;
|
||||
return ColorBlind.getDichromatColor(c);
|
||||
} // getText_Issue
|
||||
|
||||
/**
|
||||
|
@ -155,7 +191,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getPrimary1()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.primary1);
|
||||
return ColorBlind.getDichromatColor(MetalLookAndFeel.getCurrentTheme().getPrimaryControlDarkShadow());
|
||||
}
|
||||
/**
|
||||
* Get Primary2
|
||||
|
@ -163,7 +199,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getPrimary2()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.primary2);
|
||||
return ColorBlind.getDichromatColor(MetalLookAndFeel.getCurrentTheme().getPrimaryControlShadow());
|
||||
}
|
||||
/**
|
||||
* Get Primary3
|
||||
|
@ -171,7 +207,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getPrimary3()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.primary3);
|
||||
return ColorBlind.getDichromatColor(MetalLookAndFeel.getCurrentTheme().getPrimaryControl());
|
||||
}
|
||||
/**
|
||||
* Get Secondary 1
|
||||
|
@ -179,7 +215,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getSecondary1()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.secondary1);
|
||||
return ColorBlind.getDichromatColor(MetalLookAndFeel.getCurrentTheme().getControlDarkShadow());
|
||||
}
|
||||
/**
|
||||
* Get Secondary 2
|
||||
|
@ -187,7 +223,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getSecondary2()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.secondary2);
|
||||
return ColorBlind.getDichromatColor(MetalLookAndFeel.getCurrentTheme().getControlShadow());
|
||||
}
|
||||
/**
|
||||
* Get Secondary 3
|
||||
|
@ -195,20 +231,19 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Color getSecondary3()
|
||||
{
|
||||
return ColorBlind.getDichromatColor(AdempiereThemeInnova.secondary3);
|
||||
return ColorBlind.getDichromatColor(MetalLookAndFeel.getCurrentTheme().getControl());
|
||||
}
|
||||
|
||||
|
||||
/****** Fonts ************************************************************/
|
||||
|
||||
/**
|
||||
* Get Header Font (window/label font)
|
||||
* Get Header Font (window title font)
|
||||
* @return font
|
||||
*/
|
||||
public static Font getFont_Header()
|
||||
{
|
||||
return CompiereTheme.windowFont;
|
||||
// return UIManager.getFont("Label.font");
|
||||
return MetalLookAndFeel.getWindowTitleFont();
|
||||
} // getFont_Header
|
||||
|
||||
/**
|
||||
|
@ -217,8 +252,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Font getFont_Field()
|
||||
{
|
||||
return CompiereTheme.userFont;
|
||||
// return UIManager.getFont("TextField.font");
|
||||
return UIManager.getFont("TextField.font");
|
||||
} // getFont_Field
|
||||
|
||||
/**
|
||||
|
@ -227,8 +261,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Font getFont_Label()
|
||||
{
|
||||
return CompiereTheme.controlFont;
|
||||
// return UIManager.getFont("Label.font");
|
||||
return UIManager.getFont("Label.font");
|
||||
} // setFont_Label
|
||||
|
||||
/**
|
||||
|
@ -237,7 +270,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static Font getFont_Small()
|
||||
{
|
||||
return CompiereTheme.smallFont;
|
||||
return MetalLookAndFeel.getSubTextFont();
|
||||
} // setFont_Small
|
||||
|
||||
/****** Available L&F ****************************************************/
|
||||
|
@ -247,20 +280,17 @@ public final class AdempierePLAF
|
|||
/** Default PLAF */
|
||||
private static ValueNamePair s_defaultPLAF = null;
|
||||
/** Availablle Themes */
|
||||
private static ValueNamePair[] s_themes = null;
|
||||
private static ValueNamePair[] s_metalThemes = null;
|
||||
private static ValueNamePair[] s_plasticThemes = null;
|
||||
|
||||
private static ValueNamePair s_vp_adempiereTheme = null;
|
||||
//default theme
|
||||
private static ValueNamePair s_vp_compiereTheme = null;
|
||||
private static ValueNamePair s_vp_metalTheme = null;
|
||||
private static ValueNamePair s_vp_kunststoffTheme = null;
|
||||
private static ValueNamePair s_vp_plasticTheme = null;
|
||||
//e-evolution vpj-cd 19102006
|
||||
private static ValueNamePair s_vp_jgoodiesTheme = null;
|
||||
private static ValueNamePair s_vp_adempiereTheme = null;
|
||||
//e-evolution vpj-cd 1910200sky
|
||||
|
||||
/** PLAF class list
|
||||
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
|
||||
com.sun.java.swing.plaf.motif.MotifLookAndFeel
|
||||
javax.swing.plaf.metal.MetalLookAndFeel
|
||||
|
||||
/**
|
||||
* Static Initializer.
|
||||
* - Fill available PLAFs and Themes
|
||||
|
@ -270,55 +300,50 @@ public final class AdempierePLAF
|
|||
ArrayList<ValueNamePair> plafList = new ArrayList<ValueNamePair>();
|
||||
//e-evolution vpj-cd 19102006
|
||||
ValueNamePair vp = null;
|
||||
ArrayList<ValueNamePair> themeList = new ArrayList<ValueNamePair>();
|
||||
ArrayList<ValueNamePair> metalThemes = new ArrayList<ValueNamePair>();
|
||||
ArrayList<ValueNamePair> plasticThemes = new ArrayList<ValueNamePair>();
|
||||
|
||||
try
|
||||
{
|
||||
Class c = Class.forName("com.jgoodies.looks.plastic.PlasticLookAndFeel");
|
||||
Class c = Class.forName("com.jgoodies.looks.plastic.Plastic3DLookAndFeel");
|
||||
vp = new ValueNamePair("org.adempiere.plaf.AdempiereLookAndFeel", org.adempiere.plaf.AdempiereLookAndFeel.NAME);
|
||||
plafList.add(vp);
|
||||
s_vp_jgoodiesTheme = new ValueNamePair("org.compiere.plaf.AdempiereTheme", AdempiereThemeInnova.NAME);
|
||||
themeList.add (s_vp_jgoodiesTheme);
|
||||
s_vp_adempiereTheme = new ValueNamePair("org.adempiere.plaf.AdempiereTheme", AdempiereThemeInnova.NAME);
|
||||
plasticThemes.add (s_vp_adempiereTheme);
|
||||
|
||||
c = Class.forName("com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
|
||||
vp = new ValueNamePair("com.jgoodies.looks.plastic.PlasticXPLookAndFeel", "Plastic");
|
||||
plafList.add(vp);
|
||||
MetalTheme theme = PlasticLookAndFeel.createMyDefaultTheme();
|
||||
vp = new ValueNamePair(theme.getClass().getName(), theme.getName());
|
||||
s_vp_plasticTheme = vp;
|
||||
List installedThemes = PlasticLookAndFeel.getInstalledThemes();
|
||||
for(Object t : installedThemes) {
|
||||
theme = (MetalTheme)t;
|
||||
vp = new ValueNamePair(theme.getClass().getName(), theme.getName());
|
||||
plasticThemes.add(vp);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// log.severe("Kuststoff not found");
|
||||
log.severe("Plastic look and feel not found");
|
||||
}
|
||||
//e-evolution vpj-cd 19102006
|
||||
//vpj-cd ValueNamePair vp = new ValueNamePair("org.compiere.plaf.CompiereLookAndFeel", CompiereLookAndFeel.NAME);
|
||||
vp = new ValueNamePair("org.compiere.plaf.CompiereLookAndFeel", CompiereLookAndFeel.NAME);
|
||||
plafList.add (vp);
|
||||
// Themes
|
||||
//vpj-cd ArrayList<ValueNamePair> themeList = new ArrayList<ValueNamePair>();
|
||||
s_vp_adempiereTheme = new ValueNamePair("org.compiere.plaf.CompiereThemeBlueMetal", CompiereThemeBlueMetal.NAME);
|
||||
themeList.add (s_vp_adempiereTheme);
|
||||
themeList.add (new ValueNamePair("org.compiere.plaf.CompiereThemeIce", CompiereThemeIce.NAME));
|
||||
// Metal
|
||||
s_vp_metalTheme = new ValueNamePair("javax.swing.plaf.metal.DefaultMetalTheme", "Steel");
|
||||
themeList.add (s_vp_metalTheme);
|
||||
themeList.add (new ValueNamePair("javax.swing.plaf.metal.OceanTheme", "Ocean"));
|
||||
// themeList.add (new ValueNamePair("javax.swing.plaf.metal.MetalHighContrastTheme", "Java High Contrast"));
|
||||
//
|
||||
themeList.add (new ValueNamePair("org.compiere.plaf.AquaTheme", "Aqua"));
|
||||
themeList.add (new ValueNamePair("org.compiere.plaf.CharcoalTheme", "Charcoal"));
|
||||
themeList.add (new ValueNamePair("org.compiere.plaf.ContrastTheme", "Contrast"));
|
||||
themeList.add (new ValueNamePair("org.compiere.plaf.EmeraldTheme", "Emerald"));
|
||||
themeList.add (new ValueNamePair("org.compiere.plaf.RubyTheme", "Ruby"));
|
||||
|
||||
// Discover and Install - Kuststoff
|
||||
try
|
||||
{
|
||||
Class c = Class.forName("com.incors.plaf.kunststoff.KunststoffLookAndFeel");
|
||||
vp = new ValueNamePair("com.incors.plaf.kunststoff.KunststoffLookAndFeel", "Kunststoff");
|
||||
plafList.add(vp);
|
||||
vp = new ValueNamePair("com.incors.plaf.kunststoff.KunststoffTheme", "Kuststoff");
|
||||
themeList.add(vp);
|
||||
s_vp_kunststoffTheme = vp;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// log.severe("Kuststoff not found");
|
||||
}
|
||||
s_vp_compiereTheme = new ValueNamePair("org.compiere.plaf.CompiereThemeBlueMetal", CompiereThemeBlueMetal.NAME);
|
||||
metalThemes.add (s_vp_compiereTheme);
|
||||
metalThemes.add (new ValueNamePair("org.compiere.plaf.CompiereThemeIce", CompiereThemeIce.NAME));
|
||||
|
||||
//Metal
|
||||
s_vp_metalTheme = new ValueNamePair("javax.swing.plaf.metal.OceanTheme", "Ocean");
|
||||
metalThemes.add (s_vp_metalTheme);
|
||||
metalThemes.add (new ValueNamePair("javax.swing.plaf.metal.DefaultMetalTheme", "Steel"));
|
||||
metalThemes.add (new ValueNamePair("org.compiere.plaf.AquaTheme", "Aqua"));
|
||||
metalThemes.add (new ValueNamePair("org.compiere.plaf.CharcoalTheme", "Charcoal"));
|
||||
metalThemes.add (new ValueNamePair("org.compiere.plaf.ContrastTheme", "Contrast"));
|
||||
metalThemes.add (new ValueNamePair("org.compiere.plaf.EmeraldTheme", "Emerald"));
|
||||
metalThemes.add (new ValueNamePair("org.compiere.plaf.RubyTheme", "Ruby"));
|
||||
|
||||
// Install discovered PLAFs
|
||||
for (int i = 0; i < plafList.size(); i++)
|
||||
|
@ -334,10 +359,7 @@ public final class AdempierePLAF
|
|||
{
|
||||
vp = new ValueNamePair (lfInfo[i].getClassName(), lfInfo[i].getName());
|
||||
plafList.add(vp);
|
||||
//begin vpj-cd e-evolution 26 oct 2006
|
||||
//if (lfInfo[i].getName().equals(CompiereLookAndFeel.NAME))
|
||||
if (lfInfo[i].getName().equals(org.adempiere.plaf.AdempiereLookAndFeel.NAME))
|
||||
//end vpj-cd e-evolution 26 oct 2006
|
||||
{
|
||||
s_defaultPLAF = vp;
|
||||
log.finest(vp.getName() + " (default)");
|
||||
|
@ -349,8 +371,11 @@ public final class AdempierePLAF
|
|||
plafList.toArray(s_looks);
|
||||
|
||||
// Fill Available Themes
|
||||
s_themes = new ValueNamePair[themeList.size()];
|
||||
themeList.toArray(s_themes);
|
||||
s_metalThemes = new ValueNamePair[metalThemes.size()];
|
||||
metalThemes.toArray(s_metalThemes);
|
||||
|
||||
s_plasticThemes = new ValueNamePair[plasticThemes.size()];
|
||||
plasticThemes.toArray(s_plasticThemes);
|
||||
//
|
||||
// printPLAFDefaults();
|
||||
} // static Initializer
|
||||
|
@ -366,22 +391,24 @@ public final class AdempierePLAF
|
|||
} // getPLAFs
|
||||
|
||||
/**
|
||||
* Get the list of available Metal Themes if the current L&F is a Metal L&F
|
||||
* Get the list of available Metal or Plastic Themes.
|
||||
* @return Array of Strings with Names of Metal Themes
|
||||
*/
|
||||
public static ValueNamePair[] getThemes ()
|
||||
{
|
||||
if (UIManager.getLookAndFeel() instanceof MetalLookAndFeel)
|
||||
return s_themes;
|
||||
LookAndFeel l = UIManager.getLookAndFeel();
|
||||
if ( l instanceof PlasticLookAndFeel)
|
||||
return s_plasticThemes;
|
||||
else if ( l instanceof MetalLookAndFeel)
|
||||
return s_metalThemes;
|
||||
return new ValueNamePair[0];
|
||||
} // getThemes
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* Set PLAF based on Ini Properties
|
||||
* @param win Optional Window
|
||||
*/
|
||||
public static void setPLAF (Window win)
|
||||
public static void setPLAF ()
|
||||
{
|
||||
String look = Ini.getProperty(Ini.P_UI_LOOK);
|
||||
String lookTheme = Ini.getProperty(Ini.P_UI_THEME);
|
||||
|
@ -397,16 +424,28 @@ public final class AdempierePLAF
|
|||
}
|
||||
// Search for Theme
|
||||
ValueNamePair theme = null;
|
||||
for (int i = 0; i < s_themes.length; i++)
|
||||
for (int i = 0; i < s_metalThemes.length; i++)
|
||||
{
|
||||
if (s_themes[i].getName().equals(lookTheme))
|
||||
if (s_metalThemes[i].getName().equals(lookTheme))
|
||||
{
|
||||
theme = s_themes[i];
|
||||
theme = s_metalThemes[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (theme == null)
|
||||
{
|
||||
for (int i = 0; i < s_plasticThemes.length; i++)
|
||||
{
|
||||
if (s_plasticThemes[i].getName().equals(lookTheme))
|
||||
{
|
||||
theme = s_plasticThemes[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Set PLAF
|
||||
setPLAF (plaf == null ? s_defaultPLAF : plaf, theme, win);
|
||||
setPLAF (plaf == null ? s_defaultPLAF : plaf, theme, true);
|
||||
} // setPLAF
|
||||
|
||||
/**
|
||||
|
@ -414,66 +453,81 @@ public final class AdempierePLAF
|
|||
*
|
||||
* @param plaf ValueNamePair of the PLAF to be set
|
||||
* @param theme Optional Theme name
|
||||
* @param win Optional Window
|
||||
* @param upateIni Update setting to INI
|
||||
*/
|
||||
public static void setPLAF (ValueNamePair plaf, ValueNamePair theme, Window win)
|
||||
public static void setPLAF (ValueNamePair plaf, ValueNamePair theme, boolean updateIni)
|
||||
{
|
||||
if (plaf == null)
|
||||
return;
|
||||
log.config(plaf + (theme == null ? "" : (" - " + theme)));
|
||||
|
||||
// Look & Feel
|
||||
try
|
||||
{
|
||||
UIManager.setLookAndFeel(plaf.getValue());
|
||||
// Look & Feel
|
||||
Class lafClass = null;
|
||||
try {
|
||||
lafClass = Class.forName(plaf.getValue());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.severe(e.getMessage());
|
||||
return;
|
||||
}
|
||||
LookAndFeel laf = UIManager.getLookAndFeel();
|
||||
Ini.setProperty(Ini.P_UI_LOOK, plaf.getName());
|
||||
|
||||
// Optional Theme
|
||||
Ini.setProperty(Ini.P_UI_THEME, "");
|
||||
|
||||
if ( updateIni ) {
|
||||
Ini.setProperty(Ini.P_UI_LOOK, plaf.getName());
|
||||
// Optional Theme
|
||||
Ini.setProperty(Ini.P_UI_THEME, "");
|
||||
}
|
||||
|
||||
// Default Theme
|
||||
if (theme == null && laf instanceof MetalLookAndFeel)
|
||||
boolean metal = MetalLookAndFeel.class.isAssignableFrom(lafClass);
|
||||
boolean plastic = PlasticLookAndFeel.class.isAssignableFrom(lafClass);
|
||||
boolean adempiere = AdempiereLookAndFeel.class.isAssignableFrom(lafClass);
|
||||
boolean compiere = CompiereLookAndFeel.class.isAssignableFrom(lafClass);
|
||||
if (theme == null && metal)
|
||||
{
|
||||
String className = laf.getClass().getName();
|
||||
if (className.equals("javax.swing.plaf.metal.MetalLookAndFeel"))
|
||||
theme = s_vp_metalTheme;
|
||||
else if (className.equals("org.compiere.plaf.CompiereLookAndFeel"))
|
||||
if (compiere)
|
||||
theme = s_vp_compiereTheme;
|
||||
else if (adempiere)
|
||||
theme = s_vp_adempiereTheme;
|
||||
else if (className.equals("com.incors.plaf.kunststoff.KunststoffLookAndFeel"))
|
||||
theme = s_vp_kunststoffTheme;
|
||||
//e-evolution vpj-cd
|
||||
else if (className.equals("org.adempiere.plaf.AdempiereLookAndFeel"))
|
||||
theme = s_vp_jgoodiesTheme;
|
||||
//e-evolution vpj-cd
|
||||
else if (plastic)
|
||||
theme = s_vp_plasticTheme;
|
||||
else
|
||||
theme = s_vp_metalTheme;
|
||||
}
|
||||
if (theme != null && laf instanceof MetalLookAndFeel && theme.getValue().length() > 0)
|
||||
if (theme != null && metal && theme.getValue().length() > 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
Class c = Class.forName(theme.getValue());
|
||||
MetalTheme t = (MetalTheme)c.newInstance();
|
||||
if (t instanceof CompiereTheme)
|
||||
AdempiereThemeInnova.load();
|
||||
if (laf instanceof CompiereLookAndFeel)
|
||||
if (compiere)
|
||||
CompiereLookAndFeel.setCurrentTheme(t);
|
||||
else
|
||||
MetalLookAndFeel.setCurrentTheme(t);
|
||||
else if (adempiere)
|
||||
AdempiereLookAndFeel.setCurrentTheme(t);
|
||||
else {
|
||||
if (plastic && t instanceof PlasticTheme) {
|
||||
PlasticLookAndFeel.setPlasticTheme((PlasticTheme)t);
|
||||
} else {
|
||||
MetalLookAndFeel.setCurrentTheme(t);
|
||||
}
|
||||
}
|
||||
//
|
||||
boolean flat = Ini.isPropertyBool(Ini.P_UI_FLAT);
|
||||
CompiereTheme.setTheme(t, flat); // copies it if not AdempiereTheme
|
||||
Ini.setProperty(Ini.P_UI_THEME, theme.getName());
|
||||
if (updateIni)
|
||||
Ini.setProperty(Ini.P_UI_THEME, theme.getName());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.severe("Theme - " + e.getMessage());
|
||||
}
|
||||
}
|
||||
updateUI (win);
|
||||
try
|
||||
{
|
||||
UIManager.setLookAndFeel((LookAndFeel)lafClass.newInstance());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.severe(e.getMessage());
|
||||
}
|
||||
log.config(plaf + " - " + theme);
|
||||
// printPLAFDefaults();
|
||||
} // setPLAF
|
||||
|
@ -501,13 +555,11 @@ public final class AdempierePLAF
|
|||
|
||||
/**
|
||||
* Reset PLAF Settings
|
||||
* @param win Window to be reset
|
||||
*/
|
||||
public static void reset (Window win)
|
||||
public static void reset ()
|
||||
{
|
||||
// Clean Theme Properties
|
||||
AdempiereThemeInnova.reset (); // sets properties
|
||||
AdempierePLAF.setPLAF (win);
|
||||
AdempierePLAF.setPLAF ();
|
||||
} // reset
|
||||
|
||||
/**
|
||||
|
@ -538,7 +590,7 @@ public final class AdempierePLAF
|
|||
*/
|
||||
public static boolean isActive()
|
||||
{
|
||||
return UIManager.getLookAndFeel() instanceof CompiereLookAndFeel;
|
||||
return UIManager.getLookAndFeel() instanceof AdempiereLookAndFeel;
|
||||
} // isActive
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -585,9 +637,29 @@ public final class AdempierePLAF
|
|||
window.setVisible(true);
|
||||
} // showCenterScreen
|
||||
|
||||
/**
|
||||
* Invoke the correct method to set current metal based theme.
|
||||
* Supported look and feel are Metal, Plastic and Compiere.
|
||||
* @param laf Metal based look and feel
|
||||
* @param theme Metal based theme
|
||||
*/
|
||||
public static void setCurrentMetalTheme(MetalLookAndFeel laf, MetalTheme theme)
|
||||
{
|
||||
if (laf instanceof CompiereLookAndFeel)
|
||||
CompiereLookAndFeel.setCurrentTheme(theme);
|
||||
else if (laf instanceof AdempiereLookAndFeel)
|
||||
AdempiereLookAndFeel.setCurrentTheme(theme);
|
||||
else {
|
||||
if (laf instanceof PlasticLookAndFeel && theme instanceof PlasticTheme) {
|
||||
PlasticLookAndFeel.setPlasticTheme((PlasticTheme)theme);
|
||||
} else {
|
||||
MetalLookAndFeel.setCurrentTheme(theme);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* Start Class With Adempiere Look or Adempiere PLAF Editor
|
||||
* Start Class With Adempiere Look
|
||||
* @param args first parameter is class to start, if none start PLAF Editor
|
||||
*/
|
||||
public static void main (String[] args)
|
||||
|
@ -604,12 +676,10 @@ public final class AdempierePLAF
|
|||
|
||||
// set the defined PLAF
|
||||
Ini.loadProperties (true);
|
||||
AdempiereThemeInnova.load ();
|
||||
setPLAF (null);
|
||||
setPLAF ();
|
||||
//
|
||||
if (args.length == 0)
|
||||
{
|
||||
AdempierePLAFFrame frame = new AdempierePLAFFrame();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -663,34 +733,3 @@ public final class AdempierePLAF
|
|||
} // main
|
||||
|
||||
} // AdempierePLAF
|
||||
|
||||
/**
|
||||
* Frame to display Editor
|
||||
*/
|
||||
class AdempierePLAFFrame extends CFrame
|
||||
{
|
||||
/**
|
||||
* Frame to display Editor
|
||||
*/
|
||||
public AdempierePLAFFrame()
|
||||
{
|
||||
super("AdempierePLAF");
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setIconImage(Toolkit.getDefaultToolkit().getImage(AdempierePLAF.class.getResource("icons/CL16.gif")));
|
||||
AdempierePLAF.showCenterScreen(this);
|
||||
} // AdempierePLAFFrame
|
||||
|
||||
/**
|
||||
* Show Editor
|
||||
* @param e event
|
||||
*/
|
||||
protected void processWindowEvent (WindowEvent e)
|
||||
{
|
||||
super.processWindowEvent(e);
|
||||
if (e.getID() == WindowEvent.WINDOW_OPENED)
|
||||
{
|
||||
AdempierePLAFEditor ed = new AdempierePLAFEditor(this, true);
|
||||
dispose();
|
||||
}
|
||||
} // processWindowEvents
|
||||
} // AdempierePLAFFrame
|
|
@ -11,6 +11,8 @@ import javax.swing.plaf.ColorUIResource;
|
|||
import javax.swing.plaf.FontUIResource;
|
||||
|
||||
//import org.compiere.plaf.ColorBlind;
|
||||
import org.compiere.swing.ColorBlind;
|
||||
import org.compiere.swing.ExtendedTheme;
|
||||
import org.compiere.util.Ini;
|
||||
|
||||
import com.jgoodies.looks.plastic.PlasticScrollBarUI;
|
||||
|
@ -25,7 +27,7 @@ import com.jgoodies.looks.plastic.theme.*;
|
|||
* @author vpj-cd
|
||||
* @version $Revision: 1.0 $
|
||||
*/
|
||||
public class AdempiereTheme extends com.jgoodies.looks.plastic.theme.DesertBluer {
|
||||
public class AdempiereTheme extends com.jgoodies.looks.plastic.PlasticTheme {
|
||||
|
||||
|
||||
/**
|
||||
|
@ -55,47 +57,6 @@ public class AdempiereTheme extends com.jgoodies.looks.plastic.theme.DesertBluer
|
|||
s_theme = new org.adempiere.plaf.AdempiereTheme();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Theme to current Metal Theme and copy it
|
||||
*/
|
||||
public static void setTheme ()
|
||||
{
|
||||
log.fine("");
|
||||
org.adempiere.plaf.AdempiereTheme copyFrom = new org.adempiere.plaf.AdempiereTheme();
|
||||
boolean flat = Ini.isPropertyBool(Ini.P_UI_FLAT);
|
||||
setTheme (copyFrom, flat);
|
||||
} // setTheme
|
||||
|
||||
/**
|
||||
* Set Theme to current Metal Theme and copy it
|
||||
* @param copyFrom theme
|
||||
* @param flat flat colors
|
||||
*/
|
||||
public static void setTheme (org.adempiere.plaf.AdempiereTheme copyFrom, boolean flat)
|
||||
{
|
||||
if (copyFrom == null || copyFrom instanceof org.adempiere.plaf.AdempiereTheme)
|
||||
return;
|
||||
log.fine(copyFrom.getName() + " - Flat=" + flat);
|
||||
// May not be correct, if Themes overwrites default methods
|
||||
primary1 = copyFrom.getPrimaryControlDarkShadow();
|
||||
primary2 = copyFrom.getPrimaryControlShadow();
|
||||
primary3 = copyFrom.getPrimaryControl();
|
||||
secondary1 = copyFrom.getControlDarkShadow();
|
||||
secondary2 = copyFrom.getControlShadow();
|
||||
secondary3 = copyFrom.getControl();
|
||||
org.compiere.plaf.AdempierePanelUI.setDefaultBackground(new org.compiere.plaf.AdempiereColor(secondary3, flat));
|
||||
white = copyFrom.getPrimaryControlHighlight();
|
||||
black = copyFrom.getPrimaryControlInfo();
|
||||
//
|
||||
controlFont = copyFrom.getControlTextFont();
|
||||
systemFont = copyFrom.getSystemTextFont();
|
||||
userFont = copyFrom.getUserTextFont();
|
||||
smallFont = copyFrom.getSubTextFont();
|
||||
menuFont = copyFrom.getMenuTextFont();
|
||||
windowFont = copyFrom.getWindowTitleFont();
|
||||
} // setTheme
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
/** Theme Name */
|
||||
protected static String s_name = "Adempiere Theme";
|
||||
|
@ -173,15 +134,15 @@ public class AdempiereTheme extends com.jgoodies.looks.plastic.theme.DesertBluer
|
|||
*/
|
||||
public ColorUIResource getPrimary1()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(primary1);
|
||||
return ColorBlind.getDichromatColorUIResource(primary1);
|
||||
}
|
||||
public ColorUIResource getPrimary2()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(primary2);
|
||||
return ColorBlind.getDichromatColorUIResource(primary2);
|
||||
}
|
||||
public ColorUIResource getPrimary3()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(primary3);
|
||||
return ColorBlind.getDichromatColorUIResource(primary3);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -190,32 +151,32 @@ public class AdempiereTheme extends com.jgoodies.looks.plastic.theme.DesertBluer
|
|||
*/
|
||||
public ColorUIResource getSecondary0()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(secondary0);
|
||||
return ColorBlind.getDichromatColorUIResource(secondary0);
|
||||
}
|
||||
public ColorUIResource getSecondary1()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(secondary1);
|
||||
return ColorBlind.getDichromatColorUIResource(secondary1);
|
||||
}
|
||||
public ColorUIResource getSecondary2()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(secondary2);
|
||||
return ColorBlind.getDichromatColorUIResource(secondary2);
|
||||
}
|
||||
public ColorUIResource getSecondary3()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(secondary3);
|
||||
return ColorBlind.getDichromatColorUIResource(secondary3);
|
||||
}
|
||||
public ColorUIResource getSecondary4()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(secondary4);
|
||||
return ColorBlind.getDichromatColorUIResource(secondary4);
|
||||
}
|
||||
|
||||
public ColorUIResource getBlack()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(black);
|
||||
return ColorBlind.getDichromatColorUIResource(black);
|
||||
}
|
||||
public ColorUIResource getWhite()
|
||||
{
|
||||
return AdempiereColorBlind.getDichromatColorUIResource(white);
|
||||
return ColorBlind.getDichromatColorUIResource(white);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -350,65 +311,6 @@ public class AdempiereTheme extends com.jgoodies.looks.plastic.theme.DesertBluer
|
|||
}
|
||||
public FontUIResource getSubTextFont() {return _getSubTextFont();}
|
||||
|
||||
// Static property info
|
||||
|
||||
private static final String P_Primary1 = "#ColorPrimary1";
|
||||
private static final String P_Primary2 = "#ColorPrimary2";
|
||||
private static final String P_Primary3 = "#ColorPrimary3";
|
||||
private static final String P_Secondary1 = "#ColorSecondary1";
|
||||
private static final String P_Secondary2 = "#ColorSecondary2";
|
||||
private static final String P_Secondary3 = "#ColorSecondary3";
|
||||
private static final String P_Black = "#ColorBlack";
|
||||
private static final String P_White = "#ColorWhite";
|
||||
private static final String P_Error = "#ColorError";
|
||||
private static final String P_Info = "#ColorInfo";
|
||||
private static final String P_Mandatory = "#ColorMandatory";
|
||||
private static final String P_Inactive = "#ColorInactive";
|
||||
private static final String P_Txt_OK = "#ColorTextOK";
|
||||
private static final String P_Txt_Error = "#ColorTextError";
|
||||
//
|
||||
private static final String P_Control = "#FontControl";
|
||||
private static final String P_System = "#FontSystem";
|
||||
private static final String P_User = "#FontUser";
|
||||
private static final String P_Small = "#FontSmall";
|
||||
private static final String P_Window = "#FontWindow";
|
||||
private static final String P_Menu = "#FontMenu";
|
||||
/** Background Color */
|
||||
protected static final String P_AdempiereColor = "#AdempiereColor";
|
||||
|
||||
/**
|
||||
* Save information in Properties
|
||||
*/
|
||||
public static void save ()
|
||||
{
|
||||
//log.config(AdempiereColor.getDefaultBackground().toString());
|
||||
//
|
||||
Ini.setProperty(P_Primary1, getColorAsString(primary1));
|
||||
Ini.setProperty(P_Primary2, getColorAsString(primary2));
|
||||
Ini.setProperty(P_Primary3, getColorAsString(primary3));
|
||||
Ini.setProperty(P_Secondary1, getColorAsString(secondary1));
|
||||
Ini.setProperty(P_Secondary2, getColorAsString(secondary2));
|
||||
Ini.setProperty(P_Secondary3, getColorAsString(secondary3));
|
||||
Ini.setProperty(P_Error, getColorAsString(error));
|
||||
Ini.setProperty(P_Info, getColorAsString(info));
|
||||
Ini.setProperty(P_Mandatory, getColorAsString(mandatory));
|
||||
Ini.setProperty(P_Inactive, getColorAsString(inactive));
|
||||
Ini.setProperty(P_White, getColorAsString(white));
|
||||
Ini.setProperty(P_Black, getColorAsString(black));
|
||||
Ini.setProperty(P_Txt_OK, getColorAsString(txt_ok));
|
||||
Ini.setProperty(P_Txt_Error, getColorAsString(txt_error));
|
||||
//
|
||||
Ini.setProperty(P_Control, ((Font)controlFont).toString());
|
||||
Ini.setProperty(P_System, ((Font)systemFont).toString());
|
||||
Ini.setProperty(P_User, ((Font)userFont).toString());
|
||||
Ini.setProperty(P_Small, ((Font)smallFont).toString());
|
||||
Ini.setProperty(P_Window, ((Font)windowFont).toString());
|
||||
Ini.setProperty(P_Menu, ((Font)menuFont).toString());
|
||||
//
|
||||
//AdempiereColor cc = org.adempiere.plaf.AdempiereColor.getDefaultBackground();
|
||||
//Ini.setProperty(P_CompiereColor, cc.toString());
|
||||
} // save
|
||||
|
||||
/**
|
||||
* Parses Color into String representation.
|
||||
* Required as SystemColors and Alpha Colors have different formats
|
||||
|
@ -430,169 +332,12 @@ public class AdempiereTheme extends com.jgoodies.looks.plastic.theme.DesertBluer
|
|||
} // getColorAsString
|
||||
|
||||
/**
|
||||
* Load Properties from Ini
|
||||
*/
|
||||
public static void load ()
|
||||
{
|
||||
primary1 = parseColor (Ini.getProperty(P_Primary1), primary1);
|
||||
primary2 = parseColor (Ini.getProperty(P_Primary2), primary2);
|
||||
primary3 = parseColor (Ini.getProperty(P_Primary3), primary3);
|
||||
secondary1 = parseColor (Ini.getProperty(P_Secondary1), secondary1);
|
||||
secondary2 = parseColor (Ini.getProperty(P_Secondary2), secondary2);
|
||||
secondary3 = parseColor (Ini.getProperty(P_Secondary3), secondary3);
|
||||
error = parseColor(Ini.getProperty(P_Error), error);
|
||||
info = parseColor(Ini.getProperty(P_Info), info);
|
||||
mandatory = parseColor(Ini.getProperty(P_Mandatory), mandatory);
|
||||
inactive = parseColor(Ini.getProperty(P_Inactive), inactive);
|
||||
white = parseColor(Ini.getProperty(P_White), white);
|
||||
black = parseColor(Ini.getProperty(P_Black), black);
|
||||
txt_ok = parseColor(Ini.getProperty(P_Txt_OK), txt_ok);
|
||||
txt_error = parseColor(Ini.getProperty(P_Txt_Error), txt_error);
|
||||
//
|
||||
controlFont = parseFont(Ini.getProperty(P_Control), controlFont);
|
||||
systemFont = parseFont(Ini.getProperty(P_System), systemFont);
|
||||
userFont = parseFont(Ini.getProperty(P_User), userFont);
|
||||
smallFont = parseFont(Ini.getProperty(P_Small), smallFont);
|
||||
windowFont = parseFont(Ini.getProperty(P_Window), windowFont);
|
||||
menuFont = parseFont(Ini.getProperty(P_Menu), menuFont);
|
||||
//
|
||||
//AdempiereColor cc = AdempiereColor.parse(Ini.getProperty(P_AdempiereColor));
|
||||
//AdempiereColor.setDefaultBackground(cc);
|
||||
} // load
|
||||
|
||||
/**
|
||||
* Set Default Colors
|
||||
*/
|
||||
public void setDefault()
|
||||
{
|
||||
} // setDefault
|
||||
|
||||
/**
|
||||
* Reset Info in Properties
|
||||
*/
|
||||
public static void reset ()
|
||||
{
|
||||
/**
|
||||
Ini.remove (P_Primary1);
|
||||
Ini.remove (P_Primary2);
|
||||
Ini.remove (P_Primary3);
|
||||
Ini.remove (P_Secondary1);
|
||||
Ini.remove (P_Secondary2);
|
||||
Ini.remove (P_Secondary3);
|
||||
Ini.remove (P_Error);
|
||||
Ini.remove (P_Info);
|
||||
Ini.remove (P_Mandatory);
|
||||
Ini.remove (P_Inactive);
|
||||
Ini.remove (P_White);
|
||||
Ini.remove (P_Black);
|
||||
Ini.remove (P_Txt_OK);
|
||||
Ini.remove (P_Txt_Error);
|
||||
//
|
||||
Ini.remove (P_Control);
|
||||
Ini.remove (P_System);
|
||||
Ini.remove (P_User);
|
||||
Ini.remove (P_Small);
|
||||
Ini.remove (P_Window);
|
||||
Ini.remove (P_Menu);
|
||||
// CompiereColor
|
||||
Ini.remove(P_CompiereColor);
|
||||
**/
|
||||
// Initialize
|
||||
Ini.setProperty(Ini.P_UI_LOOK, org.adempiere.plaf.AdempiereLookAndFeel.NAME);
|
||||
Ini.setProperty(Ini.P_UI_THEME, s_name);
|
||||
//
|
||||
if (s_theme != null)
|
||||
s_theme.setDefault();
|
||||
|
||||
// Background
|
||||
// CompiereColor cc = new CompiereColor(SystemColor.control); // flat Windows 212-208-200
|
||||
// CompiereColor cc = new CompiereColor(secondary3); // flat Metal 204-204-204
|
||||
//AdempiereColor cc = new AdempiereColor(secondary3, false);
|
||||
//AdempiereColor.setDefaultBackground (cc);
|
||||
//
|
||||
save(); // save properties
|
||||
} // reset
|
||||
|
||||
/**
|
||||
* Parse Color.
|
||||
* <p>
|
||||
* Color - [r=102,g=102,b=153,a=0]
|
||||
*
|
||||
* @param information string information to be parsed
|
||||
* @param stdColor color used if info cannot parsed
|
||||
* @return color
|
||||
* @see #getColorAsString
|
||||
*/
|
||||
protected static ColorUIResource parseColor (String information, ColorUIResource stdColor)
|
||||
{
|
||||
if (information == null
|
||||
|| information.length() == 0
|
||||
|| information.trim().length() == 0)
|
||||
return stdColor;
|
||||
// System.out.print("ParseColor=" + info);
|
||||
try
|
||||
{
|
||||
int r = Integer.parseInt(information.substring(information.indexOf("r=")+2, information.indexOf(",g=")));
|
||||
int g = Integer.parseInt(information.substring(information.indexOf("g=")+2, information.indexOf(",b=")));
|
||||
int b = 0;
|
||||
int a = 255;
|
||||
if (information.indexOf("a=") == -1)
|
||||
b = Integer.parseInt(information.substring(information.indexOf("b=")+2, information.indexOf("]")));
|
||||
else
|
||||
{
|
||||
b = Integer.parseInt(information.substring(information.indexOf("b=")+2, information.indexOf(",a=")));
|
||||
a = Integer.parseInt(information.substring(information.indexOf("a=")+2, information.indexOf("]")));
|
||||
}
|
||||
ColorUIResource retValue = new ColorUIResource(new Color(r, g, b, a));
|
||||
// System.out.println(" - " + retValue.toString());
|
||||
return retValue;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.config(information + " - cannot parse: " + e.toString());
|
||||
}
|
||||
return stdColor;
|
||||
} // parseColor
|
||||
|
||||
/**
|
||||
* Parse Font
|
||||
* <p>
|
||||
* javax.swing.plaf.FontUIResource[family=dialog.bold,name=Dialog,style=bold,size=12]
|
||||
*
|
||||
* @param information string information to be parsed
|
||||
* @param stdFont font used if info cannot be parsed
|
||||
* @return font
|
||||
*/
|
||||
private static FontUIResource parseFont(String information, FontUIResource stdFont)
|
||||
{
|
||||
if (information == null
|
||||
|| information.length() == 0
|
||||
|| information.trim().length() == 0)
|
||||
return stdFont;
|
||||
// System.out.print("ParseFont=" + info);
|
||||
try
|
||||
{
|
||||
String name = information.substring(information.indexOf("name=")+5, information.indexOf(",style="));
|
||||
String s = information.substring(information.indexOf("style=")+6, information.indexOf(",size="));
|
||||
int style = Font.PLAIN;
|
||||
if (s.equals("bold"))
|
||||
style = Font.BOLD;
|
||||
else if (s.equals("italic"))
|
||||
style = Font.ITALIC;
|
||||
else if (s.equals("bolditalic"))
|
||||
style = Font.BOLD | Font.ITALIC;
|
||||
int size = Integer.parseInt(information.substring(information.indexOf(",size=")+6, information.lastIndexOf("]")));
|
||||
FontUIResource retValue = new FontUIResource(name,style,size);
|
||||
// System.out.println(" - " + retValue.toString());
|
||||
return retValue;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.config(information + " - cannot parse: " + e.toString());
|
||||
}
|
||||
return stdFont;
|
||||
} // parseFont
|
||||
|
||||
//-----------------------------------------------------
|
||||
|
||||
|
||||
|
@ -630,9 +375,17 @@ public class AdempiereTheme extends com.jgoodies.looks.plastic.theme.DesertBluer
|
|||
PlasticScrollBarUI.MAX_BUMPS_WIDTH_KEY, new Integer(30),
|
||||
//"TabbedPane.selected", getWhite(),
|
||||
"TabbedPane.selectHighlight", new ColorUIResource(231, 218, 188),
|
||||
};
|
||||
|
||||
ExtendedTheme.ERROR_BG_KEY,
|
||||
error,
|
||||
ExtendedTheme.ERROR_FG_KEY,
|
||||
txt_error,
|
||||
ExtendedTheme.INACTIVE_BG_KEY,
|
||||
inactive,
|
||||
ExtendedTheme.INFO_BG_KEY,
|
||||
info,
|
||||
ExtendedTheme.MANDATORY_BG_KEY,
|
||||
mandatory
|
||||
};
|
||||
table.putDefaults(uiDefaults);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.compiere.plaf;
|
||||
package org.adempiere.plaf;
|
||||
|
||||
import java.awt.*;
|
||||
import javax.swing.plaf.*;
|
|
@ -14,7 +14,7 @@
|
|||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.compiere.plaf;
|
||||
package org.adempiere.plaf;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
|
@ -23,8 +23,13 @@ import java.util.logging.*;
|
|||
import javax.swing.*;
|
||||
import javax.swing.border.*;
|
||||
import javax.swing.plaf.metal.*;
|
||||
|
||||
import org.compiere.plaf.CompiereColor;
|
||||
import org.compiere.plaf.CompiereLookAndFeel;
|
||||
import org.compiere.plaf.CompiereThemeEditor;
|
||||
import org.compiere.swing.*;
|
||||
import org.compiere.util.*;
|
||||
|
||||
import sun.awt.*;
|
||||
|
||||
/**
|
||||
|
@ -35,53 +40,53 @@ import sun.awt.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempierePLAFEditor.java,v 1.3 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempierePLAFEditor extends JDialog
|
||||
public class PLAFEditor extends JDialog
|
||||
implements ActionListener
|
||||
{
|
||||
/**
|
||||
* Default Constructor
|
||||
* Don't Show Example
|
||||
*/
|
||||
public AdempierePLAFEditor()
|
||||
public PLAFEditor()
|
||||
{
|
||||
super();
|
||||
init(false);
|
||||
} // AdempierePLAFEditor
|
||||
} // PLAFEditor
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param showExample if true, show Example
|
||||
*/
|
||||
public AdempierePLAFEditor (boolean showExample)
|
||||
public PLAFEditor (boolean showExample)
|
||||
{
|
||||
super();
|
||||
init(showExample);
|
||||
} // AdempierePLAFEditor
|
||||
init(true);
|
||||
} // PLAFEditor
|
||||
|
||||
/**
|
||||
* Modal Dialog Constructor
|
||||
* @param owner
|
||||
* @param showExample if true, show Example
|
||||
*/
|
||||
public AdempierePLAFEditor(Dialog owner, boolean showExample)
|
||||
public PLAFEditor(Dialog owner, boolean showExample)
|
||||
{
|
||||
super(owner, "", true);
|
||||
init(showExample);
|
||||
} // AdempierePLAFEditor
|
||||
init(true);
|
||||
} // PLAFEditor
|
||||
|
||||
/**
|
||||
* Modal Frame Constructor
|
||||
* @param owner
|
||||
* @param showExample if true, show Example
|
||||
*/
|
||||
public AdempierePLAFEditor(Frame owner, boolean showExample)
|
||||
public PLAFEditor(Frame owner, boolean showExample)
|
||||
{
|
||||
super(owner, "", true);
|
||||
init(showExample);
|
||||
} // AdempierePLAFEditor
|
||||
init(true);
|
||||
} // PLAFEditor
|
||||
|
||||
/** Logger */
|
||||
private static Logger log = Logger.getLogger(AdempierePLAFEditor.class.getName());
|
||||
private static Logger log = Logger.getLogger(PLAFEditor.class.getName());
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -105,7 +110,6 @@ public class AdempierePLAFEditor extends JDialog
|
|||
{
|
||||
log.log(Level.SEVERE, "", e);
|
||||
}
|
||||
// AdempiereUtils.setNotBuffered(this);
|
||||
} // PLAFEditor
|
||||
|
||||
/** Diable Theme Field */
|
||||
|
@ -135,13 +139,9 @@ public class AdempierePLAFEditor extends JDialog
|
|||
private CComboBox lfField = new CComboBox(AdempierePLAF.getPLAFs());
|
||||
private CLabel themeLabel = new CLabel();
|
||||
private CComboBox themeField = new CComboBox(AdempierePLAF.getThemes());
|
||||
private CButton cButton = new CButton();
|
||||
private FlowLayout southLayout = new FlowLayout();
|
||||
private CButton rButton = new CButton();
|
||||
private CButton bSetColor = new CButton();
|
||||
private CCheckBox cDefault = new CCheckBox();
|
||||
private CComboBox blindField = new CComboBox(ColorBlind.COLORBLIND_TYPE);
|
||||
private CCheckBox flatField = new CCheckBox();
|
||||
private CLabel blindLabel = new CLabel();
|
||||
private BorderLayout mainLayout = new BorderLayout();
|
||||
//
|
||||
|
@ -168,10 +168,10 @@ public class AdempierePLAFEditor extends JDialog
|
|||
private JScrollPane jScrollPane2 = new JScrollPane();
|
||||
private JTable jTable1 = new JTable(s_data, s_columns);
|
||||
private GridBagLayout gridBagLayout1 = new GridBagLayout();
|
||||
private CPanel jPanelFlat = new CPanel(new AdempiereColor(new Color(255,205,255), true));
|
||||
private CPanel jPanelGradient = new CPanel(new AdempiereColor(new Color(233,210,210), new Color(217,210,233)));
|
||||
private CPanel jPanelTexture = new CPanel(new AdempiereColor(AdempiereColor.class.getResource("vincent.jpg"), Color.lightGray, 0.7f));
|
||||
private CPanel jPanelLines = new CPanel(new AdempiereColor(new Color(178,181,205), new Color(193,193,205), 1.0f, 5));
|
||||
private CPanel jPanelFlat = new CPanel(new CompiereColor(new Color(255,205,255), true));
|
||||
private CPanel jPanelGradient = new CPanel(new CompiereColor(new Color(233,210,210), new Color(217,210,233)));
|
||||
private CPanel jPanelTexture = new CPanel(new CompiereColor(CompiereColor.class.getResource("vincent.jpg"), Color.lightGray, 0.7f));
|
||||
private CPanel jPanelLines = new CPanel(new CompiereColor(new Color(178,181,205), new Color(193,193,205), 1.0f, 5));
|
||||
private JButton jButtonFlat = new JButton();
|
||||
private CButton jButtonGardient = new CButton();
|
||||
private JButton jButtonTexture = new JButton();
|
||||
|
@ -200,7 +200,7 @@ public class AdempierePLAFEditor extends JDialog
|
|||
private void jbInit() throws Exception
|
||||
{
|
||||
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle(s_res.getString("LookAndFeelEditor") + " " + AdempierePLAF.VERSION);
|
||||
this.setTitle(s_res.getString("LookAndFeelEditor"));
|
||||
mainPanel.setLayout(mainLayout);
|
||||
mainLayout.setHgap(5);
|
||||
mainLayout.setVgap(5);
|
||||
|
@ -216,25 +216,15 @@ public class AdempierePLAFEditor extends JDialog
|
|||
jPanelTexture.setToolTipText("Indented Level 2");
|
||||
jPanelLines.setToolTipText("Indented Level 1");
|
||||
this.getContentPane().add(mainPanel, BorderLayout.CENTER);
|
||||
AdempiereColor.setBackground(this);
|
||||
//
|
||||
lfLabel.setText(s_res.getString("LookAndFeel"));
|
||||
lfField.addActionListener(this);
|
||||
themeLabel.setText(s_res.getString("Theme"));
|
||||
themeField.addActionListener(this);
|
||||
cButton.setText(s_res.getString("EditAdempiereTheme"));
|
||||
cButton.addActionListener(this);
|
||||
rButton.setText(s_res.getString("Reset"));
|
||||
rButton.addActionListener(this);
|
||||
cDefault.setText(s_res.getString("SetDefault"));
|
||||
cDefault.addActionListener(this);
|
||||
bSetColor.setText(s_res.getString("SetDefaultColor"));
|
||||
bSetColor.addActionListener(this);
|
||||
blindLabel.setText(s_res.getString("ColorBlind"));
|
||||
blindField.addActionListener(this);
|
||||
flatField.setText(s_res.getString("FlatColor"));
|
||||
flatField.setSelected(Ini.isPropertyBool(Ini.P_UI_FLAT));
|
||||
flatField.addActionListener(this);
|
||||
//
|
||||
bOK.addActionListener(this);
|
||||
bCancel.addActionListener(this);
|
||||
|
@ -282,16 +272,8 @@ public class AdempierePLAFEditor extends JDialog
|
|||
,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 12, 5, 5), 0, 0));
|
||||
northPanel.add(themeField, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0
|
||||
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 5, 12), 0, 0));
|
||||
northPanel.add(cButton, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0
|
||||
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 0, 5, 12), 0, 0));
|
||||
northPanel.add(rButton, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
|
||||
,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 12, 5, 5), 0, 0));
|
||||
northPanel.add(bSetColor, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0
|
||||
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 0, 5, 12), 0, 0));
|
||||
northPanel.add(cDefault, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0
|
||||
,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 12, 5, 5), 0, 0));
|
||||
northPanel.add(flatField, new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0
|
||||
,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 12), 0, 0));
|
||||
northPanel.add(blindLabel, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0
|
||||
,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 12, 5, 5), 0, 0));
|
||||
northPanel.add(blindField, new GridBagConstraints(1, 5, 1, 1, 0.0, 0.0
|
||||
|
@ -366,7 +348,7 @@ public class AdempierePLAFEditor extends JDialog
|
|||
*/
|
||||
private void dynInit()
|
||||
{
|
||||
// setLFSelection();
|
||||
setLFSelection();
|
||||
//
|
||||
jPanelGradient.setTabLevel(1);
|
||||
jPanelTexture.setTabLevel(2);
|
||||
|
@ -383,7 +365,6 @@ public class AdempierePLAFEditor extends JDialog
|
|||
jButtonTexture.addActionListener(this);
|
||||
jButtonLines.addActionListener(this);
|
||||
//
|
||||
AdempierePLAF.setPLAF(this);
|
||||
} // dynInit
|
||||
|
||||
/**
|
||||
|
@ -451,7 +432,6 @@ public class AdempierePLAFEditor extends JDialog
|
|||
// OK - Save & Finish
|
||||
if (e.getSource() == bOK)
|
||||
{
|
||||
CompiereTheme.save();
|
||||
Ini.saveProperties(true);
|
||||
dispose();
|
||||
}
|
||||
|
@ -470,58 +450,28 @@ public class AdempierePLAFEditor extends JDialog
|
|||
{
|
||||
m_setting = true; // disable Theme setting
|
||||
// set new theme
|
||||
AdempierePLAF.setPLAF((ValueNamePair)lfField.getSelectedItem(), null, this);
|
||||
AdempierePLAF.setPLAF((ValueNamePair)lfField.getSelectedItem(), null, true);
|
||||
AdempierePLAF.updateUI(this);
|
||||
setLFSelection();
|
||||
setBackgroundToTheme();
|
||||
AdempierePLAF.setPLAF(this); // twice ??
|
||||
m_setting = false; // enable Theme setting
|
||||
}
|
||||
// Theme Field Changed
|
||||
else if (e.getSource() == themeField && !m_setting)
|
||||
{
|
||||
Ini.setProperty(Ini.P_UI_THEME, themeField.getSelectedItem().toString());
|
||||
AdempierePLAF.setPLAF((ValueNamePair)lfField.getSelectedItem(), (ValueNamePair)themeField.getSelectedItem(), this);
|
||||
CompiereTheme.setTheme(); // copy Theme
|
||||
setBackgroundToTheme();
|
||||
AdempierePLAF.setPLAF(this); // twice (??)
|
||||
}
|
||||
|
||||
// Start Adempiere Theme Editor
|
||||
else if (e.getSource() == cButton)
|
||||
{
|
||||
new AdempiereThemeEditor(this);
|
||||
setBackgroundToTheme();
|
||||
AdempierePLAF.setPLAF((ValueNamePair)lfField.getSelectedItem(), (ValueNamePair)themeField.getSelectedItem(),true);
|
||||
AdempierePLAF.updateUI(this);
|
||||
}
|
||||
|
||||
// Reset PLAFs
|
||||
else if (e.getSource() == rButton)
|
||||
{
|
||||
AdempierePLAF.reset(this);
|
||||
AdempierePLAF.reset();
|
||||
AdempierePLAF.updateUI(this);
|
||||
setLFSelection();
|
||||
ColorBlind.setColorType(ColorBlind.NORMAL);
|
||||
AdempierePLAF.setPLAF(this); // twice ??
|
||||
}
|
||||
|
||||
// Set Default Background Color
|
||||
else if (e.getSource() == bSetColor)
|
||||
{
|
||||
AdempiereColor cc = AdempiereColorEditor.showDialog(this, AdempierePanelUI.getDefaultBackground());
|
||||
AdempierePanelUI.setDefaultBackground(cc);
|
||||
AdempierePLAF.updateUI(this);
|
||||
Ini.setProperty(CompiereTheme.P_AdempiereColor, cc.toString());
|
||||
}
|
||||
// Set Background as Default
|
||||
else if (e.getSource() == cDefault)
|
||||
{
|
||||
AdempierePanelUI.setSetDefault(cDefault.isSelected());
|
||||
AdempierePLAF.updateUI(this);
|
||||
}
|
||||
// Flat
|
||||
else if (e.getSource() == flatField)
|
||||
{
|
||||
Ini.setProperty(Ini.P_UI_FLAT, flatField.isSelected());
|
||||
setBackgroundToTheme();
|
||||
}
|
||||
// ColorBlind
|
||||
else if (e.getSource() == blindField)
|
||||
{
|
||||
|
@ -542,7 +492,6 @@ public class AdempierePLAFEditor extends JDialog
|
|||
}
|
||||
ColorBlind.setColorType(sel);
|
||||
AdempierePLAF.updateUI(this);
|
||||
AdempierePLAF.setPLAF(this); // twice (??)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -585,7 +534,6 @@ public class AdempierePLAFEditor extends JDialog
|
|||
themeField.setEnabled(metal);
|
||||
themeLabel.setEnabled(metal);
|
||||
boolean adempiere = UIManager.getLookAndFeel() instanceof CompiereLookAndFeel;
|
||||
flatField.setEnabled(adempiere);
|
||||
|
||||
// ColorBlind - only with Adempiere L&F & Theme
|
||||
boolean enableBlind = adempiere
|
||||
|
@ -600,20 +548,6 @@ public class AdempierePLAFEditor extends JDialog
|
|||
setCursor(Cursor.getDefaultCursor());
|
||||
} // actionPerformed
|
||||
|
||||
/**
|
||||
* Set AdempiereColor Background to Theme Background
|
||||
*/
|
||||
private void setBackgroundToTheme()
|
||||
{
|
||||
// Not flat for Adempiere L&F
|
||||
boolean flat = Ini.isPropertyBool(Ini.P_UI_FLAT);
|
||||
AdempiereColor cc = new AdempiereColor(CompiereTheme.secondary3, flat);
|
||||
AdempierePanelUI.setDefaultBackground(cc);
|
||||
Ini.setProperty(CompiereTheme.P_AdempiereColor, cc.toString());
|
||||
AdempierePLAF.updateUI(this);
|
||||
} // setBackgroundToTheme
|
||||
|
||||
|
||||
/**
|
||||
* Dispose
|
||||
* Exit, if there is no real owning parent (not modal) - shortcut
|
|
@ -0,0 +1,445 @@
|
|||
/******************************************************************************
|
||||
* Product: Adempiere ERP & CRM Smart Business Solution *
|
||||
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. 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. *
|
||||
* For the text or an alternative of this public license, you may reach us *
|
||||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.adempiere.plaf;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Cursor;
|
||||
import java.awt.Font;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.Insets;
|
||||
import java.awt.event.FocusAdapter;
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.DefaultComboBoxModel;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JRootPane;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JSplitPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.JTree;
|
||||
import javax.swing.LookAndFeel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.UnsupportedLookAndFeelException;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
import javax.swing.event.ListSelectionListener;
|
||||
import javax.swing.plaf.SplitPaneUI;
|
||||
import javax.swing.plaf.basic.BasicSplitPaneUI;
|
||||
import javax.swing.plaf.metal.MetalLookAndFeel;
|
||||
import javax.swing.plaf.metal.MetalTheme;
|
||||
|
||||
import org.compiere.swing.CButton;
|
||||
import org.compiere.swing.CCheckBox;
|
||||
import org.compiere.swing.CComboBox;
|
||||
import org.compiere.swing.CLabel;
|
||||
import org.compiere.swing.CPanel;
|
||||
import org.compiere.swing.CTabbedPane;
|
||||
import org.compiere.swing.CTextField;
|
||||
import org.compiere.util.ValueNamePair;
|
||||
|
||||
import sun.awt.AppContext;
|
||||
|
||||
/**
|
||||
* Look and feel selection panel.
|
||||
* @author Low Heng Sin
|
||||
* @version 2006-11-27
|
||||
*/
|
||||
public class PLAFEditorPanel extends CPanel {
|
||||
/** Logger */
|
||||
private static Logger log = Logger.getLogger(PLAFEditor.class.getName());
|
||||
|
||||
static ResourceBundle s_res = ResourceBundle.getBundle("org.compiere.plaf.PlafRes");
|
||||
static Object[] s_columns = new Object[] {"-0-", "-1-"};
|
||||
static Object[][] s_data = new Object[][] {
|
||||
{"-00-", "-01-"},
|
||||
{"-10-", "-11-"},
|
||||
{"-20-", "-21-"},
|
||||
{"-30-", "-31-"},
|
||||
{"-O0-", "-O1-"},
|
||||
{"-l0-", "-l1-"}};
|
||||
|
||||
private PreviewPanel previewPanel = new PreviewPanel();
|
||||
private JList lookList = new JList(AdempierePLAF.getPLAFs());
|
||||
private JList themeList = new JList();
|
||||
|
||||
/**
|
||||
* Instance variable to disable list event handling when updating list with value
|
||||
* from UIManager
|
||||
*/
|
||||
private boolean m_setting;
|
||||
|
||||
//preview components
|
||||
private CTextField error = new CTextField(s_res.getString("Error"));
|
||||
private CTextField mandatory = new CTextField(s_res.getString("Mandatory"));
|
||||
CButton button = new CButton("Button");
|
||||
CPanel tabPage1 = new CPanel();
|
||||
|
||||
public PLAFEditorPanel() {
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
setupUI();
|
||||
setupPreview();
|
||||
setLFSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create and layout UI components
|
||||
*/
|
||||
private void setupUI() {
|
||||
this.setLayout(new BorderLayout());
|
||||
|
||||
//splitpane for the selection and preview panel
|
||||
JSplitPane splitPane = new JSplitPane();
|
||||
splitPane.setBorder(BorderFactory.createEmptyBorder());
|
||||
splitPane.setOrientation(JSplitPane.VERTICAL_SPLIT);
|
||||
add(splitPane, BorderLayout.CENTER);
|
||||
|
||||
CPanel selectionPanel = new CPanel();
|
||||
CPanel previewPart = new CPanel();
|
||||
|
||||
splitPane.setTopComponent(selectionPanel);
|
||||
splitPane.setBottomComponent(previewPart);
|
||||
splitPane.setDividerLocation(0.50);
|
||||
splitPane.setDividerSize(0);
|
||||
//disable divider
|
||||
SplitPaneUI splitPaneUI = splitPane.getUI();
|
||||
if (splitPaneUI instanceof BasicSplitPaneUI) {
|
||||
((BasicSplitPaneUI)splitPaneUI).getDivider().setEnabled(false);
|
||||
}
|
||||
|
||||
//setup look and theme selection component
|
||||
selectionPanel.setLayout(new GridBagLayout());
|
||||
CLabel label = new CLabel(s_res.getString("LookAndFeel"));
|
||||
label.setForeground(AdempierePLAF.getPrimary1());
|
||||
label.setFont(label.getFont().deriveFont(Font.BOLD));
|
||||
selectionPanel.add(label, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 0), 0, 0));
|
||||
label = new CLabel(s_res.getString("Theme"));
|
||||
label.setForeground(AdempierePLAF.getPrimary1());
|
||||
label.setFont(label.getFont().deriveFont(Font.BOLD));
|
||||
selectionPanel.add(label, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
|
||||
|
||||
lookList.setVisibleRowCount(12);
|
||||
JScrollPane scrollPane = new JScrollPane(lookList);
|
||||
scrollPane.setBorder(BorderFactory.createLineBorder(AdempierePLAF.getSecondary1(), 1));
|
||||
selectionPanel.add(scrollPane, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0,
|
||||
GridBagConstraints.NORTHWEST, GridBagConstraints.VERTICAL, new Insets(0, 5, 2, 2), 100, 0));
|
||||
|
||||
themeList.setVisibleRowCount(12);
|
||||
scrollPane = new JScrollPane(themeList);
|
||||
scrollPane.setBorder(BorderFactory.createLineBorder(AdempierePLAF.getSecondary1(), 1));
|
||||
selectionPanel.add(scrollPane, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(0, 2, 2, 5), 0, 0));
|
||||
|
||||
previewPart.setBorder(BorderFactory.createEmptyBorder());
|
||||
previewPart.setLayout(new GridBagLayout());
|
||||
label = new CLabel(s_res.getString("Preview"));
|
||||
label.setForeground(AdempierePLAF.getPrimary1());
|
||||
label.setFont(label.getFont().deriveFont(Font.BOLD));
|
||||
previewPart.add(label, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 0, 0), 0, 0));
|
||||
previewPart.add(previewPanel, new GridBagConstraints(0, 1, 2, 1, 1.0, 1.0,
|
||||
GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0));
|
||||
|
||||
lookList.addListSelectionListener(new ListSelectionListener() {
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
lookAndFeelSelectionChanged(e);
|
||||
}
|
||||
|
||||
});
|
||||
themeList.addListSelectionListener(new ListSelectionListener() {
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
themeSelectionChanged(e);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
protected void themeSelectionChanged(ListSelectionEvent e) {
|
||||
if (m_setting) return;
|
||||
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
ValueNamePair laf = (ValueNamePair)lookList.getSelectedValue();
|
||||
ValueNamePair theme = (ValueNamePair)themeList.getSelectedValue();
|
||||
LookAndFeel currentLaf = UIManager.getLookAndFeel();
|
||||
MetalTheme currentTheme = MetalLookAndFeel.getCurrentTheme();
|
||||
AdempierePLAF.setPLAF(laf, theme, false);
|
||||
previewPanel.refresh(currentLaf,currentTheme);
|
||||
SwingUtilities.updateComponentTreeUI(previewPanel);
|
||||
updatePreviewComponents();
|
||||
setLFSelection();
|
||||
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
this.repaint();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle look and feel selection changed
|
||||
* @param e
|
||||
*/
|
||||
protected void lookAndFeelSelectionChanged(ListSelectionEvent e) {
|
||||
if (m_setting) return;
|
||||
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
ValueNamePair laf = (ValueNamePair)lookList.getSelectedValue();
|
||||
LookAndFeel currentLaf = UIManager.getLookAndFeel();
|
||||
MetalTheme currentTheme = MetalLookAndFeel.getCurrentTheme();
|
||||
AdempierePLAF.setPLAF(laf, null, false);
|
||||
previewPanel.refresh(currentLaf,currentTheme);
|
||||
SwingUtilities.updateComponentTreeUI(previewPanel);
|
||||
updatePreviewComponents();
|
||||
setLFSelection();
|
||||
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
this.repaint();
|
||||
}
|
||||
|
||||
private void updatePreviewComponents() {
|
||||
error.setBackground(true);
|
||||
mandatory.setMandatory(true);
|
||||
button.setOpaque(true);
|
||||
tabPage1.setOpaque(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the preview UI components
|
||||
*/
|
||||
private void setupPreview() {
|
||||
JRootPane rootPane = new JRootPane();
|
||||
previewPanel.setLayout(new BorderLayout());
|
||||
previewPanel.add(rootPane, BorderLayout.CENTER);
|
||||
previewPanel.setBorder(BorderFactory.createLineBorder(AdempierePLAF.getSecondary1(), 1));
|
||||
GridLayout gridLayout = new GridLayout(1, 3);
|
||||
gridLayout.setHgap(4);
|
||||
rootPane.getContentPane().setLayout(gridLayout);
|
||||
rootPane.setGlassPane(new GlassPane());
|
||||
rootPane.getGlassPane().setVisible(true);
|
||||
CPanel column1 = new CPanel();
|
||||
rootPane.getContentPane().add(column1);
|
||||
CPanel column2 = new CPanel();
|
||||
rootPane.getContentPane().add(column2);
|
||||
CPanel column3 = new CPanel();
|
||||
rootPane.getContentPane().add(column3);
|
||||
|
||||
column1.setLayout(new GridBagLayout());
|
||||
JTree jtree = new JTree();
|
||||
jtree.setFocusable(false);
|
||||
jtree.setBorder(BorderFactory.createLineBorder(AdempierePLAF.getSecondary1(), 1));
|
||||
column1.add(jtree, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(5,5,2,2),0,0));
|
||||
CTextField normal = new CTextField("Text Field");
|
||||
normal.setFocusable(false);
|
||||
column1.add(normal, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2,5,5,2),0,0));
|
||||
error.setBackground(true);
|
||||
error.setFocusable(false);
|
||||
column1.add(error, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2,2,5,2),0,0));
|
||||
|
||||
column2.setLayout(new GridBagLayout());
|
||||
JTable jtable = new JTable(s_data, s_columns);
|
||||
JScrollPane scrollPane = new JScrollPane(jtable);
|
||||
jtable.setFocusable(false);
|
||||
scrollPane.setPreferredSize(jtable.getPreferredSize());
|
||||
column2.add(scrollPane, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(5,2,2,2),0,0));
|
||||
mandatory.setMandatory(true);
|
||||
mandatory.setFocusable(false);
|
||||
column2.add(mandatory, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2,2,5,2),0,0));
|
||||
CTextField inactive = new CTextField(s_res.getString("Inactive"));
|
||||
inactive.setEnabled(false);
|
||||
column2.add(inactive, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2,2,5,2),0,0));
|
||||
|
||||
column3.setLayout(new GridBagLayout());
|
||||
CTabbedPane tab = new CTabbedPane();
|
||||
column3.add(tab, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(5,2,2,5),0,0));
|
||||
CComboBox editable = new CComboBox(new Object[]{"Editable"});
|
||||
editable.setEditable(true);
|
||||
editable.setFocusable(false);
|
||||
column3.add(editable, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2,2,5,2),0,0));
|
||||
CComboBox choice = new CComboBox(new Object[]{"Choice"});
|
||||
choice.setEditable(false);
|
||||
choice.setFocusable(false);
|
||||
column3.add(choice, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0,
|
||||
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(2,2,5,5),0,0));
|
||||
|
||||
tabPage1.setLayout(new BoxLayout(tabPage1, BoxLayout.Y_AXIS));
|
||||
JRadioButton radio = new JRadioButton("Radio");
|
||||
radio.setSelected(true);
|
||||
radio.setMargin(new Insets(5,5,5,5));
|
||||
radio.setFocusable(false);
|
||||
radio.setOpaque(false);
|
||||
tabPage1.add(radio);
|
||||
CCheckBox checkBox = new CCheckBox("Checkbox");
|
||||
checkBox.setSelected(true);
|
||||
checkBox.setMargin(new Insets(5,5,5,5));
|
||||
checkBox.setFocusable(false);
|
||||
tabPage1.add(checkBox);
|
||||
CLabel label = new CLabel("Label");
|
||||
label.setHorizontalAlignment(JLabel.LEFT);
|
||||
label.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
|
||||
tabPage1.add(label);
|
||||
button.setMargin(new Insets(5,5,5,5));
|
||||
button.setFocusable(false);
|
||||
tabPage1.add(button);
|
||||
tab.add(tabPage1, "tab1");
|
||||
tab.add(new CPanel(), "tab2");
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the look list and theme list to show the current selection
|
||||
*/
|
||||
private void setLFSelection()
|
||||
{
|
||||
m_setting = true;
|
||||
// Search for PLAF
|
||||
ValueNamePair plaf = null;
|
||||
LookAndFeel lookFeel = UIManager.getLookAndFeel();
|
||||
String look = lookFeel.getClass().getName();
|
||||
for (int i = 0; i < AdempierePLAF.getPLAFs().length; i++)
|
||||
{
|
||||
ValueNamePair vp = AdempierePLAF.getPLAFs()[i];
|
||||
if (vp.getValue().equals(look))
|
||||
{
|
||||
plaf = vp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (plaf != null)
|
||||
lookList.setSelectedValue(plaf, true);
|
||||
|
||||
|
||||
// Search for Theme
|
||||
MetalTheme metalTheme = null;
|
||||
ValueNamePair theme = null;
|
||||
boolean metal = UIManager.getLookAndFeel() instanceof MetalLookAndFeel;
|
||||
themeList.setModel(new DefaultComboBoxModel(AdempierePLAF.getThemes()));
|
||||
if (metal)
|
||||
{
|
||||
theme = null;
|
||||
AppContext context = AppContext.getAppContext();
|
||||
metalTheme = (MetalTheme)context.get("currentMetalTheme");
|
||||
if (metalTheme != null)
|
||||
{
|
||||
String lookTheme = metalTheme.getName();
|
||||
for (int i = 0; i < AdempierePLAF.getThemes().length; i++)
|
||||
{
|
||||
ValueNamePair vp = AdempierePLAF.getThemes()[i];
|
||||
if (vp.getName().equals(lookTheme))
|
||||
{
|
||||
theme = vp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (theme != null)
|
||||
themeList.setSelectedValue(theme, true);
|
||||
}
|
||||
m_setting = false;
|
||||
log.info(lookFeel + " - " + metalTheme);
|
||||
} // setLFSelection
|
||||
|
||||
/**
|
||||
* Get look and feel selected by user
|
||||
* @return selected look and feel
|
||||
*/
|
||||
public ValueNamePair getSelectedLook() {
|
||||
return (ValueNamePair)lookList.getSelectedValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get theme selected by user
|
||||
* @return selected theme
|
||||
*/
|
||||
public ValueNamePair getSelectedTheme() {
|
||||
return (ValueNamePair)themeList.getSelectedValue();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Glass pane to block input and mouse event from the preview components
|
||||
* @author Low Heng Sin
|
||||
*/
|
||||
class GlassPane extends JComponent {
|
||||
GlassPane() {
|
||||
addMouseListener(new MouseAdapter() {});
|
||||
addKeyListener(new KeyAdapter() {});
|
||||
addFocusListener(new FocusAdapter() {});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A custom panel, only repaint when look and feel or theme changed.
|
||||
* @author Low Heng Sin
|
||||
*/
|
||||
class PreviewPanel extends CPanel {
|
||||
private boolean capture = true;
|
||||
private LookAndFeel laf = null;
|
||||
private MetalTheme theme = null;
|
||||
private BufferedImage image;
|
||||
|
||||
@Override
|
||||
public void paint(Graphics g) {
|
||||
if (capture) {
|
||||
//capture preview image
|
||||
image = (BufferedImage)createImage(this.getWidth(),this.getHeight());
|
||||
super.paint(image.createGraphics());
|
||||
g.drawImage(image, 0, 0, null);
|
||||
capture = false;
|
||||
if (laf != null) {
|
||||
//reset to origianl setting
|
||||
if (laf instanceof MetalLookAndFeel)
|
||||
AdempierePLAF.setCurrentMetalTheme((MetalLookAndFeel)laf, theme);
|
||||
try {
|
||||
UIManager.setLookAndFeel(laf);
|
||||
} catch (UnsupportedLookAndFeelException e) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//draw preview image
|
||||
if (image != null)
|
||||
g.drawImage(image, 0, 0, null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Refresh look and feel preview, reset to original setting after
|
||||
* refresh.
|
||||
* @param currentLaf Current Look and feel
|
||||
* @param currentTheme Current Theme
|
||||
*/
|
||||
public void refresh(LookAndFeel currentLaf, MetalTheme currentTheme) {
|
||||
this.laf = currentLaf;
|
||||
this.theme = currentTheme;
|
||||
capture = true;
|
||||
}
|
||||
}
|
|
@ -28,13 +28,13 @@ import javax.swing.plaf.basic.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereButtonListener.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereButtonListener extends BasicButtonListener
|
||||
public class CompiereButtonListener extends BasicButtonListener
|
||||
{
|
||||
/**
|
||||
* Adempiere Button Listener
|
||||
* @param b button
|
||||
*/
|
||||
public AdempiereButtonListener (AbstractButton b)
|
||||
public CompiereButtonListener (AbstractButton b)
|
||||
{
|
||||
super (b);
|
||||
} // AdempiereButtonListener
|
|
@ -28,7 +28,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereButtonUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereButtonUI extends MetalButtonUI
|
||||
public class CompiereButtonUI extends MetalButtonUI
|
||||
{
|
||||
/**
|
||||
* Static Create UI
|
||||
|
@ -41,7 +41,7 @@ public class AdempiereButtonUI extends MetalButtonUI
|
|||
} // createUI
|
||||
|
||||
/** UI shared */
|
||||
private static AdempiereButtonUI s_buttonUI = new AdempiereButtonUI();
|
||||
private static CompiereButtonUI s_buttonUI = new CompiereButtonUI();
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -73,7 +73,7 @@ public class AdempiereButtonUI extends MetalButtonUI
|
|||
{
|
||||
// System.out.println(c.getClass() + " ** " + ((JButton)c).getText() + " ** " + c.isOpaque());
|
||||
if (c.isOpaque())
|
||||
AdempiereUtils.fillRectange((Graphics2D)g, c, CompiereLookAndFeel.ROUND);
|
||||
CompiereUtils.fillRectange((Graphics2D)g, c, CompiereLookAndFeel.ROUND);
|
||||
paint (g, c);
|
||||
} // update
|
||||
|
||||
|
@ -90,7 +90,7 @@ public class AdempiereButtonUI extends MetalButtonUI
|
|||
boolean in = model.isPressed() || model.isSelected();
|
||||
//
|
||||
if (b.isBorderPainted())
|
||||
AdempiereUtils.paint3Deffect((Graphics2D)g, c, CompiereLookAndFeel.ROUND, !in);
|
||||
CompiereUtils.paint3Deffect((Graphics2D)g, c, CompiereLookAndFeel.ROUND, !in);
|
||||
} // paint
|
||||
|
||||
/**
|
||||
|
@ -126,7 +126,7 @@ public class AdempiereButtonUI extends MetalButtonUI
|
|||
*/
|
||||
protected BasicButtonListener createButtonListener (AbstractButton b)
|
||||
{
|
||||
return new AdempiereButtonListener(b);
|
||||
return new CompiereButtonListener(b);
|
||||
} // createButtonListener
|
||||
|
||||
} // AdempiereButtonUI
|
|
@ -26,7 +26,7 @@ import javax.swing.plaf.basic.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereCheckBoxMenuItemUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereCheckBoxMenuItemUI extends BasicCheckBoxMenuItemUI
|
||||
public class CompiereCheckBoxMenuItemUI extends BasicCheckBoxMenuItemUI
|
||||
{
|
||||
/**
|
||||
* Create own instance
|
||||
|
@ -35,7 +35,7 @@ public class AdempiereCheckBoxMenuItemUI extends BasicCheckBoxMenuItemUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent c)
|
||||
{
|
||||
return new AdempiereMenuItemUI();
|
||||
return new CompiereMenuItemUI();
|
||||
} // createUI
|
||||
|
||||
/**
|
|
@ -28,7 +28,7 @@ import javax.swing.plaf.metal.MetalCheckBoxUI;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereCheckBoxUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereCheckBoxUI extends MetalCheckBoxUI
|
||||
public class CompiereCheckBoxUI extends MetalCheckBoxUI
|
||||
{
|
||||
/**
|
||||
* Create UI
|
||||
|
@ -41,7 +41,7 @@ public class AdempiereCheckBoxUI extends MetalCheckBoxUI
|
|||
} // createUI
|
||||
|
||||
/** UI shared */
|
||||
private static AdempiereCheckBoxUI s_checkBoxUI = new AdempiereCheckBoxUI();
|
||||
private static CompiereCheckBoxUI s_checkBoxUI = new CompiereCheckBoxUI();
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -61,7 +61,7 @@ public class AdempiereCheckBoxUI extends MetalCheckBoxUI
|
|||
*/
|
||||
protected BasicButtonListener createButtonListener (AbstractButton b)
|
||||
{
|
||||
return new AdempiereButtonListener(b);
|
||||
return new CompiereButtonListener(b);
|
||||
} // createButtonListener
|
||||
|
||||
} // AdempiereCheckBoxUI
|
|
@ -24,6 +24,10 @@ import java.util.*;
|
|||
import java.util.logging.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.swing.ColorBlind;
|
||||
import org.compiere.swing.ThemeUtils;
|
||||
import org.compiere.util.*;
|
||||
|
||||
/**
|
||||
|
@ -32,7 +36,7 @@ import org.compiere.util.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereColor.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereColor implements Serializable
|
||||
public class CompiereColor implements Serializable
|
||||
{
|
||||
/** Background type Flat */
|
||||
public static final String TYPE_FLAT = "F";
|
||||
|
@ -100,7 +104,7 @@ public class AdempiereColor implements Serializable
|
|||
*/
|
||||
public static void setBackground (JComponent c)
|
||||
{
|
||||
setBackground (c, AdempierePanelUI.getDefaultBackground());
|
||||
setBackground (c, new CompiereColor(AdempierePLAF.getFormBackground()));
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
|
@ -108,9 +112,9 @@ public class AdempiereColor implements Serializable
|
|||
* @param c Component
|
||||
* @param cc Color
|
||||
*/
|
||||
public static void setBackground (JComponent c, AdempiereColor cc)
|
||||
public static void setBackground (JComponent c, CompiereColor cc)
|
||||
{
|
||||
c.putClientProperty(AdempierePLAF.BACKGROUND, cc);
|
||||
c.putClientProperty(CompiereLookAndFeel.BACKGROUND, cc);
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
|
@ -118,12 +122,12 @@ public class AdempiereColor implements Serializable
|
|||
* @param c JComponent
|
||||
* @return Color
|
||||
*/
|
||||
public static AdempiereColor getBackground (JComponent c)
|
||||
public static CompiereColor getBackground (JComponent c)
|
||||
{
|
||||
AdempiereColor bg = null;
|
||||
CompiereColor bg = null;
|
||||
try
|
||||
{
|
||||
bg = (AdempiereColor)c.getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
bg = (CompiereColor)c.getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -138,7 +142,7 @@ public class AdempiereColor implements Serializable
|
|||
*/
|
||||
public static void setBackground (Window win)
|
||||
{
|
||||
setBackground (win, AdempierePanelUI.getDefaultBackground());
|
||||
setBackground (win, new CompiereColor(AdempierePLAF.getFormBackground()));
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
|
@ -146,73 +150,43 @@ public class AdempiereColor implements Serializable
|
|||
* @param win window
|
||||
* @param cc adempiere color
|
||||
*/
|
||||
public static void setBackground (Window win, AdempiereColor cc)
|
||||
public static void setBackground (Window win, CompiereColor cc)
|
||||
{
|
||||
if (win instanceof JDialog)
|
||||
{
|
||||
((JPanel)((JDialog)win).getContentPane()).putClientProperty(AdempierePLAF.BACKGROUND, cc);
|
||||
((JPanel)((JDialog)win).getContentPane()).putClientProperty(CompiereLookAndFeel.BACKGROUND, cc);
|
||||
// ((JPanel)((JDialog)win).getContentPane()).setName("contentPane");
|
||||
}
|
||||
else if (win instanceof JFrame)
|
||||
{
|
||||
((JPanel)((JFrame)win).getContentPane()).putClientProperty(AdempierePLAF.BACKGROUND, cc);
|
||||
((JPanel)((JFrame)win).getContentPane()).putClientProperty(CompiereLookAndFeel.BACKGROUND, cc);
|
||||
// ((JPanel)((JFrame)win).getContentPane()).setName("contentPane");
|
||||
}
|
||||
else if (win instanceof JWindow)
|
||||
{
|
||||
((JPanel)((JWindow)win).getContentPane()).putClientProperty(AdempierePLAF.BACKGROUND, cc);
|
||||
((JPanel)((JWindow)win).getContentPane()).putClientProperty(CompiereLookAndFeel.BACKGROUND, cc);
|
||||
// ((JPanel)((JWindow)win).getContentPane()).setName("contentPane");
|
||||
}
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
* Set Default Background
|
||||
* @param bg Background Color
|
||||
* @see AdempierePanelUI#setDefaultBackground
|
||||
*/
|
||||
public static void setDefaultBackground (AdempiereColor bg)
|
||||
{
|
||||
AdempierePanelUI.setDefaultBackground(bg);
|
||||
} // setDefaultBackground
|
||||
|
||||
/**
|
||||
* Get Default Background
|
||||
* @return Background
|
||||
* @see AdempierePanelUI#getDefaultBackground
|
||||
* @see CompierePanelUI#getDefaultBackground
|
||||
*/
|
||||
public static AdempiereColor getDefaultBackground()
|
||||
public static CompiereColor getDefaultBackground()
|
||||
{
|
||||
return AdempierePanelUI.getDefaultBackground();
|
||||
return new CompiereColor(AdempierePLAF.getFormBackground());
|
||||
} // getDefaultBackground
|
||||
|
||||
/**
|
||||
* Set Default Background
|
||||
* @param setDefault if true, the background will be set to the default color
|
||||
* @see AdempierePanelUI#setSetDefault
|
||||
*/
|
||||
public static void setSetDefault (boolean setDefault)
|
||||
{
|
||||
AdempierePanelUI.setSetDefault(setDefault);
|
||||
} // setSetDefault
|
||||
|
||||
/**
|
||||
* Is the Default Background set by default
|
||||
* @return true if default background is set
|
||||
* @see AdempierePanelUI#isSetDefault
|
||||
*/
|
||||
public static boolean isSetDefault()
|
||||
{
|
||||
return AdempierePanelUI.isSetDefault();
|
||||
} // isSetDefault
|
||||
|
||||
/**
|
||||
* Parse attributes and return AdempiereColor
|
||||
* @param attributes attributes
|
||||
* @return AdempiereColor
|
||||
*/
|
||||
public static AdempiereColor parse (String attributes)
|
||||
public static CompiereColor parse (String attributes)
|
||||
{
|
||||
AdempiereColor cc = new AdempiereColor ();
|
||||
CompiereColor cc = new CompiereColor ();
|
||||
try
|
||||
{
|
||||
if (attributes != null && attributes.length() > 0)
|
||||
|
@ -229,7 +203,7 @@ public class AdempiereColor implements Serializable
|
|||
/*************************************************************************
|
||||
* Create Gradient Background Color (Window System Color - White)
|
||||
*/
|
||||
public AdempiereColor()
|
||||
public CompiereColor()
|
||||
{
|
||||
this (TYPE_GRADIENT);
|
||||
} // AdempiereColor
|
||||
|
@ -238,7 +212,7 @@ public class AdempiereColor implements Serializable
|
|||
* Create Default Background Colors of Type
|
||||
* @param type Background type (see constants TYPE_*)
|
||||
*/
|
||||
public AdempiereColor (String type)
|
||||
public CompiereColor (String type)
|
||||
{
|
||||
if (type == null)
|
||||
new java.lang.IllegalArgumentException (EXCEPTION_TEXT);
|
||||
|
@ -255,7 +229,7 @@ public class AdempiereColor implements Serializable
|
|||
* Create Flat Background Color
|
||||
* @param bg background
|
||||
*/
|
||||
public AdempiereColor (Color bg)
|
||||
public CompiereColor (Color bg)
|
||||
{
|
||||
this (bg, true);
|
||||
} // AdempiereColor
|
||||
|
@ -265,7 +239,7 @@ public class AdempiereColor implements Serializable
|
|||
* @param bg Color
|
||||
* @param flat if true create Flat color otherwise Gradient color with white lower color
|
||||
*/
|
||||
public AdempiereColor (Color bg, boolean flat)
|
||||
public CompiereColor (Color bg, boolean flat)
|
||||
{
|
||||
if (bg == null)
|
||||
new java.lang.IllegalArgumentException (EXCEPTION_TEXT);
|
||||
|
@ -280,7 +254,7 @@ public class AdempiereColor implements Serializable
|
|||
* @param startPoint Starting point - e.g. SOUTH_WEST see SwingConstants, default NORTH_WEST
|
||||
* @param repeatDistance X/Y Distance to repeat gradient in points - 0 no repeats
|
||||
*/
|
||||
public AdempiereColor (Color upperColor, Color lowerColor, int startPoint, int repeatDistance)
|
||||
public CompiereColor (Color upperColor, Color lowerColor, int startPoint, int repeatDistance)
|
||||
{
|
||||
if (upperColor == null || lowerColor == null)
|
||||
new java.lang.IllegalArgumentException (EXCEPTION_TEXT);
|
||||
|
@ -297,7 +271,7 @@ public class AdempiereColor implements Serializable
|
|||
* @param upperColor upper color
|
||||
* @param lowerColor lower color
|
||||
*/
|
||||
public AdempiereColor (Color upperColor, Color lowerColor)
|
||||
public CompiereColor (Color upperColor, Color lowerColor)
|
||||
{
|
||||
this (upperColor, lowerColor, SwingConstants.NORTH_WEST, 100);
|
||||
} // AdempiereColor
|
||||
|
@ -309,7 +283,7 @@ public class AdempiereColor implements Serializable
|
|||
* @param taint Color to taint the texture (use white for not tainting it)
|
||||
* @param compositeAlpha Value from 0(no) to 1(full) taining
|
||||
*/
|
||||
public AdempiereColor (URL textureURL, Color taint, float compositeAlpha)
|
||||
public CompiereColor (URL textureURL, Color taint, float compositeAlpha)
|
||||
{
|
||||
if (textureURL == null || taint == null)
|
||||
new java.lang.IllegalArgumentException (EXCEPTION_TEXT);
|
||||
|
@ -326,7 +300,7 @@ public class AdempiereColor implements Serializable
|
|||
* @param taint Color to taint the texture (use white for not tainting it)
|
||||
* @param compositeAlpha Tainting value from 0 (no - FullGraph) to 1 (full - NoGraph)
|
||||
*/
|
||||
public AdempiereColor (String textureURL, Color taint, float compositeAlpha)
|
||||
public CompiereColor (String textureURL, Color taint, float compositeAlpha)
|
||||
{
|
||||
if (textureURL == null || taint == null)
|
||||
new java.lang.IllegalArgumentException (EXCEPTION_TEXT);
|
||||
|
@ -344,7 +318,7 @@ public class AdempiereColor implements Serializable
|
|||
* @param lineWidth Stroke width in point
|
||||
* @param lineDistance Distance between lines in points
|
||||
*/
|
||||
public AdempiereColor (Color lineColor, Color backColor, float lineWidth, int lineDistance)
|
||||
public CompiereColor (Color lineColor, Color backColor, float lineWidth, int lineDistance)
|
||||
{
|
||||
if (lineColor == null || backColor == null)
|
||||
new java.lang.IllegalArgumentException (EXCEPTION_TEXT);
|
||||
|
@ -359,7 +333,7 @@ public class AdempiereColor implements Serializable
|
|||
* Copy Color
|
||||
* @param cc color
|
||||
*/
|
||||
public AdempiereColor (AdempiereColor cc)
|
||||
public CompiereColor (CompiereColor cc)
|
||||
{
|
||||
if (cc == null)
|
||||
return;
|
||||
|
@ -401,7 +375,7 @@ public class AdempiereColor implements Serializable
|
|||
/** Diry marker for repaining Background */
|
||||
private boolean m_dirty = true;
|
||||
/** Logger */
|
||||
private static Logger log = Logger.getLogger(AdempiereColor.class.getName());
|
||||
private static Logger log = Logger.getLogger(CompiereColor.class.getName());
|
||||
|
||||
/**************************************************************************
|
||||
* Get BackgroundType (Flat, Gradient, Lines, Texture)
|
||||
|
@ -596,7 +570,7 @@ public class AdempiereColor implements Serializable
|
|||
if (!isTexture())
|
||||
return null;
|
||||
if (m_textureURL == null)
|
||||
m_textureURL = AdempiereColor.class.getResource("Adempiere00x100.gif");
|
||||
m_textureURL = CompiereColor.class.getResource("Adempiere00x100.gif");
|
||||
return m_textureURL;
|
||||
} // getTextureURL
|
||||
|
||||
|
@ -609,7 +583,7 @@ public class AdempiereColor implements Serializable
|
|||
if (m_image == null)
|
||||
{
|
||||
URL url = getTextureURL();
|
||||
m_image = AdempiereUtils.loadBufferedImage(url, BufferedImage.TYPE_INT_ARGB_PRE);
|
||||
m_image = CompiereUtils.loadBufferedImage(url, BufferedImage.TYPE_INT_ARGB_PRE);
|
||||
}
|
||||
return m_image;
|
||||
} // getTextureImage
|
||||
|
@ -856,7 +830,7 @@ public class AdempiereColor implements Serializable
|
|||
* Set AdempiereColor from AdempiereColor
|
||||
* @param cc AdempiereColor
|
||||
*/
|
||||
public void setColor (AdempiereColor cc)
|
||||
public void setColor (CompiereColor cc)
|
||||
{
|
||||
if (cc == null)
|
||||
return;
|
||||
|
@ -946,23 +920,23 @@ public class AdempiereColor implements Serializable
|
|||
StringBuffer sb = new StringBuffer ("AdempiereColor[");
|
||||
if (isFlat())
|
||||
sb.append("Flat")
|
||||
.append(" ").append(CompiereTheme.getColorAsString(getFlatColor()));
|
||||
.append(" ").append(ThemeUtils.getColorAsString(getFlatColor()));
|
||||
else if (isGradient())
|
||||
sb.append("Gradient")
|
||||
.append(" Upper=").append(CompiereTheme.getColorAsString(getGradientUpperColor()))
|
||||
.append(",Lower=").append(CompiereTheme.getColorAsString(getGradientLowerColor()))
|
||||
.append(" Upper=").append(ThemeUtils.getColorAsString(getGradientUpperColor()))
|
||||
.append(",Lower=").append(ThemeUtils.getColorAsString(getGradientLowerColor()))
|
||||
.append(",Start=").append(getGradientStartPoint())
|
||||
.append(",RDistance=").append(getGradientRepeatDistance());
|
||||
else if (isLine())
|
||||
sb.append("Line")
|
||||
.append(" Color=").append(CompiereTheme.getColorAsString(getLineColor()))
|
||||
.append(",BackColor=").append(CompiereTheme.getColorAsString(getLineBackColor()))
|
||||
.append(" Color=").append(ThemeUtils.getColorAsString(getLineColor()))
|
||||
.append(",BackColor=").append(ThemeUtils.getColorAsString(getLineBackColor()))
|
||||
.append(",Width=").append(getLineWidth())
|
||||
.append(",Distance=").append(getLineDistance());
|
||||
else if (isTexture())
|
||||
sb.append("Texture")
|
||||
.append(" GraphURL=").append(getTextureURL())
|
||||
.append(",Taint=").append(CompiereTheme.getColorAsString(getTextureTaintColor()))
|
||||
.append(",Taint=").append(ThemeUtils.getColorAsString(getTextureTaintColor()))
|
||||
.append(",Alpha=").append(getTextureCompositeAlpha());
|
||||
sb.append("]");
|
||||
return sb.toString();
|
||||
|
@ -977,15 +951,15 @@ public class AdempiereColor implements Serializable
|
|||
if (str.indexOf("[Flat ") != -1)
|
||||
{
|
||||
m_type = TYPE_FLAT;
|
||||
m_primaryColor = CompiereTheme.parseColor(str,
|
||||
m_primaryColor = ThemeUtils.parseColor(str,
|
||||
new ColorUIResource(m_primaryColor));
|
||||
}
|
||||
else if (str.indexOf("[Gradient ") != -1)
|
||||
{
|
||||
m_type = TYPE_GRADIENT;
|
||||
m_primaryColor = CompiereTheme.parseColor(str.substring(str.indexOf(" Upper=")+7, str.indexOf(",Lower=")),
|
||||
m_primaryColor = ThemeUtils.parseColor(str.substring(str.indexOf(" Upper=")+7, str.indexOf(",Lower=")),
|
||||
new ColorUIResource(m_primaryColor));
|
||||
m_secondaryColor = CompiereTheme.parseColor(str.substring(str.indexOf(",Lower=")+7, str.indexOf(",Start=")),
|
||||
m_secondaryColor = ThemeUtils.parseColor(str.substring(str.indexOf(",Lower=")+7, str.indexOf(",Start=")),
|
||||
new ColorUIResource(m_secondaryColor));
|
||||
m_startPoint = Integer.parseInt(str.substring(str.indexOf(",Start=")+7, str.indexOf(",RDistance=")));
|
||||
setGradientRepeatDistance(str.substring(str.indexOf(",RDistance=")+11, str.lastIndexOf("]")));
|
||||
|
@ -993,9 +967,9 @@ public class AdempiereColor implements Serializable
|
|||
else if (str.indexOf("[Line ") != -1)
|
||||
{
|
||||
m_type = TYPE_LINES;
|
||||
m_primaryColor = CompiereTheme.parseColor(str.substring(str.indexOf(" Color=")+7, str.indexOf(",BackColor=")),
|
||||
m_primaryColor = ThemeUtils.parseColor(str.substring(str.indexOf(" Color=")+7, str.indexOf(",BackColor=")),
|
||||
new ColorUIResource(m_primaryColor));
|
||||
m_secondaryColor = CompiereTheme.parseColor(str.substring(str.indexOf(",BackColor=")+11, str.indexOf(",Width=")),
|
||||
m_secondaryColor = ThemeUtils.parseColor(str.substring(str.indexOf(",BackColor=")+11, str.indexOf(",Width=")),
|
||||
new ColorUIResource(m_secondaryColor));
|
||||
setLineWidth(str.substring(str.indexOf(",Width=")+7, str.indexOf(",Distance=")));
|
||||
setLineDistance(str.substring(str.indexOf(",Distance=")+10, str.lastIndexOf("]")));
|
||||
|
@ -1004,7 +978,7 @@ public class AdempiereColor implements Serializable
|
|||
{
|
||||
m_type = TYPE_TEXTURE;
|
||||
setTextureURL (str.substring(str.indexOf(" GraphURL=")+10, str.indexOf(",Taint=")));
|
||||
m_primaryColor = CompiereTheme.parseColor(str.substring(str.indexOf(",Taint=")+7, str.indexOf(",Alpha=")),
|
||||
m_primaryColor = ThemeUtils.parseColor(str.substring(str.indexOf(",Taint=")+7, str.indexOf(",Alpha=")),
|
||||
new ColorUIResource(m_primaryColor));
|
||||
setTextureCompositeAlpha (str.substring(str.indexOf(",Alpha=")+7, str.lastIndexOf("]")));
|
||||
}
|
|
@ -30,7 +30,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereComboBoxUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereComboBoxUI extends MetalComboBoxUI
|
||||
public class CompiereComboBoxUI extends MetalComboBoxUI
|
||||
{
|
||||
/**
|
||||
* Create UI
|
||||
|
@ -39,7 +39,7 @@ public class AdempiereComboBoxUI extends MetalComboBoxUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent c)
|
||||
{
|
||||
return new AdempiereComboBoxUI();
|
||||
return new CompiereComboBoxUI();
|
||||
} // CreateUI
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -102,7 +102,7 @@ public class AdempiereComboBoxUI extends MetalComboBoxUI
|
|||
*/
|
||||
protected ComboPopup createPopup()
|
||||
{
|
||||
AdempiereComboPopup newPopup = new AdempiereComboPopup( comboBox );
|
||||
CompiereComboPopup newPopup = new CompiereComboPopup( comboBox );
|
||||
newPopup.getAccessibleContext().setAccessibleParent(comboBox);
|
||||
return newPopup;
|
||||
} // createPopup
|
|
@ -26,13 +26,13 @@ import org.compiere.swing.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereComboPopup.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereComboPopup extends BasicComboPopup
|
||||
public class CompiereComboPopup extends BasicComboPopup
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
* @param combo
|
||||
*/
|
||||
public AdempiereComboPopup(JComboBox combo)
|
||||
public CompiereComboPopup(JComboBox combo)
|
||||
{
|
||||
super(combo);
|
||||
} // AdempiereComboPopup
|
|
@ -30,17 +30,17 @@ import sun.swing.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereLabelUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereLabelUI extends MetalLabelUI
|
||||
public class CompiereLabelUI extends MetalLabelUI
|
||||
{
|
||||
/** Singleton */
|
||||
protected static AdempiereLabelUI adempiereLabelUI = new AdempiereLabelUI();
|
||||
protected static CompiereLabelUI adempiereLabelUI = new CompiereLabelUI();
|
||||
|
||||
/**
|
||||
* Create UI
|
||||
* @param c component
|
||||
* @return singleton
|
||||
*/
|
||||
public static AdempiereLabelUI createUI(JComponent c)
|
||||
public static CompiereLabelUI createUI(JComponent c)
|
||||
{
|
||||
return adempiereLabelUI;
|
||||
} // createUI
|
|
@ -22,7 +22,7 @@ import javax.swing.*;
|
|||
import javax.swing.plaf.metal.*;
|
||||
|
||||
/**
|
||||
* Adempiere Look & Feel.
|
||||
* Compiere Look & Feel.
|
||||
* We wanted a nice UI not the battleship gray based stuff.
|
||||
* I guess a matter of taste.
|
||||
* <code>
|
||||
|
@ -49,12 +49,22 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
public static final String NAME = "Compiere";
|
||||
|
||||
/** The Theme */
|
||||
private static CompiereTheme s_adempiereTheme = new CompiereThemeBlueMetal();
|
||||
private static MetalTheme s_theme = s_adempiereTheme;
|
||||
private static CompiereTheme s_compiereTheme = new CompiereThemeBlueMetal();
|
||||
private static MetalTheme s_theme = s_compiereTheme;
|
||||
|
||||
/** Paint Round Corners */
|
||||
protected static boolean ROUND = false;
|
||||
|
||||
|
||||
/** Key of Client Property to paint in CompiereColor */
|
||||
public static final String BACKGROUND = "CompiereBackground";
|
||||
/** Key of Client Property for Rectangle Items - if exists, the standard background is used */
|
||||
public static final String BACKGROUND_FILL = "CompiereBackgroundFill";
|
||||
/** Key of Client Property for CPanel */
|
||||
public static final String TABLEVEL = "CompiereTabLevel";
|
||||
|
||||
/** Version tag */
|
||||
public static final String VERSION = "R1.4.0";
|
||||
|
||||
/**
|
||||
* The Name
|
||||
* @return Name
|
||||
|
@ -79,7 +89,7 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
*/
|
||||
public String getDescription()
|
||||
{
|
||||
return "Adempiere Look & Feel - (c) 2001-2005 Jorg Janke";
|
||||
return "Compiere Look & Feel - (c) 2001-2005 Jorg Janke";
|
||||
} // getDescription
|
||||
|
||||
|
||||
|
@ -89,7 +99,6 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
*/
|
||||
public UIDefaults getDefaults()
|
||||
{
|
||||
// System.out.println("AdempiereLookAndFeel.getDefaults");
|
||||
// Theme already created/set
|
||||
MetalLookAndFeel.setCurrentTheme(s_theme);
|
||||
UIDefaults defaults = super.getDefaults(); // calls init..Defaults
|
||||
|
@ -105,7 +114,6 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
*/
|
||||
protected void initClassDefaults(UIDefaults table)
|
||||
{
|
||||
// System.out.println("AdempiereLookAndFeel.initClassDefaults");
|
||||
super.initClassDefaults( table);
|
||||
// Overwrite
|
||||
putDefault (table, "PanelUI");
|
||||
|
@ -140,7 +148,7 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
{
|
||||
try
|
||||
{
|
||||
String className = "org.compiere.plaf.Adempiere" + uiKey;
|
||||
String className = "org.compiere.plaf.Compiere" + uiKey;
|
||||
table.put(uiKey, className);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -155,11 +163,7 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
*/
|
||||
protected void initSystemColorDefaults (UIDefaults table)
|
||||
{
|
||||
// System.out.println("AdempiereLookAndFeel.initSystemColorDefaults");
|
||||
super.initSystemColorDefaults( table);
|
||||
|
||||
// we made the color a bit darker
|
||||
// table.put("textHighlight", AdempiereUtils.getTranslucentColor(getTextHighlightColor(), 128));
|
||||
} // initSystemColorDefaults
|
||||
|
||||
/**
|
||||
|
@ -168,7 +172,6 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
*/
|
||||
protected void initComponentDefaults (UIDefaults table)
|
||||
{
|
||||
// System.out.println("AdempiereLookAndFeel.initComponentDefaults");
|
||||
super.initComponentDefaults( table);
|
||||
|
||||
// ComboBox defaults
|
||||
|
@ -207,12 +210,12 @@ public class CompiereLookAndFeel extends MetalLookAndFeel
|
|||
} // getCurrentTheme
|
||||
|
||||
/**
|
||||
* Get Adempiere Theme
|
||||
* Get Compiere Theme
|
||||
* @return Metal Theme
|
||||
*/
|
||||
public static CompiereTheme getAdempiereTheme()
|
||||
public static CompiereTheme getCompiereTheme()
|
||||
{
|
||||
return s_adempiereTheme;
|
||||
return s_compiereTheme;
|
||||
} // getCurrentTheme
|
||||
|
||||
/**
|
||||
|
|
|
@ -28,7 +28,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereMenuBarUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereMenuBarUI extends MetalMenuBarUI
|
||||
public class CompiereMenuBarUI extends MetalMenuBarUI
|
||||
{
|
||||
/**
|
||||
* Create own instance
|
||||
|
@ -37,7 +37,7 @@ public class AdempiereMenuBarUI extends MetalMenuBarUI
|
|||
*/
|
||||
public static ComponentUI createUI (JComponent x)
|
||||
{
|
||||
return new AdempiereMenuBarUI();
|
||||
return new CompiereMenuBarUI();
|
||||
} // createUI
|
||||
|
||||
/**
|
||||
|
@ -60,7 +60,7 @@ public class AdempiereMenuBarUI extends MetalMenuBarUI
|
|||
if (c.isOpaque())
|
||||
{
|
||||
// Get AdempiereColor
|
||||
AdempiereColor bg = AdempiereColor.getDefaultBackground();
|
||||
CompiereColor bg = CompiereColor.getDefaultBackground();
|
||||
bg.paint (g, c);
|
||||
}
|
||||
else
|
|
@ -27,7 +27,7 @@ import javax.swing.plaf.basic.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereMenuItemUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereMenuItemUI extends BasicMenuItemUI
|
||||
public class CompiereMenuItemUI extends BasicMenuItemUI
|
||||
{
|
||||
/**
|
||||
* Create own instance
|
||||
|
@ -36,7 +36,7 @@ public class AdempiereMenuItemUI extends BasicMenuItemUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent c)
|
||||
{
|
||||
return new AdempiereMenuItemUI();
|
||||
return new CompiereMenuItemUI();
|
||||
} // createUI
|
||||
|
||||
/**
|
||||
|
@ -58,7 +58,7 @@ public class AdempiereMenuItemUI extends BasicMenuItemUI
|
|||
{
|
||||
if (c.isOpaque())
|
||||
{
|
||||
AdempiereColor bg = AdempiereColor.getDefaultBackground();
|
||||
CompiereColor bg = CompiereColor.getDefaultBackground();
|
||||
bg.paint (g, c);
|
||||
//
|
||||
// g.setColor(c.getBackground());
|
||||
|
@ -80,7 +80,7 @@ public class AdempiereMenuItemUI extends BasicMenuItemUI
|
|||
super.paintBackground (g, menuItem, bgColor);
|
||||
else
|
||||
{
|
||||
AdempiereColor bg = AdempiereColor.getDefaultBackground();
|
||||
CompiereColor bg = CompiereColor.getDefaultBackground();
|
||||
bg.paint (g, menuItem);
|
||||
}
|
||||
} // paintBackground
|
|
@ -27,7 +27,7 @@ import javax.swing.plaf.basic.BasicMenuUI;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereMenuUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereMenuUI extends BasicMenuUI
|
||||
public class CompiereMenuUI extends BasicMenuUI
|
||||
{
|
||||
/**
|
||||
* Create own instance
|
||||
|
@ -36,7 +36,7 @@ public class AdempiereMenuUI extends BasicMenuUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent x)
|
||||
{
|
||||
return new AdempiereMenuUI();
|
||||
return new CompiereMenuUI();
|
||||
} // createUI
|
||||
|
||||
/**
|
|
@ -21,6 +21,8 @@ import javax.swing.*;
|
|||
import javax.swing.plaf.*;
|
||||
import javax.swing.plaf.basic.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
|
||||
/**
|
||||
* Panel UI.
|
||||
* The default properties can be set via
|
||||
|
@ -37,7 +39,7 @@ import javax.swing.plaf.basic.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempierePanelUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempierePanelUI extends BasicPanelUI
|
||||
public class CompierePanelUI extends BasicPanelUI
|
||||
{
|
||||
/**
|
||||
* Static Create UI
|
||||
|
@ -51,7 +53,7 @@ public class AdempierePanelUI extends BasicPanelUI
|
|||
} // createUI
|
||||
|
||||
/** UI */
|
||||
private static AdempierePanelUI s_panelUI = new AdempierePanelUI();
|
||||
private static CompierePanelUI s_panelUI = new CompierePanelUI();
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -104,10 +106,10 @@ public class AdempierePanelUI extends BasicPanelUI
|
|||
// System.out.print(" - Background: ");
|
||||
|
||||
// Get AdempiereColor
|
||||
AdempiereColor bg = null;
|
||||
CompiereColor bg = null;
|
||||
try
|
||||
{
|
||||
bg = (AdempiereColor)c.getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
bg = (CompiereColor)c.getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -130,48 +132,5 @@ public class AdempierePanelUI extends BasicPanelUI
|
|||
|
||||
/*************************************************************************/
|
||||
|
||||
/** Default Background */
|
||||
private static AdempiereColor s_default = new AdempiereColor();
|
||||
/** Set Background to default setting */
|
||||
private static boolean s_setDefault = false;
|
||||
|
||||
|
||||
/**
|
||||
* Set Default Background
|
||||
* @param bg Background Color
|
||||
*/
|
||||
public static void setDefaultBackground (AdempiereColor bg)
|
||||
{
|
||||
if (bg == null)
|
||||
return;
|
||||
s_default.setColor(bg);
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
* Get Default Background
|
||||
* @return Background
|
||||
*/
|
||||
public static AdempiereColor getDefaultBackground()
|
||||
{
|
||||
return s_default;
|
||||
} // getBackground
|
||||
|
||||
/**
|
||||
* Set Default Background
|
||||
* @param setDefault if true, the background will be set to the default color
|
||||
*/
|
||||
public static void setSetDefault (boolean setDefault)
|
||||
{
|
||||
s_setDefault = setDefault;
|
||||
} // setSetDefault
|
||||
|
||||
/**
|
||||
* Is the Default Background set by default
|
||||
* @return true if default background is set
|
||||
*/
|
||||
public static boolean isSetDefault()
|
||||
{
|
||||
return s_setDefault;
|
||||
} // isSetDefault
|
||||
|
||||
} // AdempierePanel
|
|
@ -26,7 +26,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereRadioButtonUI.java,v 1.2 2006/07/30 00:52:23 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereRadioButtonUI extends MetalRadioButtonUI
|
||||
public class CompiereRadioButtonUI extends MetalRadioButtonUI
|
||||
{
|
||||
/**
|
||||
* Create UI
|
||||
|
@ -39,7 +39,7 @@ public class AdempiereRadioButtonUI extends MetalRadioButtonUI
|
|||
} // createUI
|
||||
|
||||
/** UI */
|
||||
private static final AdempiereRadioButtonUI s_radioButtonUI = new AdempiereRadioButtonUI();
|
||||
private static final CompiereRadioButtonUI s_radioButtonUI = new CompiereRadioButtonUI();
|
||||
|
||||
|
||||
/**************************************************************************
|
|
@ -24,7 +24,7 @@ import javax.swing.plaf.metal.MetalRootPaneUI;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereRootPaneUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereRootPaneUI extends MetalRootPaneUI
|
||||
public class CompiereRootPaneUI extends MetalRootPaneUI
|
||||
{
|
||||
/**
|
||||
* MetalTitlePane does the Layout & Painting of the Window including System MenuBar
|
|
@ -26,7 +26,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereScrollPaneUI.java,v 1.2 2006/07/30 00:52:23 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereScrollPaneUI extends MetalScrollPaneUI
|
||||
public class CompiereScrollPaneUI extends MetalScrollPaneUI
|
||||
{
|
||||
/**
|
||||
* Create UI (not shared)
|
||||
|
@ -35,7 +35,7 @@ public class AdempiereScrollPaneUI extends MetalScrollPaneUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent x)
|
||||
{
|
||||
return new AdempiereScrollPaneUI();
|
||||
return new CompiereScrollPaneUI();
|
||||
} // createUI
|
||||
|
||||
/**
|
|
@ -25,13 +25,13 @@ import javax.swing.plaf.basic.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereSplitPaneDivider.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
class AdempiereSplitPaneDivider extends BasicSplitPaneDivider
|
||||
class CompiereSplitPaneDivider extends BasicSplitPaneDivider
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
* @param ui
|
||||
*/
|
||||
public AdempiereSplitPaneDivider (BasicSplitPaneUI ui)
|
||||
public CompiereSplitPaneDivider (BasicSplitPaneUI ui)
|
||||
{
|
||||
super (ui);
|
||||
// BasicBorders$SplitPaneDividerBorder - ignored set after constructor
|
|
@ -27,7 +27,7 @@ import javax.swing.plaf.basic.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereSplitPaneUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereSplitPaneUI extends BasicSplitPaneUI
|
||||
public class CompiereSplitPaneUI extends BasicSplitPaneUI
|
||||
{
|
||||
/**
|
||||
* Creates a new MetalSplitPaneUI instance
|
||||
|
@ -36,7 +36,7 @@ public class AdempiereSplitPaneUI extends BasicSplitPaneUI
|
|||
*/
|
||||
public static ComponentUI createUI (JComponent x)
|
||||
{
|
||||
return new AdempiereSplitPaneUI();
|
||||
return new CompiereSplitPaneUI();
|
||||
} // createUI
|
||||
|
||||
/**
|
||||
|
@ -45,7 +45,7 @@ public class AdempiereSplitPaneUI extends BasicSplitPaneUI
|
|||
*/
|
||||
public BasicSplitPaneDivider createDefaultDivider()
|
||||
{
|
||||
return new AdempiereSplitPaneDivider (this);
|
||||
return new CompiereSplitPaneDivider (this);
|
||||
}
|
||||
|
||||
/**
|
|
@ -22,15 +22,17 @@ import javax.swing.plaf.*;
|
|||
import javax.swing.plaf.basic.*;
|
||||
import javax.swing.plaf.metal.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
|
||||
/**
|
||||
* Same implementation detail as in AdempierePanelUI.
|
||||
* Additional handling of dwawing tabs.
|
||||
* @see AdempierePanelUI
|
||||
* @see CompierePanelUI
|
||||
*
|
||||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereTabbedPaneUI.java,v 1.3 2006/07/30 00:52:23 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
||||
public class CompiereTabbedPaneUI extends MetalTabbedPaneUI
|
||||
{
|
||||
/**
|
||||
* Static Create UI
|
||||
|
@ -39,7 +41,7 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent c)
|
||||
{
|
||||
return new AdempiereTabbedPaneUI();
|
||||
return new CompiereTabbedPaneUI();
|
||||
} // createUI
|
||||
|
||||
/**
|
||||
|
@ -82,7 +84,7 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
// System.out.println("Tab: Bounds=" + c.getBounds() + " - " + c.getClass().getName());
|
||||
|
||||
if (c.isOpaque())
|
||||
AdempierePanelUI.updateIt (g, c); // tabAreaBackground
|
||||
CompierePanelUI.updateIt (g, c); // tabAreaBackground
|
||||
paint (g, c);
|
||||
} // update
|
||||
|
||||
|
@ -172,13 +174,13 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
Component comp = tabPane.getComponentAt(tabIndex);
|
||||
// System.out.println("Tab " + tabIndex + " Comp=" + comp.getName() + " " + comp.getClass().getName() + " x=" + x + ", y=" + y + ", w=" +w + ", h=" + h);
|
||||
g2D.setPaint(comp.getBackground());
|
||||
AdempiereColor bg = AdempiereColor.getDefaultBackground();
|
||||
CompiereColor bg = CompiereColor.getDefaultBackground();
|
||||
if (comp instanceof JPanel)
|
||||
{
|
||||
JPanel jp = (JPanel)comp;
|
||||
try
|
||||
{
|
||||
bg = (AdempiereColor)jp.getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
bg = (CompiereColor)jp.getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -188,7 +190,7 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
|
||||
if (bg == null) // No Background
|
||||
{
|
||||
if (AdempiereUtils.isLeftToRight(tabPane))
|
||||
if (CompiereUtils.isLeftToRight(tabPane))
|
||||
{
|
||||
switch (tabPlacement)
|
||||
{
|
||||
|
@ -236,7 +238,7 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
}
|
||||
else // we have a background
|
||||
{
|
||||
if (AdempiereUtils.isLeftToRight(tabPane))
|
||||
if (CompiereUtils.isLeftToRight(tabPane))
|
||||
{
|
||||
switch (tabPlacement)
|
||||
{
|
||||
|
@ -298,8 +300,8 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
new int[] {y, y, y+6, y+(h/2), y+(h/2) }, 5);
|
||||
// lighter
|
||||
GradientPaint paint = new GradientPaint (
|
||||
x, y, AdempiereUtils.COL_1TOP,
|
||||
x, y+(h/2), AdempiereUtils.COL_1END);
|
||||
x, y, CompiereUtils.COL_1TOP,
|
||||
x, y+(h/2), CompiereUtils.COL_1END);
|
||||
g2D.setPaint(paint);
|
||||
g2D.fill(top);
|
||||
}
|
||||
|
@ -314,8 +316,8 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
new int[] {y+(h/2), y+(h/2), y+h, y+h, y+h-6 }, 5);
|
||||
// darker
|
||||
GradientPaint paint = new GradientPaint (
|
||||
x, y+(h/2), AdempiereUtils.COL_2TOP,
|
||||
x, y+h, AdempiereUtils.COL_2END);
|
||||
x, y+(h/2), CompiereUtils.COL_2TOP,
|
||||
x, y+h, CompiereUtils.COL_2END);
|
||||
g2D.setPaint(paint);
|
||||
g2D.fill(end);
|
||||
}
|
||||
|
@ -367,11 +369,11 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
if (comp != null && comp instanceof JComponent)
|
||||
{
|
||||
JComponent jc = (JComponent)comp;
|
||||
AdempiereColor bg = null;
|
||||
CompiereColor bg = null;
|
||||
try
|
||||
{
|
||||
if (jc != null)
|
||||
bg = (AdempiereColor)jc.getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
bg = (CompiereColor)jc.getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -379,8 +381,8 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
}
|
||||
if (bg == null)
|
||||
{
|
||||
bg = new AdempiereColor(jc.getBackground());
|
||||
jc.putClientProperty(AdempierePLAF.BACKGROUND, bg);
|
||||
bg = new CompiereColor(jc.getBackground());
|
||||
jc.putClientProperty(CompiereLookAndFeel.BACKGROUND, bg);
|
||||
}
|
||||
bg.paintRect(g, jc, x,y, w,h);
|
||||
}
|
||||
|
@ -444,7 +446,7 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
protected void paintContentBorderBottomEdge (Graphics g, int tabPlacement,
|
||||
int selectedIndex, int x, int y, int w, int h)
|
||||
{
|
||||
boolean leftToRight = AdempiereUtils.isLeftToRight(tabPane);
|
||||
boolean leftToRight = CompiereUtils.isLeftToRight(tabPane);
|
||||
int bottom = y + h - 1;
|
||||
int right = x + w - 1;
|
||||
Rectangle selRect = selectedIndex < 0 ? null : getTabBounds(selectedIndex, calcRect);
|
||||
|
@ -566,7 +568,7 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
int currentRun = getRunForTab( tabPane.getTabCount(), tabIndex );
|
||||
int lastIndex = lastTabInRun( tabPane.getTabCount(), currentRun );
|
||||
int firstIndex = tabRuns[ currentRun ];
|
||||
boolean leftToRight = AdempiereUtils.isLeftToRight(tabPane);
|
||||
boolean leftToRight = CompiereUtils.isLeftToRight(tabPane);
|
||||
int bottom = h - 1;
|
||||
int right = w - 1;
|
||||
|
||||
|
@ -1021,7 +1023,7 @@ public class AdempiereTabbedPaneUI extends MetalTabbedPaneUI
|
|||
JComponent jc = (JComponent)comp;
|
||||
try
|
||||
{
|
||||
Integer ll = (Integer)jc.getClientProperty(AdempierePLAF.TABLEVEL);
|
||||
Integer ll = (Integer)jc.getClientProperty(CompiereLookAndFeel.TABLEVEL);
|
||||
if (ll != null)
|
||||
level = ll.intValue();
|
||||
}
|
|
@ -30,7 +30,7 @@ import javax.swing.plaf.basic.BasicTableHeaderUI;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereTableHeaderUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereTableHeaderUI extends BasicTableHeaderUI
|
||||
public class CompiereTableHeaderUI extends BasicTableHeaderUI
|
||||
{
|
||||
/**
|
||||
* Static Create UI
|
||||
|
@ -39,7 +39,7 @@ public class AdempiereTableHeaderUI extends BasicTableHeaderUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent c)
|
||||
{
|
||||
return new AdempiereTableHeaderUI();
|
||||
return new CompiereTableHeaderUI();
|
||||
} // createUI
|
||||
|
||||
|
||||
|
@ -52,8 +52,8 @@ public class AdempiereTableHeaderUI extends BasicTableHeaderUI
|
|||
super.installUI(c);
|
||||
// TableHeader is in JViewpoiunt, which is Opaque
|
||||
// When UI created, TableHeader not added to viewpoint
|
||||
c.setOpaque(true);
|
||||
c.putClientProperty(AdempierePLAF.BACKGROUND_FILL, "Y");
|
||||
//c.setOpaque(true);
|
||||
//c.putClientProperty(AdempierePLAF.BACKGROUND_FILL, "Y");
|
||||
} // installUI
|
||||
|
||||
|
||||
|
@ -76,7 +76,7 @@ public class AdempiereTableHeaderUI extends BasicTableHeaderUI
|
|||
{
|
||||
// AdempiereUtils.printParents (c); // Parent is JViewpoint
|
||||
if (c.isOpaque()) // flat
|
||||
AdempiereUtils.fillRectange((Graphics2D)g, c, CompiereLookAndFeel.ROUND);
|
||||
CompiereUtils.fillRectange((Graphics2D)g, c, CompiereLookAndFeel.ROUND);
|
||||
//
|
||||
paint (g, c);
|
||||
} // update
|
||||
|
@ -89,7 +89,7 @@ public class AdempiereTableHeaderUI extends BasicTableHeaderUI
|
|||
public void paint(Graphics g, JComponent c)
|
||||
{
|
||||
super.paint( g, c);
|
||||
AdempiereUtils.paint3Deffect((Graphics2D)g, c, CompiereLookAndFeel.ROUND, true);
|
||||
CompiereUtils.paint3Deffect((Graphics2D)g, c, CompiereLookAndFeel.ROUND, true);
|
||||
} // paint
|
||||
|
||||
} // AdempiereTableHeader
|
|
@ -26,7 +26,7 @@ import javax.swing.plaf.basic.*;
|
|||
import javax.swing.text.*;
|
||||
|
||||
|
||||
public class AdempiereTextAreaUI extends BasicTextAreaUI
|
||||
public class CompiereTextAreaUI extends BasicTextAreaUI
|
||||
{
|
||||
/**
|
||||
* Creates a UI for a JTextArea.
|
||||
|
@ -37,14 +37,14 @@ public class AdempiereTextAreaUI extends BasicTextAreaUI
|
|||
*/
|
||||
public static ComponentUI createUI(JComponent ta)
|
||||
{
|
||||
return new AdempiereTextAreaUI(ta);
|
||||
return new CompiereTextAreaUI(ta);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param ta text area
|
||||
*/
|
||||
public AdempiereTextAreaUI (JComponent ta)
|
||||
public CompiereTextAreaUI (JComponent ta)
|
||||
{
|
||||
if (ta instanceof JTextComponent)
|
||||
m_editor = (JTextComponent)ta;
|
|
@ -18,13 +18,19 @@ package org.compiere.plaf;
|
|||
|
||||
import java.awt.*;
|
||||
import java.util.logging.*;
|
||||
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.plaf.*;
|
||||
import javax.swing.plaf.metal.*;
|
||||
|
||||
import org.compiere.swing.ColorBlind;
|
||||
import org.compiere.swing.ExtendedTheme;
|
||||
import org.compiere.util.*;
|
||||
|
||||
import sun.awt.*;
|
||||
|
||||
/**
|
||||
* Adempiere User definable Theme (if used in Metal L&F).
|
||||
* Compiere User definable Theme (if used in Metal L&F).
|
||||
* In other Environments, it provides UI extensions (e.g. Error Color)
|
||||
*
|
||||
* @author Jorg Janke
|
||||
|
@ -135,49 +141,6 @@ public class CompiereTheme extends MetalTheme
|
|||
public static final int FONT_SIZE = 12;
|
||||
|
||||
|
||||
/**
|
||||
* Set Theme to current Metal Theme and copy it
|
||||
*/
|
||||
public static void setTheme ()
|
||||
{
|
||||
log.fine("");
|
||||
AppContext context = AppContext.getAppContext();
|
||||
MetalTheme copyFrom = (MetalTheme)context.get("currentMetalTheme");
|
||||
boolean flat = Ini.isPropertyBool(Ini.P_UI_FLAT);
|
||||
setTheme (copyFrom, flat);
|
||||
} // setTheme
|
||||
|
||||
/**
|
||||
* Set Theme to current Metal Theme and copy it
|
||||
* @param copyFrom theme
|
||||
* @param flat flat colors
|
||||
*/
|
||||
public static void setTheme (MetalTheme copyFrom, boolean flat)
|
||||
{
|
||||
if (copyFrom == null || copyFrom instanceof CompiereTheme)
|
||||
return;
|
||||
log.fine(copyFrom.getName() + " - Flat=" + flat);
|
||||
// May not be correct, if Themes overwrites default methods
|
||||
primary1 = copyFrom.getPrimaryControlDarkShadow();
|
||||
primary2 = copyFrom.getPrimaryControlShadow();
|
||||
primary3 = copyFrom.getPrimaryControl();
|
||||
secondary1 = copyFrom.getControlDarkShadow();
|
||||
secondary2 = copyFrom.getControlShadow();
|
||||
secondary3 = copyFrom.getControl();
|
||||
AdempierePanelUI.setDefaultBackground(new AdempiereColor(secondary3, flat));
|
||||
white = copyFrom.getPrimaryControlHighlight();
|
||||
black = copyFrom.getPrimaryControlInfo();
|
||||
//
|
||||
controlFont = copyFrom.getControlTextFont();
|
||||
systemFont = copyFrom.getSystemTextFont();
|
||||
userFont = copyFrom.getUserTextFont();
|
||||
smallFont = copyFrom.getSubTextFont();
|
||||
menuFont = copyFrom.getMenuTextFont();
|
||||
windowFont = copyFrom.getWindowTitleFont();
|
||||
} // setTheme
|
||||
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* Get Primary 1 (blue in default Metal Theme)
|
||||
* @return color
|
||||
|
@ -361,241 +324,22 @@ public class CompiereTheme extends MetalTheme
|
|||
}
|
||||
public FontUIResource getSubTextFont() {return _getSubTextFont();}
|
||||
|
||||
// Static property info
|
||||
|
||||
private static final String P_Primary1 = "#ColorPrimary1";
|
||||
private static final String P_Primary2 = "#ColorPrimary2";
|
||||
private static final String P_Primary3 = "#ColorPrimary3";
|
||||
private static final String P_Secondary1 = "#ColorSecondary1";
|
||||
private static final String P_Secondary2 = "#ColorSecondary2";
|
||||
private static final String P_Secondary3 = "#ColorSecondary3";
|
||||
private static final String P_Black = "#ColorBlack";
|
||||
private static final String P_White = "#ColorWhite";
|
||||
private static final String P_Error = "#ColorError";
|
||||
private static final String P_Info = "#ColorInfo";
|
||||
private static final String P_Mandatory = "#ColorMandatory";
|
||||
private static final String P_Inactive = "#ColorInactive";
|
||||
private static final String P_Txt_OK = "#ColorTextOK";
|
||||
private static final String P_Txt_Error = "#ColorTextError";
|
||||
//
|
||||
private static final String P_Control = "#FontControl";
|
||||
private static final String P_System = "#FontSystem";
|
||||
private static final String P_User = "#FontUser";
|
||||
private static final String P_Small = "#FontSmall";
|
||||
private static final String P_Window = "#FontWindow";
|
||||
private static final String P_Menu = "#FontMenu";
|
||||
/** Background Color */
|
||||
protected static final String P_AdempiereColor = "#AdempiereColor";
|
||||
|
||||
/**
|
||||
* Save information in Properties
|
||||
*/
|
||||
public static void save ()
|
||||
{
|
||||
log.config(AdempiereColor.getDefaultBackground().toString());
|
||||
//
|
||||
Ini.setProperty(P_Primary1, getColorAsString(primary1));
|
||||
Ini.setProperty(P_Primary2, getColorAsString(primary2));
|
||||
Ini.setProperty(P_Primary3, getColorAsString(primary3));
|
||||
Ini.setProperty(P_Secondary1, getColorAsString(secondary1));
|
||||
Ini.setProperty(P_Secondary2, getColorAsString(secondary2));
|
||||
Ini.setProperty(P_Secondary3, getColorAsString(secondary3));
|
||||
Ini.setProperty(P_Error, getColorAsString(error));
|
||||
Ini.setProperty(P_Info, getColorAsString(info));
|
||||
Ini.setProperty(P_Mandatory, getColorAsString(mandatory));
|
||||
Ini.setProperty(P_Inactive, getColorAsString(inactive));
|
||||
Ini.setProperty(P_White, getColorAsString(white));
|
||||
Ini.setProperty(P_Black, getColorAsString(black));
|
||||
Ini.setProperty(P_Txt_OK, getColorAsString(txt_ok));
|
||||
Ini.setProperty(P_Txt_Error, getColorAsString(txt_error));
|
||||
//
|
||||
Ini.setProperty(P_Control, ((Font)controlFont).toString());
|
||||
Ini.setProperty(P_System, ((Font)systemFont).toString());
|
||||
Ini.setProperty(P_User, ((Font)userFont).toString());
|
||||
Ini.setProperty(P_Small, ((Font)smallFont).toString());
|
||||
Ini.setProperty(P_Window, ((Font)windowFont).toString());
|
||||
Ini.setProperty(P_Menu, ((Font)menuFont).toString());
|
||||
//
|
||||
AdempiereColor cc = AdempiereColor.getDefaultBackground();
|
||||
Ini.setProperty(P_AdempiereColor, cc.toString());
|
||||
} // save
|
||||
|
||||
|
||||
/**
|
||||
* Parses Color into String representation.
|
||||
* Required as SystemColors and Alpha Colors have different formats
|
||||
* @param c Color
|
||||
* @return [r=102,g=102,b=153,a=255]
|
||||
* @see #parseColor
|
||||
*/
|
||||
public static String getColorAsString (Color c)
|
||||
{
|
||||
if (c == null)
|
||||
c = SystemColor.control;
|
||||
StringBuffer sb = new StringBuffer("[r=").append(c.getRed())
|
||||
.append(",g=").append(c.getGreen())
|
||||
.append(",b=").append(c.getBlue())
|
||||
.append(",a=").append(c.getAlpha())
|
||||
.append("]");
|
||||
// System.out.println(sb.toString());
|
||||
return sb.toString();
|
||||
} // getColorAsString
|
||||
|
||||
/**
|
||||
* Load Properties from Ini
|
||||
*/
|
||||
public static void load ()
|
||||
{
|
||||
primary1 = parseColor (Ini.getProperty(P_Primary1), primary1);
|
||||
primary2 = parseColor (Ini.getProperty(P_Primary2), primary2);
|
||||
primary3 = parseColor (Ini.getProperty(P_Primary3), primary3);
|
||||
secondary1 = parseColor (Ini.getProperty(P_Secondary1), secondary1);
|
||||
secondary2 = parseColor (Ini.getProperty(P_Secondary2), secondary2);
|
||||
secondary3 = parseColor (Ini.getProperty(P_Secondary3), secondary3);
|
||||
error = parseColor(Ini.getProperty(P_Error), error);
|
||||
info = parseColor(Ini.getProperty(P_Info), info);
|
||||
mandatory = parseColor(Ini.getProperty(P_Mandatory), mandatory);
|
||||
inactive = parseColor(Ini.getProperty(P_Inactive), inactive);
|
||||
white = parseColor(Ini.getProperty(P_White), white);
|
||||
black = parseColor(Ini.getProperty(P_Black), black);
|
||||
txt_ok = parseColor(Ini.getProperty(P_Txt_OK), txt_ok);
|
||||
txt_error = parseColor(Ini.getProperty(P_Txt_Error), txt_error);
|
||||
//
|
||||
controlFont = parseFont(Ini.getProperty(P_Control), controlFont);
|
||||
systemFont = parseFont(Ini.getProperty(P_System), systemFont);
|
||||
userFont = parseFont(Ini.getProperty(P_User), userFont);
|
||||
smallFont = parseFont(Ini.getProperty(P_Small), smallFont);
|
||||
windowFont = parseFont(Ini.getProperty(P_Window), windowFont);
|
||||
menuFont = parseFont(Ini.getProperty(P_Menu), menuFont);
|
||||
//
|
||||
AdempiereColor cc = AdempiereColor.parse(Ini.getProperty(P_AdempiereColor));
|
||||
AdempiereColor.setDefaultBackground(cc);
|
||||
} // load
|
||||
|
||||
/**
|
||||
* Reset Info in Properties
|
||||
*/
|
||||
public static void reset ()
|
||||
{
|
||||
/**
|
||||
Ini.remove (P_Primary1);
|
||||
Ini.remove (P_Primary2);
|
||||
Ini.remove (P_Primary3);
|
||||
Ini.remove (P_Secondary1);
|
||||
Ini.remove (P_Secondary2);
|
||||
Ini.remove (P_Secondary3);
|
||||
Ini.remove (P_Error);
|
||||
Ini.remove (P_Info);
|
||||
Ini.remove (P_Mandatory);
|
||||
Ini.remove (P_Inactive);
|
||||
Ini.remove (P_White);
|
||||
Ini.remove (P_Black);
|
||||
Ini.remove (P_Txt_OK);
|
||||
Ini.remove (P_Txt_Error);
|
||||
//
|
||||
Ini.remove (P_Control);
|
||||
Ini.remove (P_System);
|
||||
Ini.remove (P_User);
|
||||
Ini.remove (P_Small);
|
||||
Ini.remove (P_Window);
|
||||
Ini.remove (P_Menu);
|
||||
// AdempiereColor
|
||||
Ini.remove(P_AdempiereColor);
|
||||
**/
|
||||
// Initialize
|
||||
Ini.setProperty(Ini.P_UI_LOOK, CompiereLookAndFeel.NAME);
|
||||
Ini.setProperty(Ini.P_UI_THEME, s_name);
|
||||
//
|
||||
if (s_theme != null)
|
||||
s_theme.setDefault();
|
||||
|
||||
// Background
|
||||
// AdempiereColor cc = new AdempiereColor(SystemColor.control); // flat Windows 212-208-200
|
||||
// AdempiereColor cc = new AdempiereColor(secondary3); // flat Metal 204-204-204
|
||||
AdempiereColor cc = new AdempiereColor(secondary3, false);
|
||||
AdempiereColor.setDefaultBackground (cc);
|
||||
//
|
||||
save(); // save properties
|
||||
} // reset
|
||||
|
||||
/**
|
||||
* Parse Color.
|
||||
* <p>
|
||||
* Color - [r=102,g=102,b=153,a=0]
|
||||
*
|
||||
* @param information string information to be parsed
|
||||
* @param stdColor color used if info cannot parsed
|
||||
* @return color
|
||||
* @see #getColorAsString
|
||||
*/
|
||||
protected static ColorUIResource parseColor (String information, ColorUIResource stdColor)
|
||||
{
|
||||
if (information == null
|
||||
|| information.length() == 0
|
||||
|| information.trim().length() == 0)
|
||||
return stdColor;
|
||||
// System.out.print("ParseColor=" + info);
|
||||
try
|
||||
@Override
|
||||
public void addCustomEntriesToTable(UIDefaults table) {
|
||||
super.addCustomEntriesToTable(table);
|
||||
Object[] defaults =
|
||||
{
|
||||
int r = Integer.parseInt(information.substring(information.indexOf("r=")+2, information.indexOf(",g=")));
|
||||
int g = Integer.parseInt(information.substring(information.indexOf("g=")+2, information.indexOf(",b=")));
|
||||
int b = 0;
|
||||
int a = 255;
|
||||
if (information.indexOf("a=") == -1)
|
||||
b = Integer.parseInt(information.substring(information.indexOf("b=")+2, information.indexOf("]")));
|
||||
else
|
||||
{
|
||||
b = Integer.parseInt(information.substring(information.indexOf("b=")+2, information.indexOf(",a=")));
|
||||
a = Integer.parseInt(information.substring(information.indexOf("a=")+2, information.indexOf("]")));
|
||||
}
|
||||
ColorUIResource retValue = new ColorUIResource(new Color(r, g, b, a));
|
||||
// System.out.println(" - " + retValue.toString());
|
||||
return retValue;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.config(information + " - cannot parse: " + e.toString());
|
||||
}
|
||||
return stdColor;
|
||||
} // parseColor
|
||||
|
||||
/**
|
||||
* Parse Font
|
||||
* <p>
|
||||
* javax.swing.plaf.FontUIResource[family=dialog.bold,name=Dialog,style=bold,size=12]
|
||||
*
|
||||
* @param information string information to be parsed
|
||||
* @param stdFont font used if info cannot be parsed
|
||||
* @return font
|
||||
*/
|
||||
private static FontUIResource parseFont(String information, FontUIResource stdFont)
|
||||
{
|
||||
if (information == null
|
||||
|| information.length() == 0
|
||||
|| information.trim().length() == 0)
|
||||
return stdFont;
|
||||
// System.out.print("ParseFont=" + info);
|
||||
try
|
||||
{
|
||||
String name = information.substring(information.indexOf("name=")+5, information.indexOf(",style="));
|
||||
String s = information.substring(information.indexOf("style=")+6, information.indexOf(",size="));
|
||||
int style = Font.PLAIN;
|
||||
if (s.equals("bold"))
|
||||
style = Font.BOLD;
|
||||
else if (s.equals("italic"))
|
||||
style = Font.ITALIC;
|
||||
else if (s.equals("bolditalic"))
|
||||
style = Font.BOLD | Font.ITALIC;
|
||||
int size = Integer.parseInt(information.substring(information.indexOf(",size=")+6, information.lastIndexOf("]")));
|
||||
FontUIResource retValue = new FontUIResource(name,style,size);
|
||||
// System.out.println(" - " + retValue.toString());
|
||||
return retValue;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.config(information + " - cannot parse: " + e.toString());
|
||||
}
|
||||
return stdFont;
|
||||
} // parseFont
|
||||
|
||||
ExtendedTheme.ERROR_BG_KEY,
|
||||
error,
|
||||
ExtendedTheme.ERROR_FG_KEY,
|
||||
txt_error,
|
||||
ExtendedTheme.INACTIVE_BG_KEY,
|
||||
inactive,
|
||||
ExtendedTheme.INFO_BG_KEY,
|
||||
info,
|
||||
ExtendedTheme.MANDATORY_BG_KEY,
|
||||
mandatory
|
||||
};
|
||||
table.putDefaults(defaults);
|
||||
}
|
||||
} // AdempiereTheme
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
package org.compiere.plaf;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
import javax.swing.UIDefaults;
|
||||
import javax.swing.plaf.*;
|
||||
|
||||
/**
|
||||
|
@ -96,5 +98,5 @@ public class CompiereThemeBlueMetal extends CompiereTheme
|
|||
menuFont = null;
|
||||
_getMenuTextFont();
|
||||
} // setDefault
|
||||
|
||||
|
||||
} // AdempiereThemeBlueMetal
|
||||
|
|
|
@ -25,6 +25,7 @@ import javax.swing.border.*;
|
|||
import javax.swing.plaf.*;
|
||||
import javax.swing.plaf.metal.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.swing.*;
|
||||
|
||||
/**
|
||||
|
@ -35,14 +36,14 @@ import org.compiere.swing.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereThemeEditor.java,v 1.3 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereThemeEditor extends CDialog
|
||||
public class CompiereThemeEditor extends CDialog
|
||||
implements ActionListener
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
* @param owner Frame owner
|
||||
*/
|
||||
public AdempiereThemeEditor (JDialog owner)
|
||||
public CompiereThemeEditor (JDialog owner)
|
||||
{
|
||||
super(owner, s_res.getString("AdempiereThemeEditor"), true);
|
||||
try
|
||||
|
@ -291,7 +292,7 @@ public class AdempiereThemeEditor extends CDialog
|
|||
// Confirm
|
||||
if (e.getSource() == bOK)
|
||||
{
|
||||
CompiereTheme.save();
|
||||
//CompiereTheme.save();
|
||||
dispose();
|
||||
return;
|
||||
}
|
|
@ -27,7 +27,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereToggleButtonUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereToggleButtonUI extends MetalToggleButtonUI
|
||||
public class CompiereToggleButtonUI extends MetalToggleButtonUI
|
||||
{
|
||||
/**
|
||||
* Static Create UI
|
||||
|
@ -40,7 +40,7 @@ public class AdempiereToggleButtonUI extends MetalToggleButtonUI
|
|||
} // createUI
|
||||
|
||||
/** UI shared */
|
||||
private static AdempiereToggleButtonUI s_toggleButtonUI = new AdempiereToggleButtonUI();
|
||||
private static CompiereToggleButtonUI s_toggleButtonUI = new CompiereToggleButtonUI();
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -72,7 +72,7 @@ public class AdempiereToggleButtonUI extends MetalToggleButtonUI
|
|||
{
|
||||
if (c.isOpaque()) // flat background
|
||||
// AdempiereColor.getDefaultBackground().paint(g, c);
|
||||
AdempiereUtils.fillRectange((Graphics2D)g, c, CompiereLookAndFeel.ROUND);
|
||||
CompiereUtils.fillRectange((Graphics2D)g, c, CompiereLookAndFeel.ROUND);
|
||||
paint (g, c);
|
||||
} // update
|
||||
|
||||
|
@ -88,7 +88,7 @@ public class AdempiereToggleButtonUI extends MetalToggleButtonUI
|
|||
ButtonModel model = b.getModel();
|
||||
boolean in = model.isPressed() || model.isSelected();
|
||||
//
|
||||
AdempiereUtils.paint3Deffect((Graphics2D)g, c, CompiereLookAndFeel.ROUND, !in);
|
||||
CompiereUtils.paint3Deffect((Graphics2D)g, c, CompiereLookAndFeel.ROUND, !in);
|
||||
} // paint
|
||||
|
||||
/**
|
|
@ -26,7 +26,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereToolBarUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereToolBarUI extends MetalToolBarUI
|
||||
public class CompiereToolBarUI extends MetalToolBarUI
|
||||
{
|
||||
/**
|
||||
* Create UI (own instance)
|
||||
|
@ -35,7 +35,7 @@ public class AdempiereToolBarUI extends MetalToolBarUI
|
|||
*/
|
||||
public static ComponentUI createUI (JComponent c)
|
||||
{
|
||||
return new AdempiereToolBarUI();
|
||||
return new CompiereToolBarUI();
|
||||
} // createUI
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ import javax.swing.plaf.metal.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereToolTipUI.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereToolTipUI extends MetalToolTipUI
|
||||
public class CompiereToolTipUI extends MetalToolTipUI
|
||||
{
|
||||
|
||||
public static ComponentUI createUI(JComponent c)
|
||||
|
@ -37,7 +37,7 @@ public class AdempiereToolTipUI extends MetalToolTipUI
|
|||
return sharedInstance;
|
||||
}
|
||||
|
||||
static AdempiereToolTipUI sharedInstance = new AdempiereToolTipUI();
|
||||
static CompiereToolTipUI sharedInstance = new CompiereToolTipUI();
|
||||
|
||||
private JToolTip tip;
|
||||
|
|
@ -23,6 +23,9 @@ import java.io.*;
|
|||
import java.net.*;
|
||||
import java.util.logging.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
|
||||
import com.sun.image.codec.jpeg.*;
|
||||
|
||||
/**
|
||||
|
@ -31,11 +34,11 @@ import com.sun.image.codec.jpeg.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereUtils.java,v 1.2 2006/07/30 00:52:23 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereUtils
|
||||
public class CompiereUtils
|
||||
{
|
||||
|
||||
/** Logger */
|
||||
private static Logger log = Logger.getLogger(AdempiereUtils.class.getName());
|
||||
private static Logger log = Logger.getLogger(CompiereUtils.class.getName());
|
||||
|
||||
/**
|
||||
* Fill Background with Color.
|
||||
|
@ -48,18 +51,18 @@ public class AdempiereUtils
|
|||
public static void fillRectange(Graphics2D g2D, JComponent c, boolean round)
|
||||
{
|
||||
// Paint in AdempiereColor?
|
||||
AdempiereColor cc = null;
|
||||
boolean stdCC = c.getClientProperty(AdempierePLAF.BACKGROUND_FILL) != null;
|
||||
CompiereColor cc = null;
|
||||
boolean stdCC = c.getClientProperty(CompiereLookAndFeel.BACKGROUND_FILL) != null;
|
||||
try
|
||||
{
|
||||
cc = (AdempiereColor)c.getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
cc = (CompiereColor)c.getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
stdCC = true;
|
||||
}
|
||||
if (stdCC)
|
||||
cc = AdempiereColor.getDefaultBackground();
|
||||
cc = CompiereColor.getDefaultBackground();
|
||||
|
||||
// Paint AdempiereColor
|
||||
if (cc != null)
|
||||
|
@ -455,7 +458,7 @@ public class AdempiereUtils
|
|||
c.setName("C" + String.valueOf(s_no++));
|
||||
System.out.print(c.getName());
|
||||
System.out.print(" - " + c.getClass().getName());
|
||||
System.out.println (" ** " + c.isOpaque() + " bg=" + (c.getClientProperty(AdempierePLAF.BACKGROUND) != null));
|
||||
System.out.println (" ** " + c.isOpaque() + " bg=" + (c.getClientProperty(CompiereLookAndFeel.BACKGROUND) != null));
|
||||
//
|
||||
Container container = c.getParent();
|
||||
while (container != null)
|
||||
|
@ -463,7 +466,7 @@ public class AdempiereUtils
|
|||
System.out.print (" - " + container.getName() + " " + container.getClass().getName()
|
||||
+ " ** " + container.isOpaque());
|
||||
if (container instanceof JComponent)
|
||||
System.out.print (" bg=" + (((JComponent)container).getClientProperty(AdempierePLAF.BACKGROUND) != null));
|
||||
System.out.print (" bg=" + (((JComponent)container).getClientProperty(CompiereLookAndFeel.BACKGROUND) != null));
|
||||
System.out.println ();
|
||||
container = container.getParent();
|
||||
}
|
|
@ -27,7 +27,7 @@ import javax.swing.plaf.basic.BasicViewportUI;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereViewportUI.java,v 1.2 2006/07/30 00:52:23 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereViewportUI extends BasicViewportUI
|
||||
public class CompiereViewportUI extends BasicViewportUI
|
||||
{
|
||||
/** Shared UI object */
|
||||
private static ViewportUI viewportUI;
|
||||
|
@ -40,7 +40,7 @@ public class AdempiereViewportUI extends BasicViewportUI
|
|||
public static ComponentUI createUI (JComponent c)
|
||||
{
|
||||
if (viewportUI == null)
|
||||
viewportUI = new AdempiereViewportUI();
|
||||
viewportUI = new CompiereViewportUI();
|
||||
return viewportUI;
|
||||
} // createUI
|
||||
|
|
@ -117,7 +117,9 @@ public class PlafRes extends ListResourceBundle
|
|||
{ "LineBackColor", "Background Color" },
|
||||
{ "LineWidth", "Line Width" },
|
||||
{ "LineDistance", "Line Distance" },
|
||||
{ "FlatColor", "Flat Color" }
|
||||
{ "FlatColor", "Flat Color" },
|
||||
{ "UITheme", "User Interface Theme" },
|
||||
{ "Preview", "Preview" }
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,6 +18,8 @@ package org.compiere.swing;
|
|||
|
||||
import java.awt.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.*;
|
||||
import org.compiere.util.*;
|
||||
|
||||
|
@ -68,8 +70,6 @@ public class CButton extends JButton implements CEditor
|
|||
public CButton (Action a)
|
||||
{
|
||||
super (a);
|
||||
setContentAreaFilled(false);
|
||||
setOpaque(false);
|
||||
} // CButton
|
||||
|
||||
/**
|
||||
|
@ -81,11 +81,6 @@ public class CButton extends JButton implements CEditor
|
|||
public CButton(String text, Icon icon)
|
||||
{
|
||||
super (text, icon);
|
||||
setContentAreaFilled(false);
|
||||
setOpaque(false);
|
||||
//
|
||||
setFont(AdempierePLAF.getFont_Label());
|
||||
setForeground(AdempierePLAF.getTextColor_Label());
|
||||
} // CButton
|
||||
|
||||
|
||||
|
@ -99,12 +94,7 @@ public class CButton extends JButton implements CEditor
|
|||
if (bg.equals(getBackground()))
|
||||
return;
|
||||
super.setBackground (bg);
|
||||
// ignore calls from javax.swing.LookAndFeel.installColors(LookAndFeel.java:61)
|
||||
if (!Trace.getCallerClass(1).startsWith("javax"))
|
||||
{
|
||||
setOpaque(true);
|
||||
setContentAreaFilled(true);
|
||||
}
|
||||
setBackgroundColor(new CompiereColor(bg));
|
||||
this.repaint();
|
||||
} // setBackground
|
||||
|
||||
|
@ -128,12 +118,11 @@ public class CButton extends JButton implements CEditor
|
|||
* Set Background
|
||||
* @param bg AdempiereColor for Background, if null set standard background
|
||||
*/
|
||||
public void setBackgroundColor (AdempiereColor bg)
|
||||
public void setBackgroundColor (CompiereColor bg)
|
||||
{
|
||||
if (bg == null)
|
||||
bg = AdempiereColor.getDefaultBackground();
|
||||
setOpaque(true);
|
||||
putClientProperty(AdempierePLAF.BACKGROUND, bg);
|
||||
bg = new CompiereColor(AdempierePLAF.getFormBackground());
|
||||
putClientProperty(CompiereLookAndFeel.BACKGROUND, bg);
|
||||
super.setBackground (bg.getFlatColor());
|
||||
this.repaint();
|
||||
} // setBackground
|
||||
|
@ -142,11 +131,11 @@ public class CButton extends JButton implements CEditor
|
|||
* Get Background
|
||||
* @return Color for Background
|
||||
*/
|
||||
public AdempiereColor getBackgroundColor ()
|
||||
public CompiereColor getBackgroundColor ()
|
||||
{
|
||||
try
|
||||
{
|
||||
return (AdempiereColor)getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
return (CompiereColor)getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@ import javax.swing.Action;
|
|||
import javax.swing.Icon;
|
||||
import javax.swing.JCheckBox;
|
||||
|
||||
import org.compiere.plaf.AdempierePLAF;
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
|
||||
/**
|
||||
* Adempiere CheckBox
|
||||
|
@ -135,8 +135,8 @@ public class CCheckBox extends JCheckBox implements CEditor
|
|||
*/
|
||||
private void init()
|
||||
{
|
||||
setFont(AdempierePLAF.getFont_Label());
|
||||
setForeground(AdempierePLAF.getTextColor_Label());
|
||||
//Default to transparent, works better under windows look and feel
|
||||
setOpaque(false);
|
||||
} // init
|
||||
|
||||
/*************************************************************************/
|
||||
|
|
|
@ -21,6 +21,8 @@ import java.awt.event.*;
|
|||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.*;
|
||||
import org.compiere.util.*;
|
||||
|
||||
|
@ -132,10 +134,6 @@ public class CComboBox extends JComboBox
|
|||
*/
|
||||
private void init()
|
||||
{
|
||||
// overwrite - otherwise Label Font
|
||||
setFont(AdempierePLAF.getFont_Field());
|
||||
setForeground(AdempierePLAF.getTextColor_Normal());
|
||||
setBackground(false);
|
||||
FIELD_HIGHT = getPreferredSize().height;
|
||||
} // init
|
||||
|
||||
|
@ -151,8 +149,8 @@ public class CComboBox extends JComboBox
|
|||
*/
|
||||
public void setIcon (Icon defaultIcon)
|
||||
{
|
||||
if (getUI() instanceof AdempiereComboBoxUI)
|
||||
((AdempiereComboBoxUI)getUI()).setIcon(defaultIcon);
|
||||
if (getUI() instanceof CompiereComboBoxUI)
|
||||
((CompiereComboBoxUI)getUI()).setIcon(defaultIcon);
|
||||
m_icon = defaultIcon;
|
||||
} // setIcon
|
||||
|
||||
|
@ -163,8 +161,8 @@ public class CComboBox extends JComboBox
|
|||
public void setUI (ComboBoxUI ui)
|
||||
{
|
||||
super.setUI(ui);
|
||||
if (m_icon != null && ui instanceof AdempiereComboBoxUI)
|
||||
((AdempiereComboBoxUI)getUI()).setIcon(m_icon);
|
||||
if (m_icon != null && ui instanceof CompiereComboBoxUI)
|
||||
((CompiereComboBoxUI)getUI()).setIcon(m_icon);
|
||||
} // setUI
|
||||
|
||||
/**
|
||||
|
@ -283,16 +281,16 @@ public class CComboBox extends JComboBox
|
|||
* Add Mouse Listener - 1-4-0 Bug.
|
||||
* Bug in 1.4.0 Metal: arrowButton gets Mouse Events, so add the JComboBox
|
||||
* MouseListeners to the arrowButton - No context menu if right-click
|
||||
* @see AdempiereComboBoxUI#installUI(JComponent)
|
||||
* @see CompiereComboBoxUI#installUI(JComponent)
|
||||
* @param ml
|
||||
*/
|
||||
public void addMouseListener (MouseListener ml)
|
||||
{
|
||||
super.addMouseListener(ml);
|
||||
// ignore calls from javax.swing.plaf.basic.BasicComboBoxUI.installListeners(BasicComboBoxUI.java:271)
|
||||
if (getUI() instanceof AdempiereComboBoxUI && !Trace.getCallerClass(1).startsWith("javax"))
|
||||
if (getUI() instanceof CompiereComboBoxUI && !Trace.getCallerClass(1).startsWith("javax"))
|
||||
{
|
||||
JButton b = ((AdempiereComboBoxUI)getUI()).getArrowButton();
|
||||
JButton b = ((CompiereComboBoxUI)getUI()).getArrowButton();
|
||||
if (b != null)
|
||||
b.addMouseListener(ml);
|
||||
}
|
||||
|
@ -313,9 +311,9 @@ public class CComboBox extends JComboBox
|
|||
public void removeMouseListener (MouseListener ml)
|
||||
{
|
||||
super.removeMouseListener(ml);
|
||||
if (getUI() instanceof AdempiereComboBoxUI)
|
||||
if (getUI() instanceof CompiereComboBoxUI)
|
||||
{
|
||||
JButton b = ((AdempiereComboBoxUI)getUI()).getArrowButton();
|
||||
JButton b = ((CompiereComboBoxUI)getUI()).getArrowButton();
|
||||
if (b != null)
|
||||
b.removeMouseListener(ml);
|
||||
}
|
||||
|
|
|
@ -152,7 +152,6 @@ public class CDialog extends JDialog
|
|||
protected void dialogInit()
|
||||
{
|
||||
super.dialogInit();
|
||||
AdempiereColor.setBackground(this);
|
||||
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
||||
setTitle(getTitle()); // remove Mn
|
||||
//
|
||||
|
|
|
@ -35,7 +35,7 @@ import javax.swing.JOptionPane;
|
|||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.plaf.TextUI;
|
||||
|
||||
import org.compiere.plaf.AdempierePLAF;
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
|
||||
/**
|
||||
* Adempiere Colored Field with external popup editor.
|
||||
|
|
|
@ -76,7 +76,6 @@ public class CFrame extends JFrame
|
|||
protected void frameInit ()
|
||||
{
|
||||
super.frameInit ();
|
||||
AdempiereColor.setBackground(this);
|
||||
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
//
|
||||
Container c = getContentPane();
|
||||
|
|
|
@ -174,9 +174,6 @@ public class CLabel extends JLabel
|
|||
setOpaque(false);
|
||||
if (getToolTipText() == null) // force Tool Tip
|
||||
setToolTipText(getText());
|
||||
//
|
||||
setForeground(AdempierePLAF.getTextColor_Label());
|
||||
setFont(AdempierePLAF.getFont_Label());
|
||||
} // init
|
||||
|
||||
|
||||
|
|
|
@ -18,6 +18,8 @@ package org.compiere.swing;
|
|||
|
||||
import java.awt.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.*;
|
||||
import org.compiere.util.*;
|
||||
|
||||
|
@ -79,7 +81,7 @@ public class CPanel extends JPanel
|
|||
* Creates a new <code>CPanel</code> with a double buffer and a flow layout.
|
||||
* @param bc Initial Background Color
|
||||
*/
|
||||
public CPanel(AdempiereColor bc)
|
||||
public CPanel(CompiereColor bc)
|
||||
{
|
||||
this ();
|
||||
init();
|
||||
|
@ -107,20 +109,20 @@ public class CPanel extends JPanel
|
|||
return;
|
||||
super.setBackground (bg);
|
||||
// ignore calls from javax.swing.LookAndFeel.installColors(LookAndFeel.java:61)
|
||||
if (!Trace.getCallerClass(1).startsWith("javax"))
|
||||
setBackgroundColor (new AdempiereColor(bg));
|
||||
//if (!Trace.getCallerClass(1).startsWith("javax"))
|
||||
setBackgroundColor (new CompiereColor(bg));
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
* Set Background
|
||||
* @param bg AdempiereColor for Background, if null set standard background
|
||||
*/
|
||||
public void setBackgroundColor (AdempiereColor bg)
|
||||
public void setBackgroundColor (CompiereColor bg)
|
||||
{
|
||||
if (bg == null)
|
||||
bg = AdempierePanelUI.getDefaultBackground();
|
||||
bg = new CompiereColor(AdempierePLAF.getFormBackground());
|
||||
setOpaque(true); // not transparent
|
||||
putClientProperty(AdempierePLAF.BACKGROUND, bg);
|
||||
putClientProperty(CompiereLookAndFeel.BACKGROUND, bg);
|
||||
super.setBackground (bg.getFlatColor());
|
||||
} // setBackground
|
||||
|
||||
|
@ -128,11 +130,11 @@ public class CPanel extends JPanel
|
|||
* Get Background
|
||||
* @return Color for Background
|
||||
*/
|
||||
public AdempiereColor getBackgroundColor ()
|
||||
public CompiereColor getBackgroundColor ()
|
||||
{
|
||||
try
|
||||
{
|
||||
return (AdempiereColor)getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
return (CompiereColor)getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -152,9 +154,9 @@ public class CPanel extends JPanel
|
|||
public void setTabLevel (int level)
|
||||
{
|
||||
if (level == 0)
|
||||
putClientProperty(AdempierePLAF.TABLEVEL, null);
|
||||
putClientProperty(CompiereLookAndFeel.TABLEVEL, null);
|
||||
else
|
||||
putClientProperty(AdempierePLAF.TABLEVEL, new Integer(level));
|
||||
putClientProperty(CompiereLookAndFeel.TABLEVEL, new Integer(level));
|
||||
} // setTabLevel
|
||||
|
||||
/**
|
||||
|
@ -165,7 +167,7 @@ public class CPanel extends JPanel
|
|||
{
|
||||
try
|
||||
{
|
||||
Integer ll = (Integer)getClientProperty(AdempierePLAF.TABLEVEL);
|
||||
Integer ll = (Integer)getClientProperty(CompiereLookAndFeel.TABLEVEL);
|
||||
if (ll != null)
|
||||
return ll.intValue();
|
||||
}
|
||||
|
@ -185,7 +187,7 @@ public class CPanel extends JPanel
|
|||
{
|
||||
StringBuffer sb = new StringBuffer ("CPanel [");
|
||||
sb.append(super.toString());
|
||||
AdempiereColor bg = getBackgroundColor();
|
||||
CompiereColor bg = getBackgroundColor();
|
||||
if (bg != null)
|
||||
sb.append(bg.toString());
|
||||
sb.append("]");
|
||||
|
|
|
@ -21,7 +21,7 @@ import java.awt.Color;
|
|||
import javax.swing.JPasswordField;
|
||||
import javax.swing.text.Document;
|
||||
|
||||
import org.compiere.plaf.AdempierePLAF;
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
|
||||
/**
|
||||
* Password Field
|
||||
|
@ -107,8 +107,6 @@ public class CPassword extends JPasswordField implements CEditor
|
|||
*/
|
||||
private void init()
|
||||
{
|
||||
setFont(AdempierePLAF.getFont_Field());
|
||||
setForeground(AdempierePLAF.getTextColor_Normal());
|
||||
} // init
|
||||
|
||||
/*************************************************************************/
|
||||
|
|
|
@ -20,6 +20,7 @@ import java.awt.*;
|
|||
|
||||
import javax.swing.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.*;
|
||||
|
||||
/**
|
||||
|
@ -67,7 +68,6 @@ public class CScrollPane extends JScrollPane
|
|||
public CScrollPane (Component view, int vsbPolicy, int hsbPolicy)
|
||||
{
|
||||
super (view, vsbPolicy, hsbPolicy);
|
||||
setBackgroundColor(null);
|
||||
setOpaque(false);
|
||||
getViewport().setOpaque(false);
|
||||
} // CScollPane
|
||||
|
@ -77,15 +77,11 @@ public class CScrollPane extends JScrollPane
|
|||
* Set Background
|
||||
* @param bg AdempiereColor for Background, if null set standard background
|
||||
*/
|
||||
public void setBackgroundColor (AdempiereColor bg)
|
||||
public void setBackgroundColor (CompiereColor bg)
|
||||
{
|
||||
if (bg == null)
|
||||
bg = AdempierePanelUI.getDefaultBackground();
|
||||
putClientProperty(AdempierePLAF.BACKGROUND, bg);
|
||||
// super.setBackground(bg.getFlatColor());
|
||||
// getViewport().putClientProperty(AdempierePLAF.BACKGROUND, bg);
|
||||
// getViewport().setBackground(bg.getFlatColor());
|
||||
// getViewport().setOpaque(true);
|
||||
bg = new CompiereColor(AdempierePLAF.getFormBackground());
|
||||
putClientProperty(CompiereLookAndFeel.BACKGROUND, bg);
|
||||
} // setBackground
|
||||
|
||||
} // CScollPane
|
||||
|
|
|
@ -22,9 +22,10 @@ import java.util.*;
|
|||
|
||||
import javax.swing.*;
|
||||
|
||||
import org.compiere.plaf.AdempiereColor;
|
||||
import org.compiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.AdempierePanelUI;
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.CompiereColor;
|
||||
import org.compiere.plaf.CompiereLookAndFeel;
|
||||
import org.compiere.plaf.CompierePanelUI;
|
||||
import org.compiere.util.Trace;
|
||||
import sun.swing.*;
|
||||
|
||||
|
@ -84,7 +85,7 @@ public class CTabbedPane extends JTabbedPane
|
|||
* Creates an empty <code>TabbedPane</code> with a defaults and Color
|
||||
* @param bg Color
|
||||
*/
|
||||
public CTabbedPane (AdempiereColor bg)
|
||||
public CTabbedPane (CompiereColor bg)
|
||||
{
|
||||
super();
|
||||
init();
|
||||
|
@ -96,9 +97,6 @@ public class CTabbedPane extends JTabbedPane
|
|||
*/
|
||||
private void init()
|
||||
{
|
||||
setOpaque(false);
|
||||
setFont(AdempierePLAF.getFont_Label());
|
||||
setForeground(AdempierePLAF.getTextColor_Label());
|
||||
} // init
|
||||
|
||||
|
||||
|
@ -111,9 +109,7 @@ public class CTabbedPane extends JTabbedPane
|
|||
if (bg.equals(getBackground()))
|
||||
return;
|
||||
super.setBackground (bg);
|
||||
// ignore calls from javax.swing.LookAndFeel.installColors(LookAndFeel.java:61)
|
||||
if (!Trace.getCallerClass(1).startsWith("javax"))
|
||||
setBackgroundColor (new AdempiereColor(bg));
|
||||
setBackgroundColor (new CompiereColor(bg));
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
|
@ -128,12 +124,11 @@ public class CTabbedPane extends JTabbedPane
|
|||
* Set Background
|
||||
* @param bg AdempiereColor for Background, if null set standard background
|
||||
*/
|
||||
public void setBackgroundColor (AdempiereColor bg)
|
||||
public void setBackgroundColor (CompiereColor bg)
|
||||
{
|
||||
if (bg == null)
|
||||
bg = AdempierePanelUI.getDefaultBackground();
|
||||
setOpaque(true);
|
||||
putClientProperty(AdempierePLAF.BACKGROUND, bg);
|
||||
bg = new CompiereColor(AdempierePLAF.getFormBackground());
|
||||
putClientProperty(CompiereLookAndFeel.BACKGROUND, bg);
|
||||
super.setBackground (bg.getFlatColor());
|
||||
//
|
||||
repaint();
|
||||
|
@ -143,11 +138,11 @@ public class CTabbedPane extends JTabbedPane
|
|||
* Get Background
|
||||
* @return Color for Background
|
||||
*/
|
||||
public AdempiereColor getBackgroundColor ()
|
||||
public CompiereColor getBackgroundColor ()
|
||||
{
|
||||
try
|
||||
{
|
||||
return (AdempiereColor)getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
return (CompiereColor)getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -195,10 +190,10 @@ public class CTabbedPane extends JTabbedPane
|
|||
if (component instanceof JPanel)
|
||||
{
|
||||
JPanel p = (JPanel)component;
|
||||
if (p.getClientProperty(AdempierePLAF.BACKGROUND) == null)
|
||||
if (p.getClientProperty(CompiereLookAndFeel.BACKGROUND) == null)
|
||||
{
|
||||
AdempiereColor.setBackground(p);
|
||||
p.setOpaque(true);
|
||||
//AdempiereColor.setBackground(p);
|
||||
//p.setOpaque(true);
|
||||
}
|
||||
}
|
||||
// Set first
|
||||
|
@ -328,7 +323,7 @@ public class CTabbedPane extends JTabbedPane
|
|||
{
|
||||
StringBuffer sb = new StringBuffer ("CTabbedPane [");
|
||||
sb.append(super.toString());
|
||||
AdempiereColor bg = getBackgroundColor();
|
||||
CompiereColor bg = getBackgroundColor();
|
||||
if (bg != null)
|
||||
sb.append(bg.toString());
|
||||
sb.append("]");
|
||||
|
|
|
@ -45,6 +45,8 @@ public class CTable extends JTable
|
|||
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
|
||||
getTableHeader().addMouseListener(new CTableMouseListener());
|
||||
setSurrendersFocusOnKeystroke(true);
|
||||
//Default row height too narrow
|
||||
setRowHeight(getFont().getSize() + 8);
|
||||
} // CTable
|
||||
|
||||
/** Last model index sorted */
|
||||
|
@ -301,4 +303,12 @@ public class CTable extends JTable
|
|||
}
|
||||
} // CTableMouseListener
|
||||
|
||||
|
||||
@Override
|
||||
public void setFont(Font font) {
|
||||
super.setFont(font);
|
||||
//Update row height
|
||||
setRowHeight(getFont().getSize() + 8);
|
||||
}
|
||||
|
||||
} // CTable
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.awt.im.*;
|
|||
import javax.swing.*;
|
||||
import javax.swing.text.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.*;
|
||||
|
||||
/**
|
||||
|
@ -125,8 +126,6 @@ public class CTextArea extends JScrollPane
|
|||
m_textArea = textArea;
|
||||
super.setOpaque(false);
|
||||
super.getViewport().setOpaque(false);
|
||||
m_textArea.setFont(AdempierePLAF.getFont_Field());
|
||||
m_textArea.setForeground(AdempierePLAF.getTextColor_Normal());
|
||||
m_textArea.setLineWrap(true);
|
||||
m_textArea.setWrapStyleWord(true);
|
||||
// Overwrite default Tab
|
||||
|
|
|
@ -22,6 +22,7 @@ import java.awt.event.*;
|
|||
import javax.swing.*;
|
||||
import javax.swing.text.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.*;
|
||||
|
||||
/**
|
||||
|
@ -117,8 +118,6 @@ public class CTextField extends JTextField
|
|||
*/
|
||||
private void init()
|
||||
{
|
||||
setFont(AdempierePLAF.getFont_Field());
|
||||
setForeground(AdempierePLAF.getTextColor_Normal());
|
||||
setBackground (false);
|
||||
// Minimum Size
|
||||
Dimension size = getPreferredSize();
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.awt.im.*;
|
|||
import javax.swing.*;
|
||||
import javax.swing.text.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.*;
|
||||
|
||||
/**
|
||||
|
@ -63,8 +64,6 @@ public class CTextPane extends JScrollPane
|
|||
super.setOpaque(false);
|
||||
super.getViewport().setOpaque(false);
|
||||
m_textPane.setContentType("text/html");
|
||||
m_textPane.setFont(AdempierePLAF.getFont_Field());
|
||||
m_textPane.setForeground(AdempierePLAF.getTextColor_Normal());
|
||||
} // CTextPane
|
||||
|
||||
private JTextPane m_textPane = null;
|
||||
|
|
|
@ -22,8 +22,9 @@ import javax.swing.Action;
|
|||
import javax.swing.Icon;
|
||||
import javax.swing.JToggleButton;
|
||||
|
||||
import org.compiere.plaf.AdempiereColor;
|
||||
import org.compiere.plaf.AdempierePLAF;
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.CompiereColor;
|
||||
import org.compiere.plaf.CompiereLookAndFeel;
|
||||
import org.compiere.util.Trace;
|
||||
|
||||
/**
|
||||
|
@ -125,11 +126,6 @@ public class CToggleButton extends JToggleButton implements CEditor
|
|||
public CToggleButton (String text, Icon icon, boolean selected)
|
||||
{
|
||||
super(text, icon, selected);
|
||||
setContentAreaFilled(false);
|
||||
setOpaque(false);
|
||||
//
|
||||
setFont(AdempierePLAF.getFont_Label());
|
||||
setForeground(AdempierePLAF.getTextColor_Label());
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -144,12 +140,6 @@ public class CToggleButton extends JToggleButton implements CEditor
|
|||
if (bg.equals(getBackground()))
|
||||
return;
|
||||
super.setBackground( bg);
|
||||
// ignore calls from javax.swing.LookAndFeel.installColors(LookAndFeel.java:61)
|
||||
if (!Trace.getCallerClass(1).startsWith("javax"))
|
||||
{
|
||||
setOpaque(true);
|
||||
setContentAreaFilled(true);
|
||||
}
|
||||
} // setBackground
|
||||
|
||||
/**
|
||||
|
@ -172,12 +162,12 @@ public class CToggleButton extends JToggleButton implements CEditor
|
|||
* Set Background
|
||||
* @param bg AdempiereColor for Background, if null set standard background
|
||||
*/
|
||||
public void setBackgroundColor (AdempiereColor bg)
|
||||
public void setBackgroundColor (CompiereColor bg)
|
||||
{
|
||||
if (bg == null)
|
||||
bg = AdempiereColor.getDefaultBackground();
|
||||
bg = new CompiereColor(AdempierePLAF.getFormBackground());
|
||||
setOpaque(true);
|
||||
putClientProperty(AdempierePLAF.BACKGROUND, bg);
|
||||
putClientProperty(CompiereLookAndFeel.BACKGROUND, bg);
|
||||
super.setBackground (bg.getFlatColor());
|
||||
} // setBackground
|
||||
|
||||
|
@ -185,11 +175,11 @@ public class CToggleButton extends JToggleButton implements CEditor
|
|||
* Get Background
|
||||
* @return Color for Background
|
||||
*/
|
||||
public AdempiereColor getBackgroundColor ()
|
||||
public CompiereColor getBackgroundColor ()
|
||||
{
|
||||
try
|
||||
{
|
||||
return (AdempiereColor)getClientProperty(AdempierePLAF.BACKGROUND);
|
||||
return (CompiereColor)getClientProperty(CompiereLookAndFeel.BACKGROUND);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.compiere.plaf;
|
||||
package org.compiere.swing;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.logging.*;
|
|
@ -14,13 +14,16 @@
|
|||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.compiere.plaf;
|
||||
package org.compiere.swing;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.beans.*;
|
||||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.plaf.CompiereColor;
|
||||
import org.compiere.swing.*;
|
||||
import org.compiere.util.*;
|
||||
|
||||
|
@ -30,7 +33,7 @@ import org.compiere.util.*;
|
|||
* @author Jorg Janke
|
||||
* @version $Id: AdempiereColorEditor.java,v 1.2 2006/07/30 00:52:24 jjanke Exp $
|
||||
*/
|
||||
public class AdempiereColorEditor extends CDialog
|
||||
public class ColorEditor extends CDialog
|
||||
implements ActionListener, PropertyEditor
|
||||
{
|
||||
/**
|
||||
|
@ -39,9 +42,9 @@ public class AdempiereColorEditor extends CDialog
|
|||
* @param color optional initial color
|
||||
* @return AdempiereColor
|
||||
*/
|
||||
public static AdempiereColor showDialog (Frame owner, AdempiereColor color)
|
||||
public static CompiereColor showDialog (Frame owner, CompiereColor color)
|
||||
{
|
||||
AdempiereColorEditor cce = new AdempiereColorEditor (owner, color);
|
||||
ColorEditor cce = new ColorEditor (owner, color);
|
||||
if (cce.isSaved())
|
||||
return cce.getColor();
|
||||
return color;
|
||||
|
@ -53,9 +56,9 @@ public class AdempiereColorEditor extends CDialog
|
|||
* @param color optional initial color
|
||||
* @return AdempiereColor
|
||||
*/
|
||||
public static AdempiereColor showDialog (Dialog owner, AdempiereColor color)
|
||||
public static CompiereColor showDialog (Dialog owner, CompiereColor color)
|
||||
{
|
||||
AdempiereColorEditor cce = new AdempiereColorEditor (owner, color);
|
||||
ColorEditor cce = new ColorEditor (owner, color);
|
||||
if (cce.isSaved())
|
||||
return cce.getColor();
|
||||
return color;
|
||||
|
@ -68,7 +71,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
* @param owner owner
|
||||
* @param color Start Color
|
||||
*/
|
||||
public AdempiereColorEditor (Frame owner, AdempiereColor color)
|
||||
public ColorEditor (Frame owner, CompiereColor color)
|
||||
{
|
||||
super(owner, "", true);
|
||||
init (color);
|
||||
|
@ -79,7 +82,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
* @param owner owner
|
||||
* @param color Start Color
|
||||
*/
|
||||
public AdempiereColorEditor (Dialog owner, AdempiereColor color)
|
||||
public ColorEditor (Dialog owner, CompiereColor color)
|
||||
{
|
||||
super(owner, "", true);
|
||||
init (color);
|
||||
|
@ -89,7 +92,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
* Init Dialog
|
||||
* @param color Start Color
|
||||
*/
|
||||
private void init (AdempiereColor color)
|
||||
private void init (CompiereColor color)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -119,13 +122,13 @@ public class AdempiereColorEditor extends CDialog
|
|||
if (color == null)
|
||||
setColor (m_cc);
|
||||
else
|
||||
setColor (new AdempiereColor(color));
|
||||
setColor (new CompiereColor(color));
|
||||
AdempierePLAF.showCenterScreen(this);
|
||||
} // init
|
||||
|
||||
|
||||
private static ResourceBundle res = ResourceBundle.getBundle("org.compiere.plaf.PlafRes");
|
||||
private AdempiereColor m_cc = null;
|
||||
private CompiereColor m_cc = null;
|
||||
private boolean m_saved = false;
|
||||
private boolean m_setting = false;
|
||||
|
||||
|
@ -137,7 +140,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
private FlowLayout southLayout = new FlowLayout();
|
||||
private GridBagLayout northLayout = new GridBagLayout();
|
||||
private CLabel typeLabel = new CLabel();
|
||||
private CComboBox typeField = new CComboBox(AdempiereColor.TYPES);
|
||||
private CComboBox typeField = new CComboBox(CompiereColor.TYPES);
|
||||
private CButton gradientUpper = new CButton();
|
||||
private CButton gradientLower = new CButton();
|
||||
private CLabel urlLabel = new CLabel();
|
||||
|
@ -153,7 +156,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
private CTextField distanceField = new CTextField(10);
|
||||
private CPanel centerPanel = new CPanel();
|
||||
private CButton flatField = new CButton();
|
||||
private CComboBox gradientStartField = new CComboBox(AdempiereColor.GRADIENT_SP);
|
||||
private CComboBox gradientStartField = new CComboBox(CompiereColor.GRADIENT_SP);
|
||||
private CTextField gradientDistanceField = new CTextField(10);
|
||||
private CLabel gradientStartLabel = new CLabel();
|
||||
private CLabel gradientDistanceLabel = new CLabel();
|
||||
|
@ -312,14 +315,14 @@ public class AdempiereColorEditor extends CDialog
|
|||
private void cmd_type()
|
||||
{
|
||||
ValueNamePair vp = (ValueNamePair)typeField.getSelectedItem();
|
||||
if (vp.getValue().equals(AdempiereColor.TYPE_FLAT))
|
||||
m_cc = new AdempiereColor(AdempiereColor.TYPE_FLAT);
|
||||
else if (vp.getValue().equals(AdempiereColor.TYPE_GRADIENT))
|
||||
m_cc = new AdempiereColor(AdempiereColor.TYPE_GRADIENT);
|
||||
else if (vp.getValue().equals(AdempiereColor.TYPE_TEXTURE))
|
||||
m_cc = new AdempiereColor(AdempiereColor.TYPE_TEXTURE);
|
||||
else if (vp.getValue().equals(AdempiereColor.TYPE_LINES))
|
||||
m_cc = new AdempiereColor(AdempiereColor.TYPE_LINES);
|
||||
if (vp.getValue().equals(CompiereColor.TYPE_FLAT))
|
||||
m_cc = new CompiereColor(CompiereColor.TYPE_FLAT);
|
||||
else if (vp.getValue().equals(CompiereColor.TYPE_GRADIENT))
|
||||
m_cc = new CompiereColor(CompiereColor.TYPE_GRADIENT);
|
||||
else if (vp.getValue().equals(CompiereColor.TYPE_TEXTURE))
|
||||
m_cc = new CompiereColor(CompiereColor.TYPE_TEXTURE);
|
||||
else if (vp.getValue().equals(CompiereColor.TYPE_LINES))
|
||||
m_cc = new CompiereColor(CompiereColor.TYPE_LINES);
|
||||
setColor (m_cc);
|
||||
} // cmd_type
|
||||
|
||||
|
@ -327,7 +330,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
* Set Color and update UI
|
||||
* @param color color
|
||||
*/
|
||||
public void setColor (AdempiereColor color)
|
||||
public void setColor (CompiereColor color)
|
||||
{
|
||||
if (color == null && m_cc != null)
|
||||
return;
|
||||
|
@ -335,7 +338,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
// System.out.println("AdempiereColorEditor.setColor " + color);
|
||||
m_cc = color;
|
||||
if (m_cc == null)
|
||||
m_cc = AdempierePanelUI.getDefaultBackground();
|
||||
m_cc = CompiereColor.getDefaultBackground();
|
||||
|
||||
// update display
|
||||
updateFields();
|
||||
|
@ -350,11 +353,11 @@ public class AdempiereColorEditor extends CDialog
|
|||
{
|
||||
m_setting = true;
|
||||
// Type
|
||||
for (int i = 0; i < AdempiereColor.TYPES.length; i++)
|
||||
for (int i = 0; i < CompiereColor.TYPES.length; i++)
|
||||
{
|
||||
if (m_cc.getType().equals(AdempiereColor.TYPE_VALUES[i]))
|
||||
if (m_cc.getType().equals(CompiereColor.TYPE_VALUES[i]))
|
||||
{
|
||||
typeField.setSelectedItem(AdempiereColor.TYPES[i]);
|
||||
typeField.setSelectedItem(CompiereColor.TYPES[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -406,11 +409,11 @@ public class AdempiereColorEditor extends CDialog
|
|||
gradientUpper.setBackground(m_cc.getGradientUpperColor());
|
||||
gradientLower.setBackground(m_cc.getGradientLowerColor());
|
||||
gradientDistanceField.setText(String.valueOf(m_cc.getGradientRepeatDistance()));
|
||||
for (int i = 0; i < AdempiereColor.GRADIENT_SP.length; i++)
|
||||
for (int i = 0; i < CompiereColor.GRADIENT_SP.length; i++)
|
||||
{
|
||||
if (m_cc.getGradientStartPoint() == AdempiereColor.GRADIENT_SP_VALUES[i])
|
||||
if (m_cc.getGradientStartPoint() == CompiereColor.GRADIENT_SP_VALUES[i])
|
||||
{
|
||||
gradientStartField.setSelectedItem(AdempiereColor.GRADIENT_SP[i]);
|
||||
gradientStartField.setSelectedItem(CompiereColor.GRADIENT_SP[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -473,7 +476,7 @@ public class AdempiereColorEditor extends CDialog
|
|||
* Get Color
|
||||
* @return Color, when saved - else null
|
||||
*/
|
||||
public AdempiereColor getColor()
|
||||
public CompiereColor getColor()
|
||||
{
|
||||
return m_cc;
|
||||
} // getColor
|
||||
|
@ -501,8 +504,8 @@ public class AdempiereColorEditor extends CDialog
|
|||
*/
|
||||
public void setValue(Object value)
|
||||
{
|
||||
if (value != null && value instanceof AdempiereColor)
|
||||
setColor (new AdempiereColor((AdempiereColor)value));
|
||||
if (value != null && value instanceof CompiereColor)
|
||||
setColor (new CompiereColor((CompiereColor)value));
|
||||
else
|
||||
throw new IllegalArgumentException("AdempiereColorEditor.setValue requires AdempiereColor");
|
||||
} // setValue
|
|
@ -0,0 +1,30 @@
|
|||
package org.compiere.swing;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.plaf.ColorUIResource;
|
||||
|
||||
public interface ExtendedTheme {
|
||||
|
||||
public ColorUIResource getWhite();
|
||||
public ColorUIResource getBlack();
|
||||
public ColorUIResource getErrorForeground();
|
||||
public ColorUIResource getErrorBackground();
|
||||
public ColorUIResource getInactiveBackground();
|
||||
public ColorUIResource getMandatoryBackground();
|
||||
public ColorUIResource getInfoBackground();
|
||||
|
||||
public final static ColorUIResource DEFAULT_MANDATORY_BG = new ColorUIResource(224, 224, 255); // blue-isch
|
||||
public final static ColorUIResource DEFAULT_ERROR_BG = new ColorUIResource(255, 204, 204); // red-isch
|
||||
public final static ColorUIResource DEFAULT_ERROR_FG = new ColorUIResource(204, 0, 0); // dark red
|
||||
public final static ColorUIResource DEFAULT_INACTIVE_BG = new ColorUIResource(234, 234, 234); // light gray
|
||||
public final static ColorUIResource DEFAULT_INFO_BG = new ColorUIResource(253, 237, 207); // light yellow
|
||||
|
||||
public void setUIProperties(Map propertyMap);
|
||||
|
||||
public final static String ERROR_BG_KEY = "TextField.errorBackground";
|
||||
public final static String ERROR_FG_KEY = "TextField.errorForeground";
|
||||
public final static String MANDATORY_BG_KEY = "TextField.mandatoryBackground";
|
||||
public final static String INACTIVE_BG_KEY = "TextField.inactiveBackground";
|
||||
public final static String INFO_BG_KEY = "Info.background";
|
||||
}
|
|
@ -14,12 +14,14 @@
|
|||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.compiere.plaf;
|
||||
package org.compiere.swing;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.swing.*;
|
||||
|
||||
/**
|
|
@ -0,0 +1,220 @@
|
|||
package org.compiere.swing;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.SystemColor;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.swing.plaf.ColorUIResource;
|
||||
import javax.swing.plaf.FontUIResource;
|
||||
import javax.swing.plaf.metal.MetalTheme;
|
||||
|
||||
import org.compiere.plaf.CompiereColor;
|
||||
|
||||
public final class ThemeUtils {
|
||||
|
||||
/** Logger */
|
||||
private static Logger log = Logger.getLogger(ThemeUtils.class.getName());
|
||||
|
||||
/**
|
||||
* Parses Color into String representation.
|
||||
* Required as SystemColors and Alpha Colors have different formats
|
||||
* @param c Color
|
||||
* @return [r=102,g=102,b=153,a=255]
|
||||
* @see #parseColor
|
||||
*/
|
||||
public static String getColorAsString (Color c)
|
||||
{
|
||||
if (c == null)
|
||||
c = SystemColor.control;
|
||||
StringBuffer sb = new StringBuffer("[r=").append(c.getRed())
|
||||
.append(",g=").append(c.getGreen())
|
||||
.append(",b=").append(c.getBlue())
|
||||
.append(",a=").append(c.getAlpha())
|
||||
.append("]");
|
||||
// System.out.println(sb.toString());
|
||||
return sb.toString();
|
||||
} // getColorAsString
|
||||
|
||||
/**
|
||||
* Parse Color.
|
||||
* <p>
|
||||
* Color - [r=102,g=102,b=153,a=0]
|
||||
*
|
||||
* @param information string information to be parsed
|
||||
* @param stdColor color used if info cannot parsed
|
||||
* @return color
|
||||
* @see #getColorAsString
|
||||
*/
|
||||
public static ColorUIResource parseColor (String information, ColorUIResource stdColor)
|
||||
{
|
||||
if (information == null
|
||||
|| information.length() == 0
|
||||
|| information.trim().length() == 0)
|
||||
return stdColor;
|
||||
// System.out.print("ParseColor=" + info);
|
||||
try
|
||||
{
|
||||
int r = Integer.parseInt(information.substring(information.indexOf("r=")+2, information.indexOf(",g=")));
|
||||
int g = Integer.parseInt(information.substring(information.indexOf("g=")+2, information.indexOf(",b=")));
|
||||
int b = 0;
|
||||
int a = 255;
|
||||
if (information.indexOf("a=") == -1)
|
||||
b = Integer.parseInt(information.substring(information.indexOf("b=")+2, information.indexOf("]")));
|
||||
else
|
||||
{
|
||||
b = Integer.parseInt(information.substring(information.indexOf("b=")+2, information.indexOf(",a=")));
|
||||
a = Integer.parseInt(information.substring(information.indexOf("a=")+2, information.indexOf("]")));
|
||||
}
|
||||
ColorUIResource retValue = new ColorUIResource(new Color(r, g, b, a));
|
||||
// System.out.println(" - " + retValue.toString());
|
||||
return retValue;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.config(information + " - cannot parse: " + e.toString());
|
||||
}
|
||||
return stdColor;
|
||||
} // parseColor
|
||||
|
||||
/**
|
||||
* Parse Font
|
||||
* <p>
|
||||
* javax.swing.plaf.FontUIResource[family=dialog.bold,name=Dialog,style=bold,size=12]
|
||||
*
|
||||
* @param information string information to be parsed
|
||||
* @param stdFont font used if info cannot be parsed
|
||||
* @return font
|
||||
*/
|
||||
public static FontUIResource parseFont(String information, FontUIResource stdFont)
|
||||
{
|
||||
if (information == null
|
||||
|| information.length() == 0
|
||||
|| information.trim().length() == 0)
|
||||
return stdFont;
|
||||
// System.out.print("ParseFont=" + info);
|
||||
try
|
||||
{
|
||||
String name = information.substring(information.indexOf("name=")+5, information.indexOf(",style="));
|
||||
String s = information.substring(information.indexOf("style=")+6, information.indexOf(",size="));
|
||||
int style = Font.PLAIN;
|
||||
if (s.equals("bold"))
|
||||
style = Font.BOLD;
|
||||
else if (s.equals("italic"))
|
||||
style = Font.ITALIC;
|
||||
else if (s.equals("bolditalic"))
|
||||
style = Font.BOLD | Font.ITALIC;
|
||||
int size = Integer.parseInt(information.substring(information.indexOf(",size=")+6, information.lastIndexOf("]")));
|
||||
FontUIResource retValue = new FontUIResource(name,style,size);
|
||||
// System.out.println(" - " + retValue.toString());
|
||||
return retValue;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.config(information + " - cannot parse: " + e.toString());
|
||||
}
|
||||
return stdFont;
|
||||
} // parseFont
|
||||
|
||||
// Static property info
|
||||
public static final String P_Primary1 = "#ColorPrimary1";
|
||||
public static final String P_Primary2 = "#ColorPrimary2";
|
||||
public static final String P_Primary3 = "#ColorPrimary3";
|
||||
public static final String P_Secondary1 = "#ColorSecondary1";
|
||||
public static final String P_Secondary2 = "#ColorSecondary2";
|
||||
public static final String P_Secondary3 = "#ColorSecondary3";
|
||||
public static final String P_Black = "#ColorBlack";
|
||||
public static final String P_White = "#ColorWhite";
|
||||
public static final String P_Error = "#ColorError";
|
||||
public static final String P_Info = "#ColorInfo";
|
||||
public static final String P_Mandatory = "#ColorMandatory";
|
||||
public static final String P_Inactive = "#ColorInactive";
|
||||
public static final String P_Txt_OK = "#ColorTextOK";
|
||||
public static final String P_Txt_Error = "#ColorTextError";
|
||||
//
|
||||
public static final String P_Control = "#FontControl";
|
||||
public static final String P_System = "#FontSystem";
|
||||
public static final String P_User = "#FontUser";
|
||||
public static final String P_Small = "#FontSmall";
|
||||
public static final String P_Window = "#FontWindow";
|
||||
public static final String P_Menu = "#FontMenu";
|
||||
|
||||
/**
|
||||
* Save information in Properties
|
||||
*/
|
||||
public static void save (Properties properties, MetalTheme theme)
|
||||
{
|
||||
log.config(CompiereColor.getDefaultBackground().toString());
|
||||
//
|
||||
properties.setProperty(P_Primary1, getColorAsString(theme.getPrimaryControlDarkShadow()));
|
||||
properties.setProperty(P_Primary2, getColorAsString(theme.getPrimaryControlShadow()));
|
||||
properties.setProperty(P_Primary3, getColorAsString(theme.getPrimaryControl()));
|
||||
properties.setProperty(P_Secondary1, getColorAsString(theme.getControlDarkShadow()));
|
||||
properties.setProperty(P_Secondary2, getColorAsString(theme.getControlShadow()));
|
||||
properties.setProperty(P_Secondary3, getColorAsString(theme.getControl()));
|
||||
properties.setProperty(P_Txt_OK, getColorAsString(theme.getUserTextColor()));
|
||||
|
||||
if ( theme instanceof ExtendedTheme ) {
|
||||
ExtendedTheme e = (ExtendedTheme)theme;
|
||||
properties.setProperty(P_Error, getColorAsString(e.getErrorBackground()));
|
||||
properties.setProperty(P_Txt_Error, getColorAsString(e.getErrorForeground()));
|
||||
properties.setProperty(P_Mandatory, getColorAsString(e.getMandatoryBackground()));
|
||||
properties.setProperty(P_Inactive, getColorAsString(e.getInactiveBackground()));
|
||||
properties.setProperty(P_White, getColorAsString(e.getWhite()));
|
||||
properties.setProperty(P_Black, getColorAsString(e.getBlack()));
|
||||
properties.setProperty(P_Info, getColorAsString(e.getInfoBackground()));
|
||||
} else {
|
||||
properties.setProperty(P_White, getColorAsString(Color.white));
|
||||
properties.setProperty(P_Black, getColorAsString(Color.black));
|
||||
properties.setProperty(P_Error, getColorAsString(ExtendedTheme.DEFAULT_ERROR_BG));
|
||||
properties.setProperty(P_Txt_Error, getColorAsString(ExtendedTheme.DEFAULT_ERROR_FG));
|
||||
properties.setProperty(P_Mandatory, getColorAsString(ExtendedTheme.DEFAULT_MANDATORY_BG));
|
||||
properties.setProperty(P_Inactive, getColorAsString(ExtendedTheme.DEFAULT_INACTIVE_BG));
|
||||
properties.setProperty(P_Info, getColorAsString(theme.getPrimaryControl()));
|
||||
}
|
||||
|
||||
//
|
||||
properties.setProperty(P_Control, (theme.getControlTextFont()).toString());
|
||||
properties.setProperty(P_System, (theme.getSystemTextFont()).toString());
|
||||
properties.setProperty(P_User, (theme.getUserTextFont()).toString());
|
||||
properties.setProperty(P_Small, (theme.getSubTextFont()).toString());
|
||||
properties.setProperty(P_Window, (theme.getWindowTitleFont()).toString());
|
||||
properties.setProperty(P_Menu, (theme.getMenuTextFont()).toString());
|
||||
|
||||
} // save
|
||||
|
||||
|
||||
/**
|
||||
* Load Properties from properties
|
||||
*/
|
||||
public static void load (Properties properties, ExtendedTheme theme)
|
||||
{
|
||||
Map<String, Object> p = new HashMap<String, Object>();
|
||||
p.put(P_Primary1, parseColor (properties.getProperty(P_Primary1),null));
|
||||
p.put(P_Primary2, parseColor (properties.getProperty(P_Primary2),null));
|
||||
p.put(P_Primary3, parseColor (properties.getProperty(P_Primary3), null));
|
||||
p.put(P_Secondary1, parseColor (properties.getProperty(P_Secondary1), null));
|
||||
p.put(P_Secondary2, parseColor (properties.getProperty(P_Secondary2), null));
|
||||
p.put(P_Secondary3, parseColor (properties.getProperty(P_Secondary3), null));
|
||||
p.put(P_Error, parseColor(properties.getProperty(P_Error), null));
|
||||
p.put(P_Info, parseColor(properties.getProperty(P_Info), null));
|
||||
p.put(P_Mandatory, parseColor(properties.getProperty(P_Mandatory), null));
|
||||
p.put(P_Inactive, parseColor(properties.getProperty(P_Inactive), null));
|
||||
p.put(P_White,parseColor(properties.getProperty(P_White), null));
|
||||
p.put(P_Black, parseColor(properties.getProperty(P_Black), null));
|
||||
p.put(P_Txt_OK, parseColor(properties.getProperty(P_Txt_OK), null));
|
||||
p.put(P_Txt_Error,parseColor(properties.getProperty(P_Txt_Error), null));
|
||||
//
|
||||
p.put(P_Control, parseFont(properties.getProperty(P_Control), null));
|
||||
p.put(P_System, parseFont(properties.getProperty(P_System), null));
|
||||
p.put(P_User, parseFont(properties.getProperty(P_User), null));
|
||||
p.put(P_Small, parseFont(properties.getProperty(P_Small), null));
|
||||
p.put(P_Window, parseFont(properties.getProperty(P_Window), null));
|
||||
p.put(P_Menu, parseFont(properties.getProperty(P_Menu), null));
|
||||
//
|
||||
theme.setUIProperties(p);
|
||||
} // load
|
||||
}
|
|
@ -69,15 +69,18 @@ public final class Ini implements Serializable
|
|||
/** Look & Feel */
|
||||
public static final String P_UI_LOOK = "UILookFeel";
|
||||
|
||||
private static final String DEFAULT_UI_LOOK = AdempiereLookAndFeel.NAME;
|
||||
private static final String DEFAULT_UI_LOOK = AdempiereLookAndFeel.NAME;
|
||||
/** UI Theme */
|
||||
|
||||
private static final String DEFAULT_UI_THEME = AdempiereThemeInnova.NAME;
|
||||
/** UI Theme */
|
||||
public static final String P_UI_THEME = "UITheme";
|
||||
/** Flat Color UI */
|
||||
|
||||
/** Flat Color UI
|
||||
public static final String P_UI_FLAT = "UIFlat";
|
||||
private static final boolean DEFAULT_UI_FLAT = false;
|
||||
*/
|
||||
|
||||
/** Auto Save */
|
||||
public static final String P_A_COMMIT = "AutoCommit";
|
||||
private static final boolean DEFAULT_A_COMMIT = true;
|
||||
|
@ -148,7 +151,7 @@ public final class Ini implements Serializable
|
|||
P_UID, P_PWD, P_TRACELEVEL, P_TRACEFILE,
|
||||
P_LANGUAGE, P_INI,
|
||||
P_CONNECTION, P_STORE_PWD,
|
||||
P_UI_LOOK, P_UI_THEME, P_UI_FLAT,
|
||||
P_UI_LOOK, P_UI_THEME, /* P_UI_FLAT,*/
|
||||
P_A_COMMIT, P_A_LOGIN, P_A_NEW,
|
||||
P_ADEMPIERESYS, P_SHOW_ACCT, P_SHOW_TRL,
|
||||
P_SHOW_ADVANCED, P_CACHE_WINDOW,
|
||||
|
@ -165,7 +168,7 @@ public final class Ini implements Serializable
|
|||
DEFAULT_UID, DEFAULT_PWD, DEFAULT_TRACELEVEL, DEFAULT_TRACEFILE?"Y":"N",
|
||||
DEFAULT_LANGUAGE, DEFAULT_INI,
|
||||
DEFAULT_CONNECTION, DEFAULT_STORE_PWD?"Y":"N",
|
||||
DEFAULT_UI_LOOK, DEFAULT_UI_THEME, DEFAULT_UI_FLAT?"Y":"N",
|
||||
DEFAULT_UI_LOOK, DEFAULT_UI_THEME, /* DEFAULT_UI_FLAT?"Y":"N", */
|
||||
DEFAULT_A_COMMIT?"Y":"N", DEFAULT_A_LOGIN?"Y":"N", DEFAULT_A_NEW?"Y":"N",
|
||||
DEFAULT_ADEMPIERESYS?"Y":"N", DEFAULT_SHOW_ACCT?"Y":"N", DEFAULT_SHOW_TRL?"Y":"N",
|
||||
DEFAULT_SHOW_ADVANCED?"Y":"N", DEFAULT_CACHE_WINDOW?"Y":"N",
|
||||
|
|
|
@ -23,6 +23,7 @@ import java.util.*;
|
|||
import java.util.logging.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
import org.compiere.swing.*;
|
||||
import org.compiere.plaf.*;
|
||||
|
||||
|
|
|
@ -24,7 +24,8 @@ import javax.swing.JDialog;
|
|||
import javax.swing.JEditorPane;
|
||||
import javax.swing.JScrollPane;
|
||||
|
||||
import org.compiere.plaf.AdempierePLAF;
|
||||
import org.adempiere.plaf.AdempierePLAF;
|
||||
|
||||
|
||||
/**
|
||||
* Mini Browser
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
swing.defaultlaf=org.compiere.plaf.AdempiereLookAndFeel
|
||||
swing.defaultlaf=org.adempiere.plaf.AdempiereLookAndFeel
|
||||
swing.installedlafs=Metal,Motif,Windows,Adempiere
|
||||
swing.installedlaf.Metal.class=javax.swing.plaf.metal.MetalLookAndFeel
|
||||
swing.installedlaf.Metal.name=Metal
|
||||
|
|
Loading…
Reference in New Issue