From: <sh...@us...> - 2007-11-28 07:05:55
|
Revision: 11156 http://jedit.svn.sourceforge.net/jedit/?rev=11156&view=rev Author: shlomy Date: 2007-11-27 23:05:51 -0800 (Tue, 27 Nov 2007) Log Message: ----------- Change the way the plugin is started, to allow ProjectViewer to work The new window manager first closes the jEdit one, then reconstructs the views from scratch. Modified Paths: -------------- plugins/InfoNodeDW/trunk/jedit.patch plugins/InfoNodeDW/trunk/src/infonode/Plugin.java plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/jedit.patch =================================================================== --- plugins/InfoNodeDW/trunk/jedit.patch 2007-11-28 01:08:56 UTC (rev 11155) +++ plugins/InfoNodeDW/trunk/jedit.patch 2007-11-28 07:05:51 UTC (rev 11156) @@ -1,6 +1,6 @@ Index: org/gjt/sp/jedit/gui/DockableWindowFactory.java =================================================================== ---- org/gjt/sp/jedit/gui/DockableWindowFactory.java (revision 11145) +--- org/gjt/sp/jedit/gui/DockableWindowFactory.java (revision 11155) +++ org/gjt/sp/jedit/gui/DockableWindowFactory.java (working copy) @@ -167,11 +167,16 @@ } //}}} @@ -40,7 +40,7 @@ Index: org/gjt/sp/jedit/gui/DockableWindowManager.java =================================================================== ---- org/gjt/sp/jedit/gui/DockableWindowManager.java (revision 11145) +--- org/gjt/sp/jedit/gui/DockableWindowManager.java (revision 11155) +++ org/gjt/sp/jedit/gui/DockableWindowManager.java (working copy) @@ -210,7 +210,7 @@ * @param config A docking configuration @@ -53,9 +53,9 @@ setLayout(new DockableLayout()); Index: org/gjt/sp/jedit/View.java =================================================================== ---- org/gjt/sp/jedit/View.java (revision 11145) +--- org/gjt/sp/jedit/View.java (revision 11155) +++ org/gjt/sp/jedit/View.java (working copy) -@@ -199,6 +199,16 @@ +@@ -199,6 +199,15 @@ //}}} @@ -63,7 +63,6 @@ + { + getContentPane().add(dwm,0); + getContentPane().remove(dockableWindowManager); -+ dockableWindowManager.close(); + dockableWindowManager = dwm; + propertiesChanged(); + getContentPane().validate(); @@ -72,7 +71,7 @@ //{{{ getDockableWindowManager() method /** * Returns the dockable window manager associated with this view. -@@ -1170,7 +1180,8 @@ +@@ -1170,7 +1179,8 @@ setIconImage(GUIUtilities.getEditorIcon()); Modified: plugins/InfoNodeDW/trunk/src/infonode/Plugin.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/Plugin.java 2007-11-28 01:08:56 UTC (rev 11155) +++ plugins/InfoNodeDW/trunk/src/infonode/Plugin.java 2007-11-28 07:05:51 UTC (rev 11156) @@ -23,6 +23,7 @@ public static void doStart(View view) { WindowManager wm = new WindowManager(); windowManagers.put(view, wm); + view.getDockableWindowManager().close(); wm.construct(view, DockableWindowFactory.getInstance(), view.getViewConfig()); view.setDockableWindowManager(wm); } Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 01:08:56 UTC (rev 11155) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 07:05:51 UTC (rev 11156) @@ -84,7 +84,6 @@ private void convertView(org.gjt.sp.jedit.View view) { viewMap = new JEditViewMap(this); positions = new HashMap<String, String>(); - DockableWindowManager dwm = view.getDockableWindowManager(); JComponent editPane = view.getSplitPane(); if (editPane == null) editPane = view.getEditPane(); @@ -94,10 +93,27 @@ mainView.setName(MAIN_VIEW_NAME); mainView.getViewProperties().setAlwaysShowTitle(false); viewMap.addView(MAIN_VIEW_NAME, mainView); - left = addDockables(dwm, dwm.getLeftDockingArea().getDockables()); - right = addDockables(dwm, dwm.getRightDockingArea().getDockables()); - bottom = addDockables(dwm, dwm.getBottomDockingArea().getDockables()); - top = addDockables(dwm, dwm.getTopDockingArea().getDockables()); + String [] dockables = factory.getRegisteredDockableWindows(); + Vector<String> leftDockables = new Vector<String>(); + Vector<String> rightDockables = new Vector<String>(); + Vector<String> bottomDockables = new Vector<String>(); + Vector<String> topDockables = new Vector<String>(); + for (int i = 0; i < dockables.length; i++) { + String dockable = dockables[i]; + String pos = getDockablePosition(dockable); + if (pos.equals(DockableWindowManager.LEFT)) + leftDockables.add(dockable); + else if (pos.equals(DockableWindowManager.RIGHT)) + rightDockables.add(dockable); + else if (pos.equals(DockableWindowManager.BOTTOM)) + bottomDockables.add(dockable); + else if (pos.equals(DockableWindowManager.TOP)) + topDockables.add(dockable); + } + left = addDockables(leftDockables); + right = addDockables(rightDockables); + bottom = addDockables(bottomDockables); + top = addDockables(topDockables); rootWindow = DockingUtil.createRootWindow(viewMap, true); rootWindow.getRootWindowProperties().getWindowAreaProperties().setBackgroundColor(center.getBackground()); leftTab = createTabs(left, Direction.LEFT, Direction.UP); @@ -149,14 +165,12 @@ else return title; } - private Vector<View> addDockables(DockableWindowManager dwm, String[] windows) { + private Vector<View> addDockables(Vector<String> dockables) { Vector<View> areaViews = new Vector<View>(); - for (int i = 0; i < windows.length; i++) { - String name = windows[i]; - dwm.showDockableWindow(name); - JComponent window = dwm.getDockable(name); - View v = createDockableView(name, window); - areaViews.add(v); + for (int i = 0; i < dockables.size(); i++) { + String name = dockables.get(i); + showDockableWindow(name); + areaViews.add(viewMap.getView(name)); } return areaViews; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |