Versioning theme done.

master
Wizard Atman 11 years ago
parent 14f2876819
commit e41d91e7e1

@ -1,8 +1,8 @@
build.xml.data.CRC32=22fb9f16
build.xml.data.CRC32=45912724
build.xml.script.CRC32=1097797e
build.xml.stylesheet.CRC32=a56c6a5b@2.67.1
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=22fb9f16
nbproject/build-impl.xml.data.CRC32=45912724
nbproject/build-impl.xml.script.CRC32=e0c60086
nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.67.1

@ -31,6 +31,14 @@
<specification-version>1.51.1</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.actions</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>6.35.1</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.awt</code-name-base>
<build-prerequisite/>

@ -18,16 +18,24 @@ public class Color implements Serializable{
public void printJava() {
String res = "color_map.add(new Color(\"";
String res = "color_map.add(";
res += this.getString();
res += ");";
System.out.println(res);
}
public String getString() {
String res = "new org.idp.laf.Color(\"";
res += this.pname + "\", ";
if (this.cls ==SF)
{
res += "Color.ColorClass.SF, ";
res += "org.idp.laf.Color.ColorClass.SF, ";
}
else
{
res += "Color.ColorClass.AT, ";
res += "org.idp.laf.Color.ColorClass.AT, ";
}
res += R + ", ";
@ -36,9 +44,10 @@ public class Color implements Serializable{
res += A + ", ";
res += "\"" +this.description + "\"";
res += "));";
System.out.println(res);
res += ")";
return res;
}
public enum ColorClass {

@ -14,6 +14,8 @@ import java.util.HashMap;
*/
public class ColorTheme {
// EDITOR THEME
// <editor-fold desc="annotations" defaultstate="collapsed">
private static final AttributeSetConfigured [] annotations = {
new AttributeSetConfigured ("Multiple Enabled and Disabled Breakpoints", new Color (255, 0, 255, 255), null, null, true, true, false, null, new Color (255, 0, 255, 255), null, null, null),
@ -344,6 +346,32 @@ private static final AttributeSetConfigured [] lang_All_Languages = {
};
// </editor-fold>
// VERSIONONING THEME
// <editor-fold desc="GIT" defaultstate="collapsed">
public static final org.idp.laf.Color[] GIT = {
new org.idp.laf.Color("Modified In Working Tree", org.idp.laf.Color.ColorClass.AT, 62, 176, 176, 255, ""),
new org.idp.laf.Color("Conflict", org.idp.laf.Color.ColorClass.AT, 230, 31, 91, 255, ""),
new org.idp.laf.Color("Removed In Working Tree", org.idp.laf.Color.ColorClass.AT, 255, 135, 35, 255, ""),
new org.idp.laf.Color("Added In Working Tree", org.idp.laf.Color.ColorClass.AT, 121, 229, 31, 255, ""),
new org.idp.laf.Color("Added To Index", org.idp.laf.Color.ColorClass.AT, 150, 233, 82, 255, ""),
new org.idp.laf.Color("Additional Text Annotation", org.idp.laf.Color.ColorClass.AT, 166, 165, 165, 255, ""),
new org.idp.laf.Color("Ignored", org.idp.laf.Color.ColorClass.AT, 134, 134, 134, 255, ""),
};
// </editor-fold>
// <editor-fold desc="SVN" defaultstate="collapsed">
public static final org.idp.laf.Color[] SVN = {
};
// </editor-fold>
// <editor-fold desc="HG" defaultstate="collapsed">
public static final org.idp.laf.Color[] HG = {
};
// </editor-fold>
public static final HashMap <String, HashMap <String, AttributeSetConfigured>> color_map;
static

@ -378,6 +378,16 @@ public class Defaults {
color_map.add(new Color("nb.diff.sidebar.changed.color", Color.ColorClass.SF, 38, 29, 2, 255, "..."));
color_map.add(new Color("nb.diff.sidebar.deleted.color", Color.ColorClass.SF, 171, 66, 200, 255, "..."));
color_map.add(new Color("nb.versioning.tooltip.background.color", Color.ColorClass.SF, 0, 0, 255, 255, "..."));
// "nb.versioning.added.color"
// "nb.versioning.modified.color"
// "nb.versioning.deleted.color"
// "nb.versioning.conflicted.color"
// "nb.versioning.ignored.color"
// "nb.versioning.textannotation.color"
color_map.add(new Color("nb.formdesigner.gap.fixed.color", Color.ColorClass.SF, 142, 200, 230, 255, "..."));
color_map.add(new Color("nb.formdesigner.gap.resizing.color", Color.ColorClass.SF, 26, 72, 208, 255, "..."));
color_map.add(new Color("nb.formdesigner.gap.min.color", Color.ColorClass.SF, 134, 54, 215, 255, "..."));

@ -8,10 +8,15 @@ package org.idp.laf;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;
import javax.swing.text.AttributeSet;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
@ -28,12 +33,17 @@ public class TitanEditor {
private static final String EDITOR_SETTINGS_CLASS_NAME = "org.netbeans.api.editor.settings.EditorStyleConstants"; //NOI18N
private static final String ANNOTATION_TYPE_CLASS_NAME = "org.netbeans.editor.AnnotationType"; //NOI18N
private static final String PROVIDER_CLASS_NAME = "org.netbeans.modules.versioning.util.OptionsPanelColorProvider"; //NOI18N
private static final String PROVIDER_GIT_CLASS_NAME = "org.netbeans.modules.git.options.AnnotationColorProvider"; //NOI18N
private static final String PROVIDER_SVN_CLASS_NAME = "org.netbeans.modules.subversion.options.AnnotationColorProvider"; //NOI18N
private static final String PROVIDER_HG_CLASS_NAME = "org.netbeans.modules.mercurial.options.AnnotationColorProvider"; //NOI18N
private static final boolean no_load = false;
private static Class COLOR_MODEL;
private static Class EDITOR_SETTINGS;
private static Class ANNOTATION_TYPE;
private static Field DisplayName;
private static Field WaveUnderlineColor;
@ -71,16 +81,33 @@ public class TitanEditor {
private static final String DEFAULT_THEME_NAME = "NetBeans"; //NOI18N
private static final String TITAN_THEME_NAME = "[idP!] Titan"; //NOI18N
private static Class provider_GIT = null;
private static Class provider_SVN = null;
private static Class provider_HG = null;
private static Class provider_CLASS = null;
private static Method provider_getInstance;
private static Method provider_getColors;
private static Method provider_colorsChanged;
private static ClassLoader working_classLoader = null;
private static boolean pre_load ()
{
ClassLoader cl = Lookup.getDefault().lookup( ClassLoader.class );
if( null != cl )
working_classLoader = Lookup.getDefault().lookup( ClassLoader.class );
if( null != working_classLoader )
{
try {
COLOR_MODEL = cl.loadClass( COLOR_MODEL_CLASS_NAME );
EDITOR_SETTINGS = cl.loadClass(EDITOR_SETTINGS_CLASS_NAME);
ANNOTATION_TYPE = cl.loadClass(ANNOTATION_TYPE_CLASS_NAME);
COLOR_MODEL = working_classLoader.loadClass( COLOR_MODEL_CLASS_NAME );
EDITOR_SETTINGS = working_classLoader.loadClass(EDITOR_SETTINGS_CLASS_NAME);
ANNOTATION_TYPE = working_classLoader.loadClass(ANNOTATION_TYPE_CLASS_NAME);
DisplayName = EDITOR_SETTINGS.getField("DisplayName"); //NOI18N
WaveUnderlineColor = EDITOR_SETTINGS.getField("WaveUnderlineColor"); //NOI18N
@ -88,10 +115,7 @@ public class TitanEditor {
getProfiles = COLOR_MODEL.getDeclaredMethod( "getProfiles", new Class[0] ); //NOI18N
getCurrentProfile = COLOR_MODEL.getDeclaredMethod( "getCurrentProfile", new Class[0] ); //NOI18N
setCurrentProfile = COLOR_MODEL.getDeclaredMethod( "setCurrentProfile", String.class ); //NOI18N
//public java.net.URL getGlyph()
getHighlight = ANNOTATION_TYPE.getDeclaredMethod( "getHighlight", new Class[0] ); //NOI18N
getForegroundColor = ANNOTATION_TYPE.getDeclaredMethod( "getForegroundColor", new Class[0] ); //NOI18N
getWaveUnderlineColor = ANNOTATION_TYPE.getDeclaredMethod( "getWaveUnderlineColor", new Class[0] ); //NOI18N
@ -100,15 +124,10 @@ public class TitanEditor {
setForegroundColor = ANNOTATION_TYPE.getDeclaredMethod( "setForegroundColor", java.awt.Color.class ); //NOI18N
setWaveUnderlineColor = ANNOTATION_TYPE.getDeclaredMethod( "setWaveUnderlineColor", java.awt.Color.class ); //NOI18N
isUseHighlightColor = ANNOTATION_TYPE.getDeclaredMethod( "isUseHighlightColor", new Class[0] ); //NOI18N
isInheritForegroundColor = ANNOTATION_TYPE.getDeclaredMethod( "isInheritForegroundColor", new Class[0] ); //NOI18N
isUseWaveUnderlineColor = ANNOTATION_TYPE.getDeclaredMethod( "isUseWaveUnderlineColor", new Class[0] ); //NOI18N
getAnnotations = COLOR_MODEL.getDeclaredMethod( "getAnnotations", String.class ); //NOI18N
getHighlightings = COLOR_MODEL.getDeclaredMethod( "getHighlightings", String.class ); //NOI18N
getCategories = COLOR_MODEL.getDeclaredMethod( "getCategories",String.class, String.class ); //NOI18N
@ -122,6 +141,35 @@ public class TitanEditor {
const_DisplayName = DisplayName.get(EDITOR_SETTINGS);
const_WaveUnderlineColor = WaveUnderlineColor.get(EDITOR_SETTINGS);
colorModel = COLOR_MODEL.newInstance();
provider_CLASS = working_classLoader.loadClass(PROVIDER_CLASS_NAME);
if (provider_CLASS != null)
{
try {
provider_HG = working_classLoader.loadClass(PROVIDER_HG_CLASS_NAME);
} catch (ClassNotFoundException ex) {
//Exceptions.printStackTrace(ex);
}
try {
provider_SVN = working_classLoader.loadClass(PROVIDER_SVN_CLASS_NAME);
} catch (ClassNotFoundException ex) {
//Exceptions.printStackTrace(ex);
}
try {
provider_GIT = working_classLoader.loadClass(PROVIDER_GIT_CLASS_NAME);
} catch (ClassNotFoundException ex) {
//Exceptions.printStackTrace(ex);
}
provider_getColors = provider_CLASS.getDeclaredMethod( "getColors", new Class[0] ); //NOI18N
provider_colorsChanged = provider_CLASS.getDeclaredMethod( "colorsChanged", Map.class ); //NOI18N
}
return true;
} catch (ClassNotFoundException ex) {
Exceptions.printStackTrace(ex);
@ -166,6 +214,103 @@ public class TitanEditor {
//}
}
private static void extractColorsForModule (String name, Class provider) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
{
;
String res = "// <editor-fold desc=\"" +name + "\" defaultstate=\"collapsed\">" +
"\npublic static final org.idp.laf.Color[] " + name + " = {\n";
if (provider != null)
{
ArrayList <org.idp.laf.Color> colors_list = new ArrayList<Color>();
try {
provider_getInstance = provider.getDeclaredMethod( "getInstance", new Class[0] ); //NOI18N
Object provider_obj = provider_getInstance.invoke(null, new Object[0]);
Map<String, java.awt.Color[]> colors = (Map<String, java.awt.Color[]>) provider_getColors.invoke(provider_obj, new Object[0]);
for (String str : colors.keySet())
{
java.awt.Color[] val_arr = colors.get(str);
java.awt.Color cc = val_arr[0];
//System.out.println("val_arr L = " + val_arr.length);
res += " " + (new Color(str, Color.ColorClass.AT,
cc.getRed(),
cc.getGreen(),
cc.getBlue(),
cc.getAlpha(), "")).getString() + ",\n";
// colors_list.add);
}
} catch (NoSuchMethodException ex) {
Exceptions.printStackTrace(ex);
} catch (SecurityException ex) {
Exceptions.printStackTrace(ex);
}
for (org.idp.laf.Color cc : colors_list)
{
res += cc.getString() + ",\n";
}
}
res += "};\n";
res += "// </editor-fold>\n";
System.out.println(res);
}
private static void applyColorForModule (Class provider, org.idp.laf.Color[] colors_theme) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
{
if (provider != null)
{
try
{
provider_getInstance = provider.getDeclaredMethod( "getInstance", new Class[0] ); //NOI18N
Object provider_obj = provider_getInstance.invoke(null, new Object[0]);
Map<String, java.awt.Color[]> colors = (Map<String, java.awt.Color[]>) provider_getColors.invoke(provider_obj, new Object[0]);
Map<String, java.awt.Color> new_colours = new HashMap<String, java.awt.Color>();
boolean found_new = false;
for (String str : colors.keySet())
{
found_new = false;
for (org.idp.laf.Color cc : colors_theme)
{
if (cc.getName().equals(str))
{
java.awt.Color toSet = (java.awt.Color) cc.getObject();
new_colours.put(str, toSet);
found_new = true;
break;
}
}
if (!found_new)
{
new_colours.put(str, colors.get(str)[0]);
}
}
provider_colorsChanged.invoke(provider_obj, new_colours);
} catch (NoSuchMethodException ex) {
Exceptions.printStackTrace(ex);
} catch (SecurityException ex) {
Exceptions.printStackTrace(ex);
}
}
}
public static void load_editor ()
{
if (!pre_load()) return;
@ -196,6 +341,14 @@ public class TitanEditor {
process_set (str, category, false);
}
}
extractColorsForModule ("GIT", provider_GIT);
extractColorsForModule ("SVN", provider_SVN);
extractColorsForModule ("HG", provider_HG);
}
else
{
@ -223,7 +376,11 @@ public class TitanEditor {
}
}
applyColorForModule (provider_GIT, ColorTheme.GIT);
applyColorForModule (provider_SVN, ColorTheme.SVN);
applyColorForModule (provider_HG, ColorTheme.HG);
}
} catch (IllegalAccessException ex) {
Exceptions.printStackTrace(ex);

Loading…
Cancel
Save