diff --git a/src/org/idp/laf/ColorTheme.java b/src/org/idp/laf/ColorTheme.java
index 50d4563..60454bc 100644
--- a/src/org/idp/laf/ColorTheme.java
+++ b/src/org/idp/laf/ColorTheme.java
@@ -370,6 +370,18 @@ public static final org.idp.laf.Color[] HG = {
};
//
+//
+public static final org.idp.laf.Color[] DIFF = {
+ new org.idp.laf.Color("addedColor", org.idp.laf.Color.ColorClass.AT, 48, 94, 9, 255, ""),
+ new org.idp.laf.Color("changedColor", org.idp.laf.Color.ColorClass.AT, 6, 63, 63, 255, ""),
+ new org.idp.laf.Color("deletedColor", org.idp.laf.Color.ColorClass.AT, 94, 9, 35, 255, ""),
+ new org.idp.laf.Color("merge.appliedColor", org.idp.laf.Color.ColorClass.AT, 30, 93, 93, 255, ""),
+ new org.idp.laf.Color("merge.notappliedColor", org.idp.laf.Color.ColorClass.AT, 138, 45, 73, 255, ""),
+ new org.idp.laf.Color("merge.unresolvedColor", org.idp.laf.Color.ColorClass.AT, 155, 98, 50, 255, ""),
+ new org.idp.laf.Color("sidebar.changedColor", org.idp.laf.Color.ColorClass.AT, 155, 98, 50, 255, ""),
+ new org.idp.laf.Color("sidebar.deletedColor", org.idp.laf.Color.ColorClass.AT, 87, 138, 45, 255, "")
+};
+//
public static final HashMap > color_map;
diff --git a/src/org/idp/laf/TitanEditor.java b/src/org/idp/laf/TitanEditor.java
index be53ba7..746f80e 100644
--- a/src/org/idp/laf/TitanEditor.java
+++ b/src/org/idp/laf/TitanEditor.java
@@ -17,6 +17,7 @@ import java.util.Map;
import java.util.Set;
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;
+import javax.swing.UIManager;
import javax.swing.text.AttributeSet;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
@@ -37,6 +38,7 @@ public class TitanEditor {
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 String PROVIDER_DIFF_CLASS_NAME = "org.netbeans.modules.diff.DiffModuleConfig"; //NOI18N
private static final boolean no_load = false;
@@ -86,16 +88,101 @@ public class TitanEditor {
private static Class provider_SVN = null;
private static Class provider_HG = null;
private static Class provider_CLASS = null;
+ private static Class provider_DIFF = null;
private static Method provider_getInstance;
private static Method provider_getColors;
private static Method provider_colorsChanged;
- private static ClassLoader working_classLoader = null;
-
+ private static Method provider_getDefault;
+ private static Method provider_getPreferences;
+ private static ClassLoader working_classLoader = null;
+
+ private static void extractDiffModule () throws IllegalAccessException
+ {
+ HashMap linkMap = new HashMap();
+
+ java.awt.Color nb_diff_added_color = (java.awt.Color) UIManager.get ("nb.diff.added.color");
+ java.awt.Color nb_diff_changed_color = (java.awt.Color) UIManager.get ("nb.diff.changed.color");
+ java.awt.Color nb_diff_deleted_color = (java.awt.Color) UIManager.get ("nb.diff.deleted.color");
+ java.awt.Color nb_diff_applied_color = (java.awt.Color) UIManager.get ("nb.diff.applied.color");
+ java.awt.Color nb_diff_notapplied_color = (java.awt.Color) UIManager.get ("nb.diff.notapplied.color");
+ java.awt.Color nb_diff_unresolved_color = (java.awt.Color) UIManager.get ("nb.diff.unresolved.color");
+ java.awt.Color nb_diff_sidebar_deleted_color = (java.awt.Color) UIManager.get ("nb.diff.sidebar.deleted.color");
+ java.awt.Color nb_diff_sidebar_changed_color = (java.awt.Color) UIManager.get ("nb.diff.sidebar.changed.color");
+
+ String[] keys =
+ {
+ "addedColor",
+ "changedColor",
+ "deletedColor",
+ "merge.appliedColor",
+ "merge.notappliedColor",
+ "merge.unresolvedColor",
+ "sidebar.changedColor",
+ "sidebar.deletedColor"
+ };
+
+ linkMap.put("addedColor" , nb_diff_added_color.getRGB());
+ linkMap.put("changedColor" , nb_diff_changed_color.getRGB());
+ linkMap.put("deletedColor" , nb_diff_deleted_color.getRGB());
+ linkMap.put("merge.appliedColor" , nb_diff_applied_color.getRGB());
+ linkMap.put("merge.notappliedColor" , nb_diff_notapplied_color.getRGB());
+ linkMap.put("merge.unresolvedColor" , nb_diff_unresolved_color.getRGB());
+ linkMap.put("sidebar.changedColor" , nb_diff_sidebar_deleted_color.getRGB());
+ linkMap.put("sidebar.deletedColor" , nb_diff_sidebar_changed_color.getRGB());
+
+ String res = "// " +
+ "\npublic static final org.idp.laf.Color[] DIFF = {\n";
+
+ if (provider_DIFF != null)
+ {
+ try
+ {
+ Object defaults = provider_getDefault.invoke(null, new Object[0]);
+ Preferences preferences = (Preferences) provider_getPreferences.invoke(defaults, new Object[0]);
+ for (int i = 0; i < keys.length; i ++)
+ {
+ java.awt.Color c = new java.awt.Color(preferences.getInt(keys[i], linkMap.get(keys[i])));
+
+ res += " " + (new Color(keys[i], Color.ColorClass.AT,
+ c.getRed(),
+ c.getGreen(),
+ c.getBlue(),
+ c.getAlpha(), "")).getString();
+
+ if (i != keys.length - 1)
+ {
+ res += ", \n";
+ }
+ else
+ {
+ res += "\n";
+ }
+ }
+ } catch (InvocationTargetException ex) {
+ Exceptions.printStackTrace(ex);
+ }
+ }
+
+ res += "};\n";
+ res += "// \n";
+ System.out.println(res);
+ }
+
+ private static void applyColorForDiffModule () throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
+ {
+ Object defaults = provider_getDefault.invoke(null, new Object[0]);
+ Preferences preferences = (Preferences) provider_getPreferences.invoke(defaults, new Object[0]);
+
+ for (org.idp.laf.Color cc : ColorTheme.DIFF)
+ {
+ preferences.putInt(cc.getPname(), ((java.awt.Color)cc.getObject()).getRGB());
+ }
+ }
private static boolean pre_load ()
@@ -105,71 +192,72 @@ public class TitanEditor {
{
try {
- 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);
+ 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
+ DisplayName = EDITOR_SETTINGS.getField("DisplayName"); //NOI18N
+ WaveUnderlineColor = EDITOR_SETTINGS.getField("WaveUnderlineColor"); //NOI18N
- 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
+ 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
- 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
+ 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
- setHighlight = ANNOTATION_TYPE.getDeclaredMethod( "setHighlight", java.awt.Color.class ); //NOI18N
- setForegroundColor = ANNOTATION_TYPE.getDeclaredMethod( "setForegroundColor", java.awt.Color.class ); //NOI18N
- setWaveUnderlineColor = ANNOTATION_TYPE.getDeclaredMethod( "setWaveUnderlineColor", java.awt.Color.class ); //NOI18N
+ setHighlight = ANNOTATION_TYPE.getDeclaredMethod( "setHighlight", java.awt.Color.class ); //NOI18N
+ 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
+ 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
+ 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
- setAnnotations = COLOR_MODEL.getDeclaredMethod( "setAnnotations", String.class, Collection.class ); //NOI18N
- setHighlightings = COLOR_MODEL.getDeclaredMethod( "setHighlightings", String.class, Collection.class ); //NOI18N
- setCategories = COLOR_MODEL.getDeclaredMethod( "setCategories",String.class, String.class, Collection.class ); //NOI18N
+ setAnnotations = COLOR_MODEL.getDeclaredMethod( "setAnnotations", String.class, Collection.class ); //NOI18N
+ setHighlightings = COLOR_MODEL.getDeclaredMethod( "setHighlightings", String.class, Collection.class ); //NOI18N
+ setCategories = COLOR_MODEL.getDeclaredMethod( "setCategories",String.class, String.class, Collection.class ); //NOI18N
- getLanguages = COLOR_MODEL.getDeclaredMethod( "getLanguages", new Class[0] ); //NOI18N
+ getLanguages = COLOR_MODEL.getDeclaredMethod( "getLanguages", new Class[0] ); //NOI18N
- const_DisplayName = DisplayName.get(EDITOR_SETTINGS);
- const_WaveUnderlineColor = WaveUnderlineColor.get(EDITOR_SETTINGS);
- colorModel = COLOR_MODEL.newInstance();
+ const_DisplayName = DisplayName.get(EDITOR_SETTINGS);
+ const_WaveUnderlineColor = WaveUnderlineColor.get(EDITOR_SETTINGS);
+ colorModel = COLOR_MODEL.newInstance();
+
+ provider_CLASS = working_classLoader.loadClass(PROVIDER_CLASS_NAME);
+ provider_DIFF = working_classLoader.loadClass(PROVIDER_DIFF_CLASS_NAME);
+
+ if (provider_DIFF != null)
+ {
+ provider_getDefault = provider_DIFF.getDeclaredMethod( "getDefault", new Class[0] ); //NOI18N
+ provider_getPreferences = provider_DIFF.getDeclaredMethod( "getPreferences", new Class[0] ); //NOI18N
+ }
- 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);
- }
+ } catch (ClassNotFoundException ex) {}
try {
provider_SVN = working_classLoader.loadClass(PROVIDER_SVN_CLASS_NAME);
- } catch (ClassNotFoundException ex) {
- //Exceptions.printStackTrace(ex);
- }
+ } catch (ClassNotFoundException ex) {}
try {
provider_GIT = working_classLoader.loadClass(PROVIDER_GIT_CLASS_NAME);
- } catch (ClassNotFoundException ex) {
- //Exceptions.printStackTrace(ex);
- }
+ } catch (ClassNotFoundException ex) {}
- provider_getColors = provider_CLASS.getDeclaredMethod( "getColors", new Class[0] ); //NOI18N
- provider_colorsChanged = provider_CLASS.getDeclaredMethod( "colorsChanged", Map.class ); //NOI18N
+ 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);
@@ -347,7 +435,7 @@ public class TitanEditor {
extractColorsForModule ("HG", provider_HG);
-
+ extractDiffModule();
}
else
@@ -381,6 +469,9 @@ public class TitanEditor {
applyColorForModule (provider_SVN, ColorTheme.SVN);
applyColorForModule (provider_HG, ColorTheme.HG);
+ applyColorForDiffModule ();
+
+
}
} catch (IllegalAccessException ex) {
Exceptions.printStackTrace(ex);