From: <sh...@us...> - 2007-11-26 21:35:00
|
Revision: 11145 http://jedit.svn.sourceforge.net/jedit/?rev=11145&view=rev Author: shlomy Date: 2007-11-26 13:34:55 -0800 (Mon, 26 Nov 2007) Log Message: ----------- Some updates Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-26 21:16:28 UTC (rev 11144) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-26 21:34:55 UTC (rev 11145) @@ -31,17 +31,16 @@ @SuppressWarnings("serial") public class WindowManager extends DockableWindowManager { - org.gjt.sp.jedit.View view; - DockableWindowFactory factory; - ViewMap viewMap; - Vector<View> views; + private org.gjt.sp.jedit.View view; + private DockableWindowFactory factory; + private ViewMap viewMap; private RootWindow rootWindow; private HashMap<String, JComponent> windows = new HashMap<String, JComponent>(); private JComponent center; + private TabWindow left, right, top, bottom; @Override protected void addImpl(Component comp, Object constraints, int index) { - System.err.println("addImpl"); if (constraints.equals(DockableLayout.TOP_TOOLBARS)) center.add(comp, BorderLayout.NORTH); else if (constraints.equals(DockableLayout.BOTTOM_TOOLBARS)) @@ -60,7 +59,6 @@ } private void convertView(org.gjt.sp.jedit.View view) { viewMap = new ViewMap(); - views = new Vector<View>(); DockableWindowManager dwm = view.getDockableWindowManager(); JComponent editPane = view.getSplitPane(); if (editPane == null) @@ -70,48 +68,36 @@ View main = new View("Main", null, center); main.getViewProperties().setAlwaysShowTitle(false); viewMap.addView(0, main); - views.add(main); - TabWindow left = addDockables(dwm, dwm.getLeftDockingArea().getDockables(), + left = addDockables(dwm, dwm.getLeftDockingArea().getDockables(), Direction.LEFT, Direction.UP); - TabWindow right = addDockables(dwm, dwm.getRightDockingArea().getDockables(), + right = addDockables(dwm, dwm.getRightDockingArea().getDockables(), Direction.RIGHT, Direction.DOWN); - TabWindow bottom = addDockables(dwm, dwm.getBottomDockingArea().getDockables(), + bottom = addDockables(dwm, dwm.getBottomDockingArea().getDockables(), Direction.UP, Direction.RIGHT); - TabWindow top = addDockables(dwm, dwm.getTopDockingArea().getDockables(), + top = addDockables(dwm, dwm.getTopDockingArea().getDockables(), Direction.UP, Direction.RIGHT); rootWindow = DockingUtil.createRootWindow(viewMap, true); rootWindow.getRootWindowProperties().getWindowAreaProperties().setBackgroundColor(center.getBackground()); SplitWindow sw = null; - if (left != null) + if (left.getChildWindowCount() > 0) sw = new SplitWindow(true, 0.25f, left, main); - if (right != null) - if (sw != null) - sw = new SplitWindow(true, 0.75f, sw, right); - else - sw = new SplitWindow(true, 0.75f, main, right); - if (bottom != null) - if (sw != null) - sw = new SplitWindow(false, 0.75f, sw, bottom); - else - sw = new SplitWindow(false, 0.75f, main, bottom); - if (top != null) - if (sw != null) - sw = new SplitWindow(false, 0.25f, top, sw); - else - sw = new SplitWindow(false, 0.25f, top, main); - rootWindow.setWindow(sw); + if (right.getChildWindowCount() > 0) + sw = new SplitWindow(true, 0.75f, (sw == null) ? main : sw, right); + if (bottom.getChildWindowCount() > 0) + sw = new SplitWindow(false, 0.75f, (sw == null) ? main : sw, bottom); + if (top.getChildWindowCount() > 0) + sw = new SplitWindow(false, 0.25f, top, (sw == null) ? main : sw); + if (sw != null ) + rootWindow.setWindow(sw); } private TabWindow addDockables(DockableWindowManager dwm, String[] windows, Direction tabPosition, Direction tabDirection) { - if (windows.length == 0) - return null; View [] areaViews = new View[windows.length]; for (int i = 0; i < windows.length; i++) { dwm.showDockableWindow(windows[i]); JComponent window = dwm.getDockable(windows[i]); View v = new View(dwm.getDockableTitle(windows[i]), null, window); - //viewMap.addView(views.size(), v); - //views.add(v); + //viewMap.addView(viewMap.getViewCount(), v); areaViews[i] = v; } TabWindow tw = new TabWindow(areaViews); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-27 07:35:48
|
Revision: 11148 http://jedit.svn.sourceforge.net/jedit/?rev=11148&view=rev Author: shlomy Date: 2007-11-26 23:35:47 -0800 (Mon, 26 Nov 2007) Log Message: ----------- Support for getting and showing dockables. Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 06:53:20 UTC (rev 11147) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 07:35:47 UTC (rev 11148) @@ -23,6 +23,7 @@ import net.infonode.util.Direction; import org.gjt.sp.jedit.EBMessage; +import org.gjt.sp.jedit.EditBus; import org.gjt.sp.jedit.jEdit; import org.gjt.sp.jedit.View.ViewConfig; import org.gjt.sp.jedit.gui.DockableLayout; @@ -30,6 +31,7 @@ import org.gjt.sp.jedit.gui.DockableWindowFactory; import org.gjt.sp.jedit.gui.DockableWindowManager; import org.gjt.sp.jedit.gui.PanelWindowContainer; +import org.gjt.sp.jedit.msg.DockableWindowUpdate; @SuppressWarnings("serial") public class WindowManager extends DockableWindowManager { @@ -38,10 +40,12 @@ private DockableWindowFactory factory; private ViewMap viewMap; private RootWindow rootWindow; - private HashMap<String, JComponent> windows = new HashMap<String, JComponent>(); private JComponent center; private Vector<View> left, right, top, bottom; private View mainView; + private PanelWindowContainer topPanel, bottomPanel, leftPanel, rightPanel; + private HashMap<String, Integer> dockables; + private TabWindow leftTab, rightTab, bottomTab, topTab; public static void main(String [] args) { View[] views = new View[5]; @@ -83,9 +87,14 @@ convertView(view); setLayout(new BorderLayout()); add(rootWindow, BorderLayout.CENTER); + topPanel = new PanelWindowContainer(this,TOP,config.topPos); + leftPanel = new PanelWindowContainer(this,LEFT,config.leftPos); + bottomPanel = new PanelWindowContainer(this,BOTTOM,config.bottomPos); + rightPanel = new PanelWindowContainer(this,RIGHT,config.rightPos); } private void convertView(org.gjt.sp.jedit.View view) { viewMap = new ViewMap(); + dockables = new HashMap<String, Integer>(); DockableWindowManager dwm = view.getDockableWindowManager(); JComponent editPane = view.getSplitPane(); if (editPane == null) @@ -101,11 +110,15 @@ top = addDockables(dwm, dwm.getTopDockingArea().getDockables()); rootWindow = DockingUtil.createRootWindow(viewMap, true); rootWindow.getRootWindowProperties().getWindowAreaProperties().setBackgroundColor(center.getBackground()); + leftTab = createTabs(left, Direction.LEFT, Direction.UP); + rightTab = createTabs(right, Direction.RIGHT, Direction.DOWN); + bottomTab = createTabs(bottom, Direction.UP, Direction.RIGHT); + topTab = createTabs(top, Direction.UP, Direction.RIGHT); DockingWindow sw = null; - sw = addArea(left, Direction.LEFT, Direction.UP, mainView, true, true, 0.25f); - sw = addArea(right, Direction.RIGHT, Direction.DOWN, sw, true, false, 0.75f); - sw = addArea(bottom, Direction.UP, Direction.RIGHT, sw, false, false, 0.75f); - sw = addArea(top, Direction.UP, Direction.RIGHT, sw, false, true, 0.25f); + sw = addArea(leftTab, mainView, true, true, 0.25f); + sw = addArea(rightTab, sw, true, false, 0.75f); + sw = addArea(bottomTab, sw, false, false, 0.75f); + sw = addArea(topTab, sw, false, true, 0.25f); rootWindow.setWindow(sw); } private DockingWindow [] convertToArray(Vector<View> views) { @@ -113,15 +126,17 @@ views.toArray(windows); return windows; } - private DockingWindow addArea(Vector<View> views, Direction side, Direction dir, - DockingWindow dw, boolean isHorizontal, boolean areaFirst, float divider) { - if (views.isEmpty()) - return dw; + private TabWindow createTabs(Vector<View> views, Direction side, Direction dir) { DockingWindow [] w = convertToArray(views); TabWindow tw = new TabWindow(w); TabWindowProperties twp = tw.getTabWindowProperties(); twp.getTabbedPanelProperties().setTabAreaOrientation(side); twp.getTabProperties().getTitledTabProperties().getNormalProperties().setDirection(dir); + return tw; + } + private DockingWindow addArea(TabWindow tw, DockingWindow dw, boolean isHorizontal, boolean areaFirst, float divider) { + if (tw.getChildWindowCount() == 0) + return dw; DockingWindow w1 = (areaFirst ? tw : dw); DockingWindow w2 = (areaFirst ? dw : tw); return new SplitWindow(isHorizontal, divider, w1, w2); @@ -129,10 +144,13 @@ private Vector<View> addDockables(DockableWindowManager dwm, String[] windows) { Vector<View> areaViews = new Vector<View>(); for (int i = 0; i < windows.length; i++) { - dwm.showDockableWindow(windows[i]); - JComponent window = dwm.getDockable(windows[i]); - View v = new View(dwm.getDockableTitle(windows[i]), null, window); - viewMap.addView(viewMap.getViewCount(), v); + String name = windows[i]; + dwm.showDockableWindow(name); + JComponent window = dwm.getDockable(name); + View v = new View(dwm.getDockableTitle(name), null, window); + int n = viewMap.getViewCount(); + dockables.put(name, n); + viewMap.addView(n, v); areaViews.add(v); } return areaViews; @@ -180,30 +198,26 @@ } @Override public PanelWindowContainer getBottomDockingArea() { - return super.getBottomDockingArea(); + return bottomPanel; } @Override public JComponent getDockable(String name) { - return windows.get(name); + Integer index = dockables.get(name); + if (index == null) + return null; + return (JComponent)viewMap.getView(index.intValue()).getComponent(); } @Override - public String getDockableTitle(String name) { - String t = jEdit.getProperty(name + ".longtitle"); - if (t == null) - t = jEdit.getProperty(name + ".title"); - return t; - } - @Override public PanelWindowContainer getLeftDockingArea() { - return super.getLeftDockingArea(); + return leftPanel; } @Override public PanelWindowContainer getRightDockingArea() { - return super.getRightDockingArea(); + return rightPanel; } @Override public PanelWindowContainer getTopDockingArea() { - return super.getTopDockingArea(); + return topPanel; } @Override public org.gjt.sp.jedit.View getView() { @@ -241,18 +255,6 @@ public boolean isDockableWindowVisible(String name) { return isDockableWindowDocked(name); } - @Override - public void paintChildren(Graphics g) { - // TODO Auto-generated method stub - super.paintChildren(g); - } - @Override - public void setDockableTitle(String dockableName, String newTitle) { - String propName = dockableName + ".longtitle"; - String oldTitle = jEdit.getProperty(propName); - jEdit.setProperty(propName, newTitle); - firePropertyChange(propName, oldTitle, newTitle); - } public void init() { /* EditBus.addToBus(this); @@ -284,11 +286,14 @@ } @Override public void showDockableWindow(String name) { - /* - DockingManager.display(name); + Integer i = dockables.get(name); + if (i == null) { + // Create dockable from factory and show it + return; + } + viewMap.getView(i.intValue()).makeVisible(); Object reason = DockableWindowUpdate.ACTIVATED; EditBus.send(new DockableWindowUpdate(this, reason, name)); - */ } public Component add(Component comp, int index) { //return mainView.add(comp, index); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-27 09:44:29
|
Revision: 11149 http://jedit.svn.sourceforge.net/jedit/?rev=11149&view=rev Author: shlomy Date: 2007-11-27 01:44:28 -0800 (Tue, 27 Nov 2007) Log Message: ----------- Enabled opening of new dockable windows Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 07:35:47 UTC (rev 11148) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 09:44:28 UTC (rev 11149) @@ -2,7 +2,6 @@ import java.awt.BorderLayout; import java.awt.Component; -import java.awt.Graphics; import java.util.HashMap; import java.util.Vector; @@ -31,6 +30,7 @@ import org.gjt.sp.jedit.gui.DockableWindowFactory; import org.gjt.sp.jedit.gui.DockableWindowManager; import org.gjt.sp.jedit.gui.PanelWindowContainer; +import org.gjt.sp.jedit.gui.DockableWindowFactory.Window; import org.gjt.sp.jedit.msg.DockableWindowUpdate; @SuppressWarnings("serial") @@ -114,6 +114,9 @@ rightTab = createTabs(right, Direction.RIGHT, Direction.DOWN); bottomTab = createTabs(bottom, Direction.UP, Direction.RIGHT); topTab = createTabs(top, Direction.UP, Direction.RIGHT); + setViewLayout(); + } + private void setViewLayout() { DockingWindow sw = null; sw = addArea(leftTab, mainView, true, true, 0.25f); sw = addArea(rightTab, sw, true, false, 0.75f); @@ -141,13 +144,28 @@ DockingWindow w2 = (areaFirst ? dw : tw); return new SplitWindow(isHorizontal, divider, w1, w2); } + public String getDockableTitle(String name) { + String title = jEdit.getProperty(name + ".longtitle"); + if (title == null) + return getDockableShortTitle(name); + else + return title; + } + private String getDockableShortTitle(String name) + { + String title = jEdit.getProperty(name + ".title"); + if(title == null) + return "NO TITLE PROPERTY: " + name; + else + return title; + } private Vector<View> addDockables(DockableWindowManager dwm, String[] windows) { 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 = new View(dwm.getDockableTitle(name), null, window); + View v = new View(getDockableTitle(name), null, window); int n = viewMap.getViewCount(); dockables.put(name, n); viewMap.addView(n, v); @@ -289,11 +307,35 @@ Integer i = dockables.get(name); if (i == null) { // Create dockable from factory and show it - return; + Window w = factory.getDockableWindowFactory(name); + String position = jEdit.getProperty(name + ".dock-position"); + if (position != null) { + JComponent c = w.createDockableWindow(view, position); + View v = new View(getDockableTitle(name), null, c); + int n = viewMap.getViewCount(); + dockables.put(name, n); + i = Integer.valueOf(n); + viewMap.addView(n, v); + TabWindow tw = null; + if (position.equals(DockableWindowManager.LEFT)) + tw = leftTab; + else if (position.equals(DockableWindowManager.RIGHT)) + tw = rightTab; + else if (position.equals(DockableWindowManager.BOTTOM)) + tw = bottomTab; + if (position.equals(DockableWindowManager.TOP)) + tw = topTab; + if (tw != null) { + tw.addTab(v); + setViewLayout(); + } + } } - viewMap.getView(i.intValue()).makeVisible(); - Object reason = DockableWindowUpdate.ACTIVATED; - EditBus.send(new DockableWindowUpdate(this, reason, name)); + if (i != null) { + viewMap.getView(i.intValue()).makeVisible(); + Object reason = DockableWindowUpdate.ACTIVATED; + EditBus.send(new DockableWindowUpdate(this, reason, name)); + } } public Component add(Component comp, int index) { //return mainView.add(comp, index); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-27 12:57:29
|
Revision: 11151 http://jedit.svn.sourceforge.net/jedit/?rev=11151&view=rev Author: shlomy Date: 2007-11-27 04:57:27 -0800 (Tue, 27 Nov 2007) Log Message: ----------- Fixes for opening dockables via Global Options / Docking. Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 10:56:42 UTC (rev 11150) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 12:57:27 UTC (rev 11151) @@ -229,8 +229,10 @@ for (int i = 0; i < windowList.length; i++) { String name = windowList[i]; String position = getDockablePosition(name); + if (position.equals(DockableWindowManager.FLOATING)) + continue; String curPosition = getCurrentDockablePosition(name); - if ((position != null && position.equals(curPosition)) || position == curPosition) + if (position == null || position.equals(curPosition)) continue; showDockableWindow(name); } @@ -355,34 +357,41 @@ @Override public void showDockableWindow(String name) { Integer i = dockables.get(name); + String position = getDockablePosition(name); + if (position.equals(DockableWindowManager.FLOATING)) + return; + View v; + boolean repos = false; if (i == null) { - // Create dockable from factory and show it Window w = factory.getDockableWindowFactory(name); - String position = getDockablePosition(name); - if (position != null) { - JComponent c = w.createDockableWindow(view, position); - i = Integer.valueOf(viewMap.getViewCount()); - View v = createDockableView(name, c); - TabWindow tw = null; - if (position.equals(DockableWindowManager.LEFT)) - tw = leftTab; - else if (position.equals(DockableWindowManager.RIGHT)) - tw = rightTab; - else if (position.equals(DockableWindowManager.BOTTOM)) - tw = bottomTab; - if (position.equals(DockableWindowManager.TOP)) - tw = topTab; - if (tw != null) { - tw.addTab(v); - setViewLayout(); - } + JComponent c = w.createDockableWindow(view, position); + i = Integer.valueOf(viewMap.getViewCount()); + v = createDockableView(name, c); + repos = true; + } else { + v = viewMap.getView(i.intValue()); + String curPosition = getCurrentDockablePosition(name); + if (! position.equals(curPosition)) + repos = true; + } + if (repos) { + TabWindow tw = null; + if (position.equals(DockableWindowManager.LEFT)) + tw = leftTab; + else if (position.equals(DockableWindowManager.RIGHT)) + tw = rightTab; + else if (position.equals(DockableWindowManager.BOTTOM)) + tw = bottomTab; + if (position.equals(DockableWindowManager.TOP)) + tw = topTab; + if (tw != null) { + tw.addTab(v); + setViewLayout(); } } - if (i != null) { - viewMap.getView(i.intValue()).makeVisible(); - Object reason = DockableWindowUpdate.ACTIVATED; - EditBus.send(new DockableWindowUpdate(this, reason, name)); - } + v.makeVisible(); + Object reason = DockableWindowUpdate.ACTIVATED; + EditBus.send(new DockableWindowUpdate(this, reason, name)); } public Component add(Component comp, int index) { //return mainView.add(comp, index); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-27 15:59:13
|
Revision: 11152 http://jedit.svn.sourceforge.net/jedit/?rev=11152&view=rev Author: shlomy Date: 2007-11-27 07:59:04 -0800 (Tue, 27 Nov 2007) Log Message: ----------- A small simplification - use StringViewMap instead of ViewMap Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 12:57:27 UTC (rev 11151) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-27 15:59:04 UTC (rev 11152) @@ -16,7 +16,7 @@ import net.infonode.docking.View; import net.infonode.docking.properties.TabWindowProperties; import net.infonode.docking.util.DockingUtil; -import net.infonode.docking.util.ViewMap; +import net.infonode.docking.util.StringViewMap; import net.infonode.util.Direction; import org.gjt.sp.jedit.EBMessage; @@ -35,15 +35,15 @@ @SuppressWarnings("serial") public class WindowManager extends DockableWindowManager { + private static final String MAIN_VIEW_NAME = "Main"; private org.gjt.sp.jedit.View view; private DockableWindowFactory factory; - private ViewMap viewMap; + private StringViewMap viewMap; private RootWindow rootWindow; private JComponent center; private Vector<View> left, right, top, bottom; private View mainView; private PanelWindowContainer topPanel, bottomPanel, leftPanel, rightPanel; - private HashMap<String, Integer> dockables; private TabWindow leftTab, rightTab, bottomTab, topTab; private HashMap<String, String> positions; @@ -71,8 +71,7 @@ rightPanel = new PanelWindowContainer(this,RIGHT,config.rightPos); } private void convertView(org.gjt.sp.jedit.View view) { - viewMap = new ViewMap(); - dockables = new HashMap<String, Integer>(); + viewMap = new StringViewMap(); positions = new HashMap<String, String>(); DockableWindowManager dwm = view.getDockableWindowManager(); JComponent editPane = view.getSplitPane(); @@ -80,9 +79,9 @@ editPane = view.getEditPane(); center = new JPanel(new BorderLayout()); center.add(editPane, BorderLayout.CENTER); - mainView = new View("Main", null, center); + mainView = new View(MAIN_VIEW_NAME, null, center); mainView.getViewProperties().setAlwaysShowTitle(false); - viewMap.addView(0, mainView); + viewMap.addView(MAIN_VIEW_NAME, mainView); left = addDockables(dwm, dwm.getLeftDockingArea().getDockables()); right = addDockables(dwm, dwm.getRightDockingArea().getDockables()); bottom = addDockables(dwm, dwm.getBottomDockingArea().getDockables()); @@ -196,10 +195,10 @@ } @Override public JComponent getDockable(String name) { - Integer index = dockables.get(name); - if (index == null) + View v = viewMap.getView(name); + if (v == null) return null; - return (JComponent)viewMap.getView(index.intValue()).getComponent(); + return (JComponent)v.getComponent(); } @Override public PanelWindowContainer getLeftDockingArea() { @@ -348,28 +347,23 @@ } private View createDockableView(String name, JComponent c) { View v = new View(getDockableTitle(name), null, c); - int n = viewMap.getViewCount(); - dockables.put(name, n); - viewMap.addView(n, v); + viewMap.addView(name, v); positions.put(name, getDockablePosition(name)); return v; } @Override public void showDockableWindow(String name) { - Integer i = dockables.get(name); String position = getDockablePosition(name); if (position.equals(DockableWindowManager.FLOATING)) return; - View v; + View v = viewMap.getView(name); boolean repos = false; - if (i == null) { + if (v == null) { Window w = factory.getDockableWindowFactory(name); JComponent c = w.createDockableWindow(view, position); - i = Integer.valueOf(viewMap.getViewCount()); v = createDockableView(name, c); repos = true; } else { - v = viewMap.getView(i.intValue()); String curPosition = getCurrentDockablePosition(name); if (! position.equals(curPosition)) repos = true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-28 10:43:53
|
Revision: 11157 http://jedit.svn.sourceforge.net/jedit/?rev=11157&view=rev Author: shlomy Date: 2007-11-28 02:43:51 -0800 (Wed, 28 Nov 2007) Log Message: ----------- Enable windows to be minimized to the bottmo Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 07:05:51 UTC (rev 11156) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 10:43:51 UTC (rev 11157) @@ -116,6 +116,7 @@ top = addDockables(topDockables); rootWindow = DockingUtil.createRootWindow(viewMap, true); rootWindow.getRootWindowProperties().getWindowAreaProperties().setBackgroundColor(center.getBackground()); + rootWindow.getWindowBar(Direction.DOWN).setEnabled(true); leftTab = createTabs(left, Direction.LEFT, Direction.UP); rightTab = createTabs(right, Direction.RIGHT, Direction.DOWN); bottomTab = createTabs(bottom, Direction.UP, Direction.RIGHT); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-28 15:38:15
|
Revision: 11159 http://jedit.svn.sourceforge.net/jedit/?rev=11159&view=rev Author: shlomy Date: 2007-11-28 07:38:13 -0800 (Wed, 28 Nov 2007) Log Message: ----------- Small cleanup Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 15:33:54 UTC (rev 11158) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-28 15:38:13 UTC (rev 11159) @@ -466,8 +466,10 @@ 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()); + rootWindow.getRootWindowProperties().replaceSuperObject( + currentTheme.getRootWindowProperties(), themes[i].getRootWindowProperties()); + else + rootWindow.getRootWindowProperties().addSuperObject(themes[i].getRootWindowProperties()); currentTheme = themes[i]; return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-29 09:36:18
|
Revision: 11168 http://jedit.svn.sourceforge.net/jedit/?rev=11168&view=rev Author: shlomy Date: 2007-11-29 01:36:17 -0800 (Thu, 29 Nov 2007) Log Message: ----------- Small fix for bad dockable names Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-29 05:24:41 UTC (rev 11167) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-29 09:36:17 UTC (rev 11168) @@ -129,6 +129,8 @@ for (int i = 0; i < dockables.length; i++) { String dockable = dockables[i]; String pos = getDockablePosition(dockable); + if (pos == null) + continue; if (pos.equals(DockableWindowManager.LEFT)) leftDockables.add(dockable); else if (pos.equals(DockableWindowManager.RIGHT)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-11-29 12:05:04
|
Revision: 11169 http://jedit.svn.sourceforge.net/jedit/?rev=11169&view=rev Author: shlomy Date: 2007-11-29 04:04:59 -0800 (Thu, 29 Nov 2007) Log Message: ----------- Allow all window bars Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-29 09:36:17 UTC (rev 11168) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-11-29 12:04:59 UTC (rev 11169) @@ -147,6 +147,9 @@ rootWindow = DockingUtil.createRootWindow(viewMap, true); rootWindow.getRootWindowProperties().getWindowAreaProperties().setBackgroundColor(center.getBackground()); rootWindow.getWindowBar(Direction.DOWN).setEnabled(true); + rootWindow.getWindowBar(Direction.UP).setEnabled(true); + rootWindow.getWindowBar(Direction.LEFT).setEnabled(true); + rootWindow.getWindowBar(Direction.RIGHT).setEnabled(true); leftTab = createTabs(left, Direction.LEFT, Direction.UP); rightTab = createTabs(right, Direction.RIGHT, Direction.DOWN); bottomTab = createTabs(bottom, Direction.UP, Direction.RIGHT); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-04 07:48:41
|
Revision: 11185 http://jedit.svn.sourceforge.net/jedit/?rev=11185&view=rev Author: shlomy Date: 2007-12-03 23:48:39 -0800 (Mon, 03 Dec 2007) Log Message: ----------- Some fixes Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-03 23:01:55 UTC (rev 11184) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-04 07:48:39 UTC (rev 11185) @@ -11,6 +11,7 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.HashMap; +import java.util.HashSet; import java.util.Vector; import javax.swing.JComponent; @@ -19,6 +20,7 @@ import javax.swing.JPopupMenu; import net.infonode.docking.DockingWindow; +import net.infonode.docking.DockingWindowAdapter; import net.infonode.docking.RootWindow; import net.infonode.docking.SplitWindow; import net.infonode.docking.TabWindow; @@ -61,7 +63,6 @@ private JEditViewMap viewMap; private RootWindow rootWindow; private JComponent center; - private Vector<View> left, right, top, bottom; private View mainView; private PanelWindowContainer topPanel, bottomPanel, leftPanel, rightPanel; private TabWindow leftTab, rightTab, bottomTab, topTab; @@ -143,39 +144,25 @@ if (new File(DEFAULT_FILE).exists()) load(DEFAULT_FILE); else { - /* 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 == null) continue; + View v = createDummyView(dockable); + TabWindow tw = null; if (pos.equals(DockableWindowManager.LEFT)) - leftDockables.add(dockable); + tw = leftTab; else if (pos.equals(DockableWindowManager.RIGHT)) - rightDockables.add(dockable); + tw = rightTab; else if (pos.equals(DockableWindowManager.BOTTOM)) - bottomDockables.add(dockable); + tw = bottomTab; else if (pos.equals(DockableWindowManager.TOP)) - topDockables.add(dockable); + tw = topTab; + if (tw != null) + tw.addTab(v); } - left = addDockables(leftDockables); - right = addDockables(rightDockables); - bottom = addDockables(bottomDockables); - top = addDockables(topDockables); - for (int i = 0; i < left.size(); i++) - leftTab.addTab(left.get(i)); - for (int i = 0; i < right.size(); i++) - rightTab.addTab(right.get(i)); - for (int i = 0; i < top.size(); i++) - topTab.addTab(top.get(i)); - for (int i = 0; i < bottom.size(); i++) - bottomTab.addTab(bottom.get(i)); - */ super.applyViewConfig(config); } } @@ -187,6 +174,34 @@ sw = addArea(topTab, sw, false, true, 0.25f); rootWindow.setWindow(sw); } + private class TabListener extends DockingWindowAdapter { + + HashSet<DockingWindow> create = new HashSet<DockingWindow>(); + HashSet<DockingWindow> added = new HashSet<DockingWindow>(); + + @Override + public void windowAdded(DockingWindow addedToWindow, + DockingWindow addedWindow) { + added.add(addedWindow); + System.err.println("windowAdded: " + addedWindow.getName()); + } + + @Override + public void windowShown(DockingWindow window) { + System.err.println("windowShown: " + window.getName()); + if (added.contains(window)) { + // Window just added + create.add(window); + added.remove(window); + } else if (create.contains(window)) { + String name = window.getName(); + TabWindow parent = (TabWindow) window.getWindowParent(); + View v = constructDockableView(name); + parent.replaceChildWindow(window, v); + } + } + } + private DockingWindow [] convertToArray(Vector<View> views) { DockingWindow [] windows = new DockingWindow[views.size()]; views.toArray(windows); @@ -195,6 +210,7 @@ private TabWindow createTabs(Vector<View> views, Direction side, Direction dir) { DockingWindow [] w = convertToArray(views); TabWindow tw = new TabWindow(w); + tw.addListener(new TabListener()); TabWindowProperties twp = tw.getTabWindowProperties(); twp.getTabbedPanelProperties().setTabAreaOrientation(side); twp.getTabProperties().getTitledTabProperties().getNormalProperties().setDirection(dir); @@ -222,19 +238,6 @@ else return title; } - private Vector<View> addDockables(Vector<String> dockables) { - Vector<View> areaViews = new Vector<View>(); - for (int i = 0; i < dockables.size(); i++) { - String name = dockables.get(i); - /* - JComponent c = new JLabel("Dummy"); - createDockableView(name, c); - */ - View v = constructDockableView(name); - areaViews.add(v); - } - return areaViews; - } @Override public void close() { save(DEFAULT_FILE); @@ -390,6 +393,11 @@ private String getDockablePosition(String name) { return jEdit.getProperty(name + ".dock-position"); } + View createDummyView(String name) { + View v = new View(getDockableTitle(name), null, new JPanel()); + v.setName(name); + return v; + } private View createDockableView(String name, JComponent c) { View v = new View(getDockableTitle(name), null, c); v.setName(name); @@ -410,23 +418,21 @@ return; View v = viewMap.getView(name); if (v == null) { - Window w = factory.getDockableWindowFactory(name); - JComponent c = w.createDockableWindow(view, position); - v = createDockableView(name, c); + v = constructDockableView(name); + TabWindow tw = null; + if (position.equals(DockableWindowManager.LEFT)) + tw = leftTab; + else if (position.equals(DockableWindowManager.RIGHT)) + tw = rightTab; + else if (position.equals(DockableWindowManager.BOTTOM)) + tw = bottomTab; + if (position.equals(DockableWindowManager.TOP)) + tw = topTab; + if (tw != null) { + tw.addTab(v); + setViewLayout(); + } } - TabWindow tw = null; - if (position.equals(DockableWindowManager.LEFT)) - tw = leftTab; - else if (position.equals(DockableWindowManager.RIGHT)) - tw = rightTab; - else if (position.equals(DockableWindowManager.BOTTOM)) - tw = bottomTab; - if (position.equals(DockableWindowManager.TOP)) - tw = topTab; - if (tw != null) { - tw.addTab(v); - setViewLayout(); - } v.makeVisible(); Object reason = DockableWindowUpdate.ACTIVATED; EditBus.send(new DockableWindowUpdate(this, reason, name)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-04 20:58:53
|
Revision: 11190 http://jedit.svn.sourceforge.net/jedit/?rev=11190&view=rev Author: shlomy Date: 2007-12-04 12:58:51 -0800 (Tue, 04 Dec 2007) Log Message: ----------- Support for floating dockables Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-04 13:43:40 UTC (rev 11189) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-04 20:58:51 UTC (rev 11190) @@ -416,14 +416,14 @@ @Override public void showDockableWindow(String name) { String position = getDockablePosition(name); - if (position.equals(DockableWindowManager.FLOATING)) - return; View v = viewMap.getView(name); if (v == null) { v = constructDockableView(name); TabWindow tw = null; - if (position.equals(DockableWindowManager.LEFT)) + if (position.equals(DockableWindowManager.FLOATING)) tw = leftTab; + else if (position.equals(DockableWindowManager.LEFT)) + tw = leftTab; else if (position.equals(DockableWindowManager.RIGHT)) tw = rightTab; else if (position.equals(DockableWindowManager.BOTTOM)) @@ -434,6 +434,8 @@ tw.addTab(v); setViewLayout(); } + if (position.equals(DockableWindowManager.FLOATING)) + v.undock(new Point(0, 0)); } v.makeVisible(); Object reason = DockableWindowUpdate.ACTIVATED; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-05 16:24:34
|
Revision: 11192 http://jedit.svn.sourceforge.net/jedit/?rev=11192&view=rev Author: shlomy Date: 2007-12-05 08:24:32 -0800 (Wed, 05 Dec 2007) Log Message: ----------- many small fixes Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-05 08:31:01 UTC (rev 11191) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-05 16:24:32 UTC (rev 11192) @@ -69,7 +69,8 @@ private HashMap<String, String> positions; private DockingWindowsTheme currentTheme = null; private HashSet<DockingWindow> dummyViews = null; - private TabListener tabListener = null; + private ViewCloseListener viewCloseListener = new ViewCloseListener(); + private ViewCreateListener viewCreateListener = new ViewCreateListener(); private static DockingWindowsTheme [] themes = new DockingWindowsTheme[] { new BlueHighlightDockingTheme(), new ClassicDockingTheme(), @@ -119,12 +120,6 @@ rootWindow.getWindowBar(Direction.LEFT).setEnabled(true); rootWindow.getWindowBar(Direction.RIGHT).setEnabled(true); - leftTab = createTabWindow(Direction.LEFT, Direction.UP); - rightTab = createTabWindow(Direction.RIGHT, Direction.DOWN); - bottomTab = createTabWindow(Direction.UP, Direction.RIGHT); - topTab = createTabWindow(Direction.UP, Direction.RIGHT); - - setViewLayout(); setLayout(new BorderLayout()); add(rootWindow, BorderLayout.CENTER); invalidate(); @@ -149,6 +144,12 @@ } } private void convertViewConfig(ViewConfig config) { + leftTab = createTabWindow(Direction.LEFT, Direction.UP); + rightTab = createTabWindow(Direction.RIGHT, Direction.DOWN); + bottomTab = createTabWindow(Direction.UP, Direction.RIGHT); + topTab = createTabWindow(Direction.UP, Direction.RIGHT); + setViewLayout(); + String [] dockables = factory.getRegisteredDockableWindows(); for (int i = 0; i < dockables.length; i++) { String dockable = dockables[i]; @@ -169,10 +170,6 @@ tw.addTab(v); } } - setupTabWindow(leftTab); - setupTabWindow(rightTab); - setupTabWindow(topTab); - setupTabWindow(bottomTab); minimizeTabWindows(topTab, Direction.UP); minimizeTabWindows(bottomTab, Direction.DOWN); minimizeTabWindows(leftTab, Direction.LEFT); @@ -185,13 +182,9 @@ while (tw.getChildWindowCount() > 0) { DockingWindow w = tw.getChildWindow(0); w.minimize(dir); + w.addListener(viewCreateListener); } } - private void setupTabWindow(TabWindow tw) { - if (tabListener == null) - tabListener = new TabListener(); - tw.addListener(tabListener); - } private void setViewLayout() { DockingWindow sw = null; sw = addArea(leftTab, mainView, true, true, 0.25f); @@ -200,20 +193,6 @@ sw = addArea(topTab, sw, false, true, 0.25f); rootWindow.setWindow(sw); } - private class TabListener extends DockingWindowAdapter { - - HashSet<String> created = new HashSet<String>(); - - @Override - public void windowShown(DockingWindow window) { - String name = window.getName(); - if (! created.add(name)) - return; - TabWindow parent = (TabWindow) window.getWindowParent(); - View v = constructDockableView(name); - parent.replaceChildWindow(window, v); - } - } private TabWindow createTabWindow(Direction side, Direction dir) { TabWindow tw = new TabWindow(); @@ -413,12 +392,12 @@ View v = new View(getDockableTitle(name), null, c); v.setName(name); viewMap.addView(name, v); - System.err.println("Added to viewMap: " + name); positions.put(name, getDockablePosition(name)); + v.addListener(viewCloseListener); return v; } public View constructDockableView(String name) { - System.err.println("Constructing: " + name); + System.err.println("Constructing dockable " + name); String position = getDockablePosition(name); Window w = factory.getDockableWindowFactory(name); JComponent c = w.createDockableWindow(view, position); @@ -481,10 +460,8 @@ } for (int i = 0; i < tabs.size(); i++) { TabWindow tw = tabs.get(i); - setupTabWindow(tabs.get(i)); DockingWindow selected = tw.getSelectedWindow(); - if (selected != null) - tabListener.windowShown(selected); + viewCreateListener.checkFirstShow(selected); } } public void save(String file) { @@ -519,4 +496,34 @@ "Select a theme:", "Themes", 0, null, themeNames, defaultTheme); setTheme(theme); } + + private class ViewCloseListener extends DockingWindowAdapter { + @Override + public void windowClosed(DockingWindow window) { + viewMap.removeView(window.getName()); + } + } + private class ViewCreateListener extends DockingWindowAdapter { + private void checkFirstShow(DockingWindow window) { + String name = window.getName(); + if (viewMap.getView(name) != null) + return; + DockingWindow parent = window.getWindowParent(); + View v = constructDockableView(name); + parent.replaceChildWindow(window, v); + v.makeVisible(); + } + @Override + public void windowMaximized(DockingWindow window) { + checkFirstShow(window); + } + @Override + public void windowRestored(DockingWindow window) { + checkFirstShow(window); + } + @Override + public void windowShown(DockingWindow window) { + checkFirstShow(window); + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-05 21:15:49
|
Revision: 11193 http://jedit.svn.sourceforge.net/jedit/?rev=11193&view=rev Author: shlomy Date: 2007-12-05 13:15:43 -0800 (Wed, 05 Dec 2007) Log Message: ----------- Small fix for loading a saved layout Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-05 16:24:32 UTC (rev 11192) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-05 21:15:43 UTC (rev 11193) @@ -451,7 +451,9 @@ Vector<TabWindow> tabs = new Vector<TabWindow>(); Iterator<DockingWindow> vs = dummyViews.iterator(); while (vs.hasNext()) { - DockingWindow dw = vs.next().getWindowParent(); + DockingWindow w = vs.next(); + w.addListener(viewCreateListener); + DockingWindow dw = w.getWindowParent(); if (dw instanceof TabWindow) tabs.add((TabWindow) dw); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-06 07:01:47
|
Revision: 11194 http://jedit.svn.sourceforge.net/jedit/?rev=11194&view=rev Author: shlomy Date: 2007-12-05 23:01:46 -0800 (Wed, 05 Dec 2007) Log Message: ----------- Some more bug fixes Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-05 21:15:43 UTC (rev 11193) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-06 07:01:46 UTC (rev 11194) @@ -68,7 +68,7 @@ private TabWindow leftTab, rightTab, bottomTab, topTab; private HashMap<String, String> positions; private DockingWindowsTheme currentTheme = null; - private HashSet<DockingWindow> dummyViews = null; + private HashSet<DockingWindow> dummyViews = new HashSet<DockingWindow>(); private ViewCloseListener viewCloseListener = new ViewCloseListener(); private ViewCreateListener viewCreateListener = new ViewCreateListener(); private static DockingWindowsTheme [] themes = new DockingWindowsTheme[] { @@ -257,7 +257,7 @@ @Override public JComponent getDockable(String name) { View v = viewMap.getView(name); - if (v == null) + if (v == null || dummyViews.contains(v)) return null; return (JComponent)v.getComponent(); } @@ -381,10 +381,7 @@ return jEdit.getProperty(name + ".dock-position"); } View createDummyView(String name) { - View v = new View(getDockableTitle(name), null, new JPanel()); - v.setName(name); - if (dummyViews == null) - dummyViews = new HashSet<DockingWindow>(); + View v = createDockableView(name, new JPanel()); dummyViews.add(v); return v; } @@ -502,16 +499,16 @@ private class ViewCloseListener extends DockingWindowAdapter { @Override public void windowClosed(DockingWindow window) { + dummyViews.remove(window); viewMap.removeView(window.getName()); } } private class ViewCreateListener extends DockingWindowAdapter { private void checkFirstShow(DockingWindow window) { - String name = window.getName(); - if (viewMap.getView(name) != null) + if (! dummyViews.contains(window)) return; DockingWindow parent = window.getWindowParent(); - View v = constructDockableView(name); + View v = constructDockableView(window.getName()); parent.replaceChildWindow(window, v); v.makeVisible(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-06 07:09:12
|
Revision: 11195 http://jedit.svn.sourceforge.net/jedit/?rev=11195&view=rev Author: shlomy Date: 2007-12-05 23:09:11 -0800 (Wed, 05 Dec 2007) Log Message: ----------- Yet another bug fix Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-06 07:01:46 UTC (rev 11194) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-06 07:09:11 UTC (rev 11195) @@ -505,7 +505,7 @@ } private class ViewCreateListener extends DockingWindowAdapter { private void checkFirstShow(DockingWindow window) { - if (! dummyViews.contains(window)) + if (! dummyViews.remove(window)) return; DockingWindow parent = window.getWindowParent(); View v = constructDockableView(window.getName()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-06 11:02:59
|
Revision: 11197 http://jedit.svn.sourceforge.net/jedit/?rev=11197&view=rev Author: shlomy Date: 2007-12-06 03:02:57 -0800 (Thu, 06 Dec 2007) Log Message: ----------- More fixes Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-06 07:27:34 UTC (rev 11196) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-06 11:02:57 UTC (rev 11197) @@ -524,5 +524,13 @@ public void windowShown(DockingWindow window) { checkFirstShow(window); } + @Override + public void windowDocked(DockingWindow window) { + checkFirstShow(window); + } + @Override + public void windowUndocked(DockingWindow window) { + checkFirstShow(window); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-08 22:07:52
|
Revision: 11223 http://jedit.svn.sourceforge.net/jedit/?rev=11223&view=rev Author: shlomy Date: 2007-12-08 14:07:50 -0800 (Sat, 08 Dec 2007) Log Message: ----------- Bug fix to allow new dockables to be opened Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-08 21:44:15 UTC (rev 11222) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-08 22:07:50 UTC (rev 11223) @@ -22,6 +22,7 @@ import net.infonode.docking.DockingWindow; import net.infonode.docking.DockingWindowAdapter; +import net.infonode.docking.FloatingWindow; import net.infonode.docking.RootWindow; import net.infonode.docking.SplitWindow; import net.infonode.docking.TabWindow; @@ -154,7 +155,7 @@ for (int i = 0; i < dockables.length; i++) { String dockable = dockables[i]; String pos = getDockablePosition(dockable); - if (pos == null) + if (pos == null || pos.equals(DockableWindowManager.FLOATING)) continue; View v = createDummyView(dockable); TabWindow tw = null; @@ -383,6 +384,7 @@ View createDummyView(String name) { View v = createDockableView(name, new JPanel()); dummyViews.add(v); + System.err.println("Constructing dummy view: " + name); return v; } private View createDockableView(String name, JComponent c) { @@ -407,10 +409,8 @@ if (v == null) { v = constructDockableView(name); TabWindow tw = null; - if (position.equals(DockableWindowManager.FLOATING)) + if (position.equals(DockableWindowManager.LEFT)) tw = leftTab; - else if (position.equals(DockableWindowManager.LEFT)) - tw = leftTab; else if (position.equals(DockableWindowManager.RIGHT)) tw = rightTab; else if (position.equals(DockableWindowManager.BOTTOM)) @@ -422,10 +422,14 @@ if (! tw.isVisible()) tw.setVisible(true); //setViewLayout(); + } else { + // floating + FloatingWindow fw = rootWindow.createFloatingWindow( + new Point(0, 0), v.getPreferredSize(), v); + fw.getTopLevelAncestor().setVisible(true); } - if (position.equals(DockableWindowManager.FLOATING)) - v.undock(new Point(0, 0)); - } + } else + viewCreateListener.checkFirstShow(v); v.makeVisible(); Object reason = DockableWindowUpdate.ACTIVATED; EditBus.send(new DockableWindowUpdate(this, reason, name)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-08 22:38:47
|
Revision: 11225 http://jedit.svn.sourceforge.net/jedit/?rev=11225&view=rev Author: shlomy Date: 2007-12-08 14:38:46 -0800 (Sat, 08 Dec 2007) Log Message: ----------- Some more fixes Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-08 22:15:14 UTC (rev 11224) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-08 22:38:46 UTC (rev 11225) @@ -178,13 +178,18 @@ super.applyViewConfig(config); } private void minimizeTabWindows(TabWindow tw, Direction dir) { - if (tw.getChildWindowCount() == 0) - tw.setVisible(false); - while (tw.getChildWindowCount() > 0) { + for (int i = 0; i < tw.getChildWindowCount(); i++) { + DockingWindow w = tw.getChildWindow(i); + w.addListener(viewCreateListener); + } + tw.minimize(dir); + //if (tw.getChildWindowCount() == 0) + //tw.setVisible(false); +/* while (tw.getChildWindowCount() > 0) { DockingWindow w = tw.getChildWindow(0); w.minimize(dir); w.addListener(viewCreateListener); - } + }*/ } private void setViewLayout() { DockingWindow sw = null; @@ -284,6 +289,7 @@ return; String[] windowList = factory.getRegisteredDockableWindows(); + Vector<String> notify = new Vector<String>(); for (int i = 0; i < windowList.length; i++) { String name = windowList[i]; String position = getDockablePosition(name); @@ -292,8 +298,12 @@ String curPosition = getCurrentDockablePosition(name); if (position == null || position.equals(curPosition)) continue; - showDockableWindow(name); + showDockableWindowNoNotify(name); + notify.add(name); } + for (int i = 0; i < notify.size(); i++) { + notifyActivation(notify.get(i)); + } } private String getCurrentDockablePosition(String name) { @@ -404,6 +414,14 @@ } @Override public void showDockableWindow(String name) { + showDockableWindowNoNotify(name); + notifyActivation(name); + } + private void notifyActivation(String name) { + Object reason = DockableWindowUpdate.ACTIVATED; + EditBus.send(new DockableWindowUpdate(this, reason, name)); + } + private void showDockableWindowNoNotify(String name) { String position = getDockablePosition(name); View v = viewMap.getView(name); if (v == null) { @@ -419,8 +437,8 @@ tw = topTab; if (tw != null) { tw.addTab(v); - if (! tw.isVisible()) - tw.setVisible(true); + if (tw.isMinimized()) + tw.restore(); //setViewLayout(); } else { // floating @@ -431,8 +449,6 @@ } else viewCreateListener.checkFirstShow(v); v.makeVisible(); - Object reason = DockableWindowUpdate.ACTIVATED; - EditBus.send(new DockableWindowUpdate(this, reason, name)); } public Component add(Component comp, int index) { //return mainView.add(comp, index); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-11 09:01:13
|
Revision: 11389 http://jedit.svn.sourceforge.net/jedit/?rev=11389&view=rev Author: shlomy Date: 2007-12-11 01:01:09 -0800 (Tue, 11 Dec 2007) Log Message: ----------- Fixed the handling of the tab windows Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-10 10:28:33 UTC (rev 11388) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-11 09:01:09 UTC (rev 11389) @@ -180,16 +180,10 @@ private void minimizeTabWindows(TabWindow tw, Direction dir) { for (int i = 0; i < tw.getChildWindowCount(); i++) { DockingWindow w = tw.getChildWindow(i); + //w.minimize(dir); w.addListener(viewCreateListener); } - tw.minimize(dir); - //if (tw.getChildWindowCount() == 0) - //tw.setVisible(false); -/* while (tw.getChildWindowCount() > 0) { - DockingWindow w = tw.getChildWindow(0); - w.minimize(dir); - w.addListener(viewCreateListener); - }*/ + tw.setVisible(false); } private void setViewLayout() { DockingWindow sw = null; @@ -424,30 +418,30 @@ private void showDockableWindowNoNotify(String name) { String position = getDockablePosition(name); View v = viewMap.getView(name); - if (v == null) { + if (v == null) v = constructDockableView(name); - TabWindow tw = null; - if (position.equals(DockableWindowManager.LEFT)) - tw = leftTab; - else if (position.equals(DockableWindowManager.RIGHT)) - tw = rightTab; - else if (position.equals(DockableWindowManager.BOTTOM)) - tw = bottomTab; - if (position.equals(DockableWindowManager.TOP)) - tw = topTab; - if (tw != null) { - tw.addTab(v); - if (tw.isMinimized()) - tw.restore(); - //setViewLayout(); - } else { - // floating - FloatingWindow fw = rootWindow.createFloatingWindow( - new Point(0, 0), v.getPreferredSize(), v); - fw.getTopLevelAncestor().setVisible(true); - } - } else + else { viewCreateListener.checkFirstShow(v); + v = viewMap.getView(name); + } + TabWindow tw = null; + if (position.equals(DockableWindowManager.LEFT)) + tw = leftTab; + else if (position.equals(DockableWindowManager.RIGHT)) + tw = rightTab; + else if (position.equals(DockableWindowManager.BOTTOM)) + tw = bottomTab; + if (position.equals(DockableWindowManager.TOP)) + tw = topTab; + if (tw != null) { + if (v.getWindowParent() != tw) + tw.addTab(v); + tw.setVisible(true); + } else { // floating + FloatingWindow fw = rootWindow.createFloatingWindow( + new Point(0, 0), v.getPreferredSize(), v); + fw.getTopLevelAncestor().setVisible(true); + } v.makeVisible(); } public Component add(Component comp, int index) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-11 09:16:13
|
Revision: 11390 http://jedit.svn.sourceforge.net/jedit/?rev=11390&view=rev Author: shlomy Date: 2007-12-11 01:16:11 -0800 (Tue, 11 Dec 2007) Log Message: ----------- Small cosmetic change Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-11 09:01:09 UTC (rev 11389) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-11 09:16:11 UTC (rev 11390) @@ -431,7 +431,7 @@ tw = rightTab; else if (position.equals(DockableWindowManager.BOTTOM)) tw = bottomTab; - if (position.equals(DockableWindowManager.TOP)) + else if (position.equals(DockableWindowManager.TOP)) tw = topTab; if (tw != null) { if (v.getWindowParent() != tw) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-11 10:15:18
|
Revision: 11391 http://jedit.svn.sourceforge.net/jedit/?rev=11391&view=rev Author: shlomy Date: 2007-12-11 02:15:16 -0800 (Tue, 11 Dec 2007) Log Message: ----------- Some fix Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-11 09:16:11 UTC (rev 11390) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-11 10:15:16 UTC (rev 11391) @@ -424,23 +424,26 @@ viewCreateListener.checkFirstShow(v); v = viewMap.getView(name); } - TabWindow tw = null; - if (position.equals(DockableWindowManager.LEFT)) - tw = leftTab; - else if (position.equals(DockableWindowManager.RIGHT)) - tw = rightTab; - else if (position.equals(DockableWindowManager.BOTTOM)) - tw = bottomTab; - else if (position.equals(DockableWindowManager.TOP)) - tw = topTab; - if (tw != null) { - if (v.getWindowParent() != tw) - tw.addTab(v); - tw.setVisible(true); - } else { // floating - FloatingWindow fw = rootWindow.createFloatingWindow( - new Point(0, 0), v.getPreferredSize(), v); - fw.getTopLevelAncestor().setVisible(true); + String currentPos = getCurrentDockablePosition(name); + if (currentPos == null || (! currentPos.equals(position))) { + TabWindow tw = null; + if (position.equals(DockableWindowManager.LEFT)) + tw = leftTab; + else if (position.equals(DockableWindowManager.RIGHT)) + tw = rightTab; + else if (position.equals(DockableWindowManager.BOTTOM)) + tw = bottomTab; + else if (position.equals(DockableWindowManager.TOP)) + tw = topTab; + if (tw != null) { + if (v.getWindowParent() != tw) + tw.addTab(v); + tw.setVisible(true); + } else { // floating + FloatingWindow fw = rootWindow.createFloatingWindow( + new Point(0, 0), v.getPreferredSize(), v); + fw.getTopLevelAncestor().setVisible(true); + } } v.makeVisible(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-12-11 11:06:09
|
Revision: 11392 http://jedit.svn.sourceforge.net/jedit/?rev=11392&view=rev Author: shlomy Date: 2007-12-11 03:06:07 -0800 (Tue, 11 Dec 2007) Log Message: ----------- More fixes Modified Paths: -------------- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java Modified: plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java =================================================================== --- plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-11 10:15:16 UTC (rev 11391) +++ plugins/InfoNodeDW/trunk/src/infonode/WindowManager.java 2007-12-11 11:06:07 UTC (rev 11392) @@ -67,7 +67,6 @@ private View mainView; private PanelWindowContainer topPanel, bottomPanel, leftPanel, rightPanel; private TabWindow leftTab, rightTab, bottomTab, topTab; - private HashMap<String, String> positions; private DockingWindowsTheme currentTheme = null; private HashSet<DockingWindow> dummyViews = new HashSet<DockingWindow>(); private ViewCloseListener viewCloseListener = new ViewCloseListener(); @@ -108,7 +107,6 @@ this.view = view; this.factory = factory; viewMap = new JEditViewMap(this); - positions = new HashMap<String, String>(); center = new JPanel(new BorderLayout()); mainView = new View(MAIN_VIEW_NAME, null, center); mainView.setName(MAIN_VIEW_NAME); @@ -289,8 +287,7 @@ String position = getDockablePosition(name); if (position.equals(DockableWindowManager.FLOATING)) continue; - String curPosition = getCurrentDockablePosition(name); - if (position == null || position.equals(curPosition)) + if (viewMap.getView(name) != null) continue; showDockableWindowNoNotify(name); notify.add(name); @@ -300,9 +297,6 @@ } } - private String getCurrentDockablePosition(String name) { - return positions.get(name); - } @Override public void handleMessage(EBMessage msg) { if (msg instanceof PropertiesChanged) @@ -395,7 +389,6 @@ View v = new View(getDockableTitle(name), null, c); v.setName(name); viewMap.addView(name, v); - positions.put(name, getDockablePosition(name)); v.addListener(viewCloseListener); return v; } @@ -418,14 +411,8 @@ private void showDockableWindowNoNotify(String name) { String position = getDockablePosition(name); View v = viewMap.getView(name); - if (v == null) + if (v == null) { v = constructDockableView(name); - else { - viewCreateListener.checkFirstShow(v); - v = viewMap.getView(name); - } - String currentPos = getCurrentDockablePosition(name); - if (currentPos == null || (! currentPos.equals(position))) { TabWindow tw = null; if (position.equals(DockableWindowManager.LEFT)) tw = leftTab; @@ -445,6 +432,11 @@ fw.getTopLevelAncestor().setVisible(true); } } + else { + viewCreateListener.checkFirstShow(v); + v = viewMap.getView(name); + } + v.getWindowParent().setVisible(true); v.makeVisible(); } public Component add(Component comp, int index) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |