WindowsDesktopProperty activeTitleBackgroundColor = new WindowsDesktopProperty("win.frame.activeCaptionColor", UIDefaultsLookup.get("activeCaption"), toolkit);
WindowsDesktopProperty activeTitleTextColor = new WindowsDesktopProperty("win.frame.captionTextColor", UIDefaultsLookup.get("activeCaptionText"), toolkit);
WindowsDesktopProperty highContrast = new WindowsDesktopProperty("win.highContrast.on", UIDefaultsLookup.get("highContrast"), toolkit);
Object singleLineBorder = new ExtWindowsDesktopProperty(new String[]{"win.3d.shadowColor"}, new Object[]{UIDefaultsLookup.get("controlShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new BorderUIResource(BorderFactory.createLineBorder((Color) obj[0]));
}
});
Object controlFont = JideSwingUtilities.getControlFont(toolkit, table);
Object toolbarFont = JideSwingUtilities.getMenuFont(toolkit, table);
Object boldFont = JideSwingUtilities.getBoldFont(toolkit, table);
Object resizeBorder = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new XertoFrameBorder(new Insets(4, 4, 4, 4));
}
});
Object defaultFormBackground = new ExtWindowsDesktopProperty(new String[]{"win.3d.backgroundColor"}, new Object[]{UIDefaultsLookup.get("control")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ColorUIResource(XertoUtils.getDefaultBackgroundColor((Color) obj[0]));
}
});
Object inactiveTabForground = new ExtWindowsDesktopProperty(// Not exactly right
new String[]{"win.3d.shadowColor"}, new Object[]{UIDefaultsLookup.get("controlShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ColorUIResource(((Color) obj[0]).darker());
}
});
Object focusedButtonColor = new ExtWindowsDesktopProperty(new String[]{"win.item.highlightColor"}, new Object[]{UIDefaultsLookup.get("textHighlight")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ColorUIResource(XertoUtils.getFocusedButtonColor((Color) obj[0]));
}
});
Object selectedAndFocusedButtonColor = new ExtWindowsDesktopProperty(new String[]{"win.item.highlightColor"}, new Object[]{UIDefaultsLookup.get("textHighlight")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ColorUIResource(XertoUtils.getSelectedAndFocusedButtonColor((Color) obj[0]));
}
});
Object selectedButtonColor = new ExtWindowsDesktopProperty(new String[]{"win.item.highlightColor"}, new Object[]{UIDefaultsLookup.get("textHighlight")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ColorUIResource(XertoUtils.getSelectedButtonColor((Color) obj[0]));
}
});
Object gripperForeground = new ExtWindowsDesktopProperty(new String[]{"win.3d.backgroundColor"}, new Object[]{UIDefaultsLookup.get("control")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ColorUIResource(XertoUtils.getGripperForegroundColor((Color) obj[0]));
}
});
Object commandBarBackground = new ExtWindowsDesktopProperty(new String[]{"win.3d.backgroundColor"}, new Object[]{UIDefaultsLookup.get("control")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ColorUIResource(XertoUtils.getToolBarBackgroundColor((Color) obj[0]));
}
});
Painter gripperPainter = new Painter() {
public void paint(JComponent c, Graphics g, Rectangle rect, int orientation, int state) {
Object p = UIDefaultsLookup.get("Theme.painter");
if (p instanceof ThemePainter) {
((ThemePainter) p).paintGripper(c, g, rect, orientation, state);
}
else {
XertoPainter.getInstance().paintGripper(c, g, rect, orientation, state);
}
}
};
Object buttonBorder = new BasicBorders.MarginBorder();
Object[] uiDefaults = new Object[]{
"Theme.highContrast", highContrast,
"Content.background", defaultBackgroundColor,
"JideScrollPane.border", singleLineBorder,
"JideButton.selectedAndFocusedBackground", selectedAndFocusedButtonColor,
"JideButton.focusedBackground", focusedButtonColor,
"JideButton.selectedBackground", selectedButtonColor,
"JideButton.borderColor", selectionBackgroundColor,
"JideButton.font", controlFont,
"JideButton.background", defaultBackgroundColor,
"JideButton.foreground", defaultTextColor,
"JideButton.shadow", defaultShadowColor,
"JideButton.darkShadow", defaultDarkShadowColor,
"JideButton.light", defaultHighlightColor,
"JideButton.highlight", defaultLtHighlightColor,
"JideButton.border", buttonBorder,
"JideButton.margin", new InsetsUIResource(3, 3, 3, 3),
"JideButton.textIconGap", 4,
"JideButton.textShiftOffset", 0,
"JideButton.focusInputMap", new UIDefaults.LazyInputMap(new Object[]{
"SPACE", "pressed",
"released SPACE", "released",
"ENTER", "pressed",
"released ENTER", "released" // no last two for metal
}),
"TristateCheckBox.icon", WindowsIconFactory.getCheckBoxIcon(),
"JideSplitPane.dividerSize", 3,
"JideSplitPaneDivider.border", new BorderUIResource(BorderFactory.createEmptyBorder()),
"JideSplitPaneDivider.background", defaultBackgroundColor,
"JideSplitPaneDivider.gripperPainter", gripperPainter,
"JideTabbedPane.defaultTabShape", JideTabbedPane.SHAPE_ROUNDED_VSNET,
"JideTabbedPane.defaultResizeMode", JideTabbedPane.RESIZE_MODE_NONE,
"JideTabbedPane.defaultTabColorTheme", JideTabbedPane.COLOR_THEME_OFFICE2003,
"JideTabbedPane.tabRectPadding", 2,
"JideTabbedPane.closeButtonMarginHorizonal", 3,
"JideTabbedPane.closeButtonMarginVertical", 3,
"JideTabbedPane.textMarginVertical", 4,
"JideTabbedPane.noIconMargin", 2,
"JideTabbedPane.iconMargin", 5,
"JideTabbedPane.textPadding", 6,
"JideTabbedPane.buttonSize", 18,
"JideTabbedPane.buttonMargin", 5,
"JideTabbedPane.fitStyleBoundSize", 8,
"JideTabbedPane.fitStyleFirstTabMargin", 4,
"JideTabbedPane.fitStyleIconMinWidth", 24,
"JideTabbedPane.fitStyleTextMinWidth", 16,
"JideTabbedPane.compressedStyleNoIconRectSize", 24,
"JideTabbedPane.compressedStyleIconMargin", 12,
"JideTabbedPane.compressedStyleCloseButtonMarginHorizontal", 0,
"JideTabbedPane.compressedStyleCloseButtonMarginVertical", 0,
"JideTabbedPane.fixedStyleRectSize", 60,
"JideTabbedPane.closeButtonMargin", 2,
"JideTabbedPane.gripLeftMargin", 4,
"JideTabbedPane.closeButtonMarginSize", 6,
"JideTabbedPane.closeButtonLeftMargin", 2,
"JideTabbedPane.closeButtonRightMargin", 2,
"JideTabbedPane.defaultTabBorderShadowColor", new ColorUIResource(115, 109, 99),
"JideTabbedPane.gripperPainter", gripperPainter,
"JideTabbedPane.border", new BorderUIResource(BorderFactory.createEmptyBorder(0, 0, 0, 0)),
"JideTabbedPane.background", new ColorUIResource(XertoUtils.getControlColor()),
"JideTabbedPane.foreground", new ColorUIResource(XertoUtils.getTabForgroundColor()),
"JideTabbedPane.light", defaultHighlightColor,
"JideTabbedPane.highlight", defaultLtHighlightColor,
"JideTabbedPane.shadow", defaultShadowColor,
"JideTabbedPane.darkShadow", new ColorUIResource(Color.GRAY),
"JideTabbedPane.tabInsets", new InsetsUIResource(1, 4, 1, 4),
"JideTabbedPane.contentBorderInsets", new InsetsUIResource(1, 1, 1, 1),
"JideTabbedPane.ignoreContentBorderInsetsIfNoTabs", Boolean.FALSE,
"JideTabbedPane.tabAreaInsets", new InsetsUIResource(2, 4, 0, 4),
"JideTabbedPane.tabAreaBackground", new ColorUIResource(XertoUtils.getApplicationFrameBackgroundColor()),
"JideTabbedPane.tabAreaBackgroundLt", defaultLtHighlightColor,
"JideTabbedPane.tabAreaBackgroundDk", defaultBackgroundColor,
"JideTabbedPane.tabRunOverlay", 2,
"JideTabbedPane.font", controlFont,
"JideTabbedPane.selectedTabFont", controlFont,
"JideTabbedPane.selectedTabTextForeground", new ColorUIResource(XertoUtils.getTabForgroundColor()),
"JideTabbedPane.unselectedTabTextForeground", inactiveTabForground,
"JideTabbedPane.selectedTabBackground", new ColorUIResource(XertoUtils.getSelectedTabBackgroundColor()),
"JideTabbedPane.selectedTabBackgroundLt", new ColorUIResource(230, 139, 44),
"JideTabbedPane.selectedTabBackgroundDk", new ColorUIResource(255, 199, 60),
"JideTabbedPane.tabListBackground", UIDefaultsLookup.getColor("List.background"),
"JideTabbedPane.textIconGap", 4,
"JideTabbedPane.showIconOnTab", Boolean.TRUE,
"JideTabbedPane.showCloseButtonOnTab", Boolean.FALSE,
"JideTabbedPane.closeButtonAlignment", SwingConstants.TRAILING,
"JideTabbedPane.focusInputMap",
new UIDefaults.LazyInputMap(new Object[]{
"RIGHT", "navigateRight",
"KP_RIGHT", "navigateRight",
"LEFT", "navigateLeft",
"KP_LEFT", "navigateLeft",
"UP", "navigateUp",
"KP_UP", "navigateUp",
"DOWN", "navigateDown",
"KP_DOWN", "navigateDown",
"ctrl DOWN", "requestFocusForVisibleComponent",
"ctrl KP_DOWN", "requestFocusForVisibleComponent",
}),
"JideTabbedPane.ancestorInputMap",
new UIDefaults.LazyInputMap(new Object[]{
"ctrl PAGE_DOWN", "navigatePageDown",
"ctrl PAGE_UP", "navigatePageUp",
"ctrl UP", "requestFocus",
"ctrl KP_UP", "requestFocus",
}),
"ButtonPanel.order", "ACO",
"ButtonPanel.oppositeOrder", "H",
"ButtonPanel.buttonGap", 6,
"ButtonPanel.groupGap", 6,
"ButtonPanel.minButtonWidth", 75,
"JideSplitButton.font", controlFont,
"JideSplitButton.margin", new InsetsUIResource(3, 3, 3, 7),
"JideSplitButton.border", buttonBorder,
"JideSplitButton.borderPainted", Boolean.FALSE,
"JideSplitButton.textIconGap", 4,
"JideSplitButton.selectionForeground", menuTextColor,
"JideSplitButton.focusInputMap", new UIDefaults.LazyInputMap(new Object[]{
"SPACE", "pressed",
"released SPACE", "released",
"ENTER", "pressed",
"released ENTER", "released", // no these two for metal
"DOWN", "downPressed",
"released DOWN", "downReleased",
}),
"Cursor.hsplit", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.HSPLIT),
"Cursor.vsplit", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.VSPLIT),
"Cursor.north", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.NORTH),
"Cursor.south", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.SOUTH),
"Cursor.east", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.EAST),
"Cursor.west", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.WEST),
"Cursor.tab", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.TAB),
"Cursor.float", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.FLOAT),
"Cursor.vertical", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.VERTICAL),
"Cursor.horizontal", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.HORIZONTAL),
"Cursor.delete", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.DELETE),
"Cursor.drag", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.DROP),
"Cursor.dragStop", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.NODROP),
"Cursor.dragText", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.DROP_TEXT),
"Cursor.dragTextStop", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.NODROP_TEXT),
"Cursor.percentage", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.PERCENTAGE),
"Cursor.moveEast", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.MOVE_EAST),
"Cursor.moveWest", JideIconsFactory.getImageIcon(JideIconsFactory.Cursor.MOVE_WEST),
"Gripper.size", 8,
"Gripper.foreground", gripperForeground,
"Gripper.painter", gripperPainter,
"HeaderBox.background", defaultBackgroundColor,
"Icon.floating", Boolean.FALSE,
"Resizable.resizeBorder", resizeBorder,
"TextArea.font", controlFont,
};
table.putDefaults(uiDefaults);
int products = LookAndFeelFactory.getProductsUsed();
if ((products & PRODUCT_DOCK) != 0) {
ImageIcon titleButtonImage = IconsFactory.getImageIcon(XertoWindowsUtils.class, "icons/title_buttons_xerto.gif"); // 10 x 10 x 8
final int titleButtonSize = 10;
FrameBorder frameBorder = new FrameBorder();
boolean useShadowBorder = "true".equals(SecurityUtils.getProperty("jide.shadeSlidingBorder", "false"));
Object slidingEastFrameBorder = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new SlidingFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(1, SlidingFrameBorder.SHADOW_SIZE + 5, 1, 0));
}
});
Object slidingWestFrameBorder = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new SlidingFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(1, 0, 1, SlidingFrameBorder.SHADOW_SIZE + 5));
}
});
Object slidingNorthFrameBorder = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new SlidingFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(0, 1, SlidingFrameBorder.SHADOW_SIZE + 5, 1));
}
});
Object slidingSouthFrameBorder = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new SlidingFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(SlidingFrameBorder.SHADOW_SIZE + 5, 1, 0, 1));
}
});
Object slidingEastFrameBorder2 = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ResizeFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(0, 4, 0, 0));
}
});
Object slidingWestFrameBorder2 = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ResizeFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(0, 0, 0, 4));
}
});
Object slidingNorthFrameBorder2 = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ResizeFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(0, 0, 4, 0));
}
});
Object slidingSouthFrameBorder2 = new ExtWindowsDesktopProperty(new String[]{"win.3d.lightColor", "win.3d.highlightColor", "win.3d.shadowColor", "win.3d.darkShadowColor"},
new Object[]{UIDefaultsLookup.get("control"), UIDefaultsLookup.get("controlLtHighlight"), UIDefaultsLookup.get("controlShadow"), UIDefaultsLookup.get("controlDkShadow")}, toolkit, new ConvertListener() {
public Object convert(Object[] obj) {
return new ResizeFrameBorder((Color) obj[0], (Color) obj[1], (Color) obj[2], (Color) obj[3],
new Insets(4, 0, 0, 0));
}
});