From: <sh...@us...> - 2007-11-28 15:34:02
|
Revision: 11158 http://jedit.svn.sourceforge.net/jedit/?rev=11158&view=rev Author: shlomy Date: 2007-11-28 07:33:54 -0800 (Wed, 28 Nov 2007) Log Message: ----------- Support for selecting themes Modified Paths: -------------- plugins/InfoNodeDW/trunk/InfoNodeDW.props plugins/InfoNodeDW/trunk/actions.xml plugins/InfoNodeDW/trunk/src/infonode/JEditViewMap.java plugins/InfoNodeDW/trunk/src/infonode/Plugin.java plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/InfoNodeDW.props =================================================================== --- plugins/InfoNodeDW/trunk/InfoNodeDW.props 2007-11-28 10:43:51 UTC (rev 11157) +++ plugins/InfoNodeDW/trunk/InfoNodeDW.props 2007-11-28 15:33:54 UTC (rev 11158) @@ -24,9 +24,12 @@ infonode-start.label=Start infonode-load.label=Load... infonode-save.label=Save... +infonode-select-theme.label=Select theme... # menus -plugin.infonode.Plugin.menu=infonode-start infonode-load infonode-save +plugin.infonode.Plugin.menu=infonode-start infonode-load infonode-save \ + - \ + infonode-select-theme # docs #plugin.ctags.sidekick.Plugin.docs=index.html Modified: plugins/InfoNodeDW/trunk/actions.xml =================================================================== --- plugins/InfoNodeDW/trunk/actions.xml 2007-11-28 10:43:51 UTC (rev 11157) +++ plugins/InfoNodeDW/trunk/actions.xml 2007-11-28 15:33:54 UTC (rev 11158) @@ -17,6 +17,11 @@ infonode.Plugin.save(view); </CODE> </ACTION> + <ACTION NAME="infonode-select-theme" NO_REPEAT="TRUE"> + <CODE> + infonode.Plugin.selectTheme(view); + </CODE> + </ACTION> </ACTIONS> Modified: plugins/InfoNodeDW/trunk/src/infonode/JEditViewMap.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/JEditViewMap.java 2007-11-28 10:43:51 UTC (rev 11157) +++ plugins/InfoNodeDW/trunk/src/infonode/JEditViewMap.java 2007-11-28 15:33:54 UTC (rev 11158) @@ -3,7 +3,6 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; -import java.util.HashMap; import net.infonode.docking.View; import net.infonode.docking.util.StringViewMap; Modified: plugins/InfoNodeDW/trunk/src/infonode/Plugin.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/Plugin.java 2007-11-28 10:43:51 UTC (rev 11157) +++ plugins/InfoNodeDW/trunk/src/infonode/Plugin.java 2007-11-28 15:33:54 UTC (rev 11158) @@ -52,4 +52,8 @@ f.mkdir(); return dir; } + public static void selectTheme(View view) { + WindowManager wm = windowManagers.get(view); + wm.selectTheme(); + } } Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 10:43:51 UTC (rev 11157) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 15:33:54 UTC (rev 11158) @@ -14,6 +14,7 @@ import java.util.Vector; import javax.swing.JComponent; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; @@ -23,6 +24,15 @@ import net.infonode.docking.TabWindow; import net.infonode.docking.View; import net.infonode.docking.properties.TabWindowProperties; +import net.infonode.docking.theme.BlueHighlightDockingTheme; +import net.infonode.docking.theme.ClassicDockingTheme; +import net.infonode.docking.theme.DefaultDockingTheme; +import net.infonode.docking.theme.DockingWindowsTheme; +import net.infonode.docking.theme.GradientDockingTheme; +import net.infonode.docking.theme.LookAndFeelDockingTheme; +import net.infonode.docking.theme.ShapedGradientDockingTheme; +import net.infonode.docking.theme.SlimFlatDockingTheme; +import net.infonode.docking.theme.SoftBlueIceDockingTheme; import net.infonode.docking.util.DockingUtil; import net.infonode.util.Direction; @@ -55,7 +65,25 @@ private PanelWindowContainer topPanel, bottomPanel, leftPanel, rightPanel; private TabWindow leftTab, rightTab, bottomTab, topTab; private HashMap<String, String> positions; + private DockingWindowsTheme currentTheme = null; + private static DockingWindowsTheme [] themes = new DockingWindowsTheme[] { + new BlueHighlightDockingTheme(), + new ClassicDockingTheme(), + new DefaultDockingTheme(), + new GradientDockingTheme(), + new LookAndFeelDockingTheme(), + new ShapedGradientDockingTheme(), + new SlimFlatDockingTheme(), + new SoftBlueIceDockingTheme() + }; + private static String [] themeNames; + { + themeNames = new String[themes.length]; + for (int i = 0; i < themes.length; i++) + themeNames[i] = themes[i].getName(); + } + @Override protected void addImpl(Component comp, Object constraints, int index) { if (constraints.equals(DockableLayout.TOP_TOOLBARS)) @@ -415,10 +443,8 @@ rootWindow.read(ois); ois.close(); } catch (FileNotFoundException e) { - // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { - // TODO Auto-generated catch block e.printStackTrace(); } } @@ -429,11 +455,27 @@ rootWindow.write(ous); ous.close(); } catch (FileNotFoundException e1) { - // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { - // TODO Auto-generated catch block e1.printStackTrace(); } } + private void setTheme(String theme) { + if (theme == null) + return; + for (int i = 0; i < themeNames.length; i++) + if (themeNames[i].equals(theme)) { + if (currentTheme != null) + rootWindow.getRootWindowProperties().removeSuperObject(currentTheme.getRootWindowProperties()); + rootWindow.getRootWindowProperties().addSuperObject(themes[i].getRootWindowProperties()); + currentTheme = themes[i]; + return; + } + } + public void selectTheme() { + String defaultTheme = (currentTheme != null) ? currentTheme.getName() : themeNames[0]; + String theme = (String) JOptionPane.showInputDialog(view, + "Select a theme:", "Themes", 0, null, themeNames, defaultTheme); + setTheme(theme); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |