From: <sh...@us...> - 2007-06-30 12:21:08
|
Revision: 9887 http://svn.sourceforge.net/jedit/?rev=9887&view=rev Author: shlomy Date: 2007-06-30 05:21:05 -0700 (Sat, 30 Jun 2007) Log Message: ----------- Removed redundant files Removed Paths: ------------- plugins/Flexdock/trunk/build/ plugins/Flexdock/trunk/ctags/ plugins/Flexdock/trunk/icons/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-06-30 22:41:07
|
Revision: 9889 http://svn.sourceforge.net/jedit/?rev=9889&view=rev Author: shlomy Date: 2007-06-30 15:41:06 -0700 (Sat, 30 Jun 2007) Log Message: ----------- Many small improvements Modified Paths: -------------- plugins/Flexdock/trunk/.classpath plugins/Flexdock/trunk/flexdock/Plugin.class plugins/Flexdock/trunk/flexdock/Plugin.java Modified: plugins/Flexdock/trunk/.classpath =================================================================== --- plugins/Flexdock/trunk/.classpath 2007-06-30 21:34:53 UTC (rev 9888) +++ plugins/Flexdock/trunk/.classpath 2007-06-30 22:41:06 UTC (rev 9889) @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> + <classpathentry combineaccessrules="false" kind="src" path="/flexdockLib"/> <classpathentry kind="src" path=""/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-1.5.0-sun-1.5.0.11"/> <classpathentry combineaccessrules="false" kind="src" path="/jEdit"/> Modified: plugins/Flexdock/trunk/flexdock/Plugin.class =================================================================== (Binary files differ) Modified: plugins/Flexdock/trunk/flexdock/Plugin.java =================================================================== --- plugins/Flexdock/trunk/flexdock/Plugin.java 2007-06-30 21:34:53 UTC (rev 9888) +++ plugins/Flexdock/trunk/flexdock/Plugin.java 2007-06-30 22:41:06 UTC (rev 9889) @@ -18,65 +18,74 @@ package flexdock; import java.awt.BorderLayout; -import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import javax.swing.JComponent; import javax.swing.JPanel; -import javax.swing.border.LineBorder; import org.flexdock.docking.DockingConstants; import org.flexdock.docking.DockingManager; +import org.flexdock.docking.DockingPort; import org.flexdock.docking.defaults.DefaultDockingPort; import org.gjt.sp.jedit.EditPlugin; import org.gjt.sp.jedit.View; -import org.gjt.sp.jedit.jEdit; +import org.gjt.sp.jedit.gui.DockableLayout; import org.gjt.sp.jedit.gui.DockableWindowManager; import org.gjt.sp.jedit.gui.PanelWindowContainer; public class Plugin extends EditPlugin { public static final String NAME = "Flexdock"; - private static View view; + static DefaultDockingPort mainPort = null; + private static Container mainContainer; public static void doStart(View view) { - Plugin.view = view; - Container c = view.getContentPane(); - JPanel dockPanel = new JPanel(new BorderLayout()); + mainContainer = view.getContentPane(); DockableWindowManager dockMan = view.getDockableWindowManager(); DockingManager.setSingleTabsAllowed(true); - DefaultDockingPort topPort = createDockingPort(100, dockMan.getTopDockingArea().getDimension()); - dockPanel.add(topPort, BorderLayout.NORTH); - /*DefaultDockingPort bottomPort = createDockingPort(100, dockMan.getBottomDockingArea().getDimension()); - dockPanel.add(bottomPort, BorderLayout.SOUTH); - */ - DefaultDockingPort leftPort = createDockingPort(dockMan.getLeftDockingArea().getDimension(), 100); - dockPanel.add(leftPort, BorderLayout.WEST); - DefaultDockingPort rightPort = createDockingPort(dockMan.getRightDockingArea().getDimension(), 100); - dockPanel.add(rightPort, BorderLayout.EAST); - dockPanel.add(BorderLayout.CENTER, c); - view.setContentPane(dockPanel); - convertDockables(topPort, dockMan.getTopDockingArea()); - //convertDockables(bottomPort, dockMan.getBottomDockingArea()); - convertDockables(leftPort, dockMan.getLeftDockingArea()); - convertDockables(rightPort, dockMan.getRightDockingArea()); - dockMan.close(); + mainPort = createDockingPort(100, 100); + mainPort.setSingleTabAllowed(false); + DockingManager.registerDockable(mainContainer, "Main"); + DockingManager.dock(mainContainer, (DockingPort)mainPort); + boolean alternateLayout = ((DockableLayout)dockMan.getLayout()).setAlternateLayout(); + if (alternateLayout) { + convertDockables(view, DockingConstants.NORTH_REGION, dockMan.getTopDockingArea()); + convertDockables(view, DockingConstants.SOUTH_REGION, dockMan.getBottomDockingArea()); + convertDockables(view, DockingConstants.WEST_REGION, dockMan.getLeftDockingArea()); + convertDockables(view, DockingConstants.EAST_REGION, dockMan.getRightDockingArea()); + } else { + convertDockables(view, DockingConstants.WEST_REGION, dockMan.getLeftDockingArea()); + convertDockables(view, DockingConstants.EAST_REGION, dockMan.getRightDockingArea()); + convertDockables(view, DockingConstants.NORTH_REGION, dockMan.getTopDockingArea()); + convertDockables(view, DockingConstants.SOUTH_REGION, dockMan.getBottomDockingArea()); + } + view.setContentPane(mainPort); } - private static void convertDockables(DefaultDockingPort port, + private static void convertDockables(View view, String region, PanelWindowContainer dockingArea) { DockableWindowManager dockMan = view.getDockableWindowManager(); - String [] dockables = dockingArea.getDockables(); + String [] dockables = dockingArea.getDockables(); + JComponent first = null; for (int i = 0; i < dockables.length; i++) { String name = dockables[i]; String title = dockMan.getDockableTitle(name); - JComponent dockable = createDockableComponent(name, title); - connectToDockingPort(dockable, port); + JComponent dockable = createDockableComponent(view, name, title); + if (i == 0) { + first = dockable; + DockingManager.dock(first, mainContainer, region); + float split; + if (region.equals(DockingConstants.WEST_REGION) || + region.equals(DockingConstants.NORTH_REGION)) + split = 0.2f; + else + split = 0.75f; + DockingManager.setSplitProportion(first, split); + } + else + DockingManager.dock(dockable, first); } } - private static void connectToDockingPort(JComponent component, DefaultDockingPort port) { - port.dock(component, DockingConstants.CENTER_REGION); - } private static DefaultDockingPort createDockingPort(int w, int h) { DefaultDockingPort port = new DefaultDockingPort(); port.setSingleTabAllowed(true); @@ -84,14 +93,18 @@ return port; } - private static JComponent createDockableComponent(String name, String title) { - JComponent c = view.getDockableWindowManager().getDockable(name); + private static JComponent createDockableComponent(View view, + String name, String title) { + JPanel p = new JPanel(new BorderLayout()); + DockableWindowManager dockMan = view.getDockableWindowManager(); + JComponent c = dockMan.getDockable(name); if (c == null) { - view.getDockableWindowManager().showDockableWindow(name); - c = view.getDockableWindowManager().getDockable(name); + dockMan.showDockableWindow(name); + c = dockMan.getDockable(name); } - view.getDockableWindowManager().hideDockableWindow(name); - DockingManager.registerDockable(c, title); - return c; + p.add(c, BorderLayout.CENTER); + dockMan.hideDockableWindow(name); + DockingManager.registerDockable(p, title); + return p; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-07-08 13:37:34
|
Revision: 9961 http://svn.sourceforge.net/jedit/?rev=9961&view=rev Author: shlomy Date: 2007-07-08 06:37:31 -0700 (Sun, 08 Jul 2007) Log Message: ----------- Replacing the DockableWindowManager with our own. This version goes along with the patch to jEdit in jedit.patch. Modified Paths: -------------- plugins/Flexdock/trunk/Flexdock.props plugins/Flexdock/trunk/actions.xml plugins/Flexdock/trunk/flexdock/Plugin.java Added Paths: ----------- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java plugins/Flexdock/trunk/jedit.patch Removed Paths: ------------- plugins/Flexdock/trunk/dockables.xml Modified: plugins/Flexdock/trunk/Flexdock.props =================================================================== --- plugins/Flexdock/trunk/Flexdock.props 2007-07-08 13:16:26 UTC (rev 9960) +++ plugins/Flexdock/trunk/Flexdock.props 2007-07-08 13:37:31 UTC (rev 9961) @@ -19,10 +19,11 @@ #options.CtagsSideKick.code=new ctags.sidekick.OptionPane(); # action labels -flexdock-start.label=Start +flexdock-start.label=Start (load layout) +flexdock-save.label=Save layout # menus -plugin.flexdock.Plugin.menu=flexdock-start +plugin.flexdock.Plugin.menu=flexdock-start flexdock-save # docs plugin.ctags.sidekick.Plugin.docs=index.html Modified: plugins/Flexdock/trunk/actions.xml =================================================================== --- plugins/Flexdock/trunk/actions.xml 2007-07-08 13:16:26 UTC (rev 9960) +++ plugins/Flexdock/trunk/actions.xml 2007-07-08 13:37:31 UTC (rev 9961) @@ -7,6 +7,11 @@ flexdock.Plugin.doStart(view); </CODE> </ACTION> + <ACTION NAME="flexdock-save" NO_REPEAT="TRUE"> + <CODE> + flexdock.Plugin.doSave(); + </CODE> + </ACTION> </ACTIONS> Deleted: plugins/Flexdock/trunk/dockables.xml =================================================================== --- plugins/Flexdock/trunk/dockables.xml 2007-07-08 13:16:26 UTC (rev 9960) +++ plugins/Flexdock/trunk/dockables.xml 2007-07-08 13:37:31 UTC (rev 9961) @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<!-- $Id: dockables.xml 7600 2003-12-30 18:46:24Z orutherfurd $ --> - -<!DOCTYPE DOCKABLES SYSTEM "dockables.dtd"> - -<DOCKABLES> - <DOCKABLE NAME="flexdock-left"> - flexdock.Plugin.createPort(view); - </DOCKABLE> -</DOCKABLES> - -<!-- :noTabs=false:lineSeparator=\r\n:tabSize=4:folding=none: --> Added: plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java =================================================================== --- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java (rev 0) +++ plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-08 13:37:31 UTC (rev 9961) @@ -0,0 +1,313 @@ +package flexdock; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Container; +import java.awt.Graphics; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; + +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JPopupMenu; + +import org.flexdock.docking.Dockable; +import org.flexdock.docking.DockableFactory; +import org.flexdock.docking.DockingConstants; +import org.flexdock.docking.DockingManager; +import org.flexdock.docking.defaults.DockableComponentWrapper; +import org.flexdock.docking.drag.effects.EffectsManager; +import org.flexdock.docking.drag.preview.GhostPreview; +import org.flexdock.docking.state.PersistenceException; +import org.flexdock.perspective.LayoutSequence; +import org.flexdock.perspective.Perspective; +import org.flexdock.perspective.PerspectiveFactory; +import org.flexdock.perspective.PerspectiveManager; +import org.flexdock.perspective.persist.FilePersistenceHandler; +import org.flexdock.perspective.persist.PersistenceHandler; +import org.flexdock.perspective.persist.xml.XMLPersister; +import org.flexdock.view.Viewport; +import org.gjt.sp.jedit.EBMessage; +import org.gjt.sp.jedit.EditBus; +import org.gjt.sp.jedit.View; +import org.gjt.sp.jedit.jEdit; +import org.gjt.sp.jedit.View.ViewConfig; +import org.gjt.sp.jedit.gui.DockableLayout; +import org.gjt.sp.jedit.gui.DockableWindowContainer; +import org.gjt.sp.jedit.gui.DockableWindowFactory; +import org.gjt.sp.jedit.gui.DockableWindowManager; +import org.gjt.sp.jedit.gui.PanelWindowContainer; + +@SuppressWarnings("serial") +public class FlexDockWindowManager extends DockableWindowManager { + + View view; + DockableWindowFactory factory; + private static final String PERSPECTIVE_FILE = "jedit.xml"; + private static final String MAIN_VIEW = "Main"; + private static final String MAIN_PERSPECTIVE = "jEdit"; + public static Container editPane; + private HashMap<String, JComponent> windows = new HashMap<String, JComponent>(); + private boolean alternateLayout; + private org.flexdock.view.View mainView = null; + + PanelWindowContainer top, bottom, left, right; + private Viewport viewport; + private DockableWindowManager dockMan; + private ViewFactory viewFactory; + + public void save() { + try { + DockingManager.storeLayoutModel(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void construct(View view, DockableWindowFactory factory, + ViewConfig config) { + this.view = view; + this.factory = factory; + + dockMan = view.getDockableWindowManager(); + alternateLayout = ((DockableLayout)dockMan.getLayout()).isAlternateLayout(); + top = new PanelWindowContainer(this,TOP,config.topPos); + left = new PanelWindowContainer(this,LEFT,config.leftPos); + bottom = new PanelWindowContainer(this,BOTTOM,config.bottomPos); + right = new PanelWindowContainer(this,RIGHT,config.rightPos); + editPane = view.getEditPane(); + setLayout(new BorderLayout()); + viewport = new Viewport(); + viewport.getDockingProperties().setSingleTabsAllowed(false); + setLayout(new BorderLayout()); + add(viewport, BorderLayout.CENTER); + mainView = new org.flexdock.view.View(MAIN_VIEW, null, null); + //mainView.setTerritoryBlocked(DockingConstants.CENTER_REGION, true); + mainView.setTitlebar(null); + mainView.setContentPane(editPane); + final File xml = new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE); + if (xml.exists()) + dockMan.close(); + configureDocking(); + if (! xml.exists()) { + DockingManager.restoreLayout(); + PerspectiveManager.getInstance().loadPerspective(MAIN_PERSPECTIVE); + } else { + DockingManager.restoreLayout(); + } + } + private void configureDocking() { + viewFactory = new ViewFactory(view); + DockingManager.setDockableFactory(viewFactory); + DockingManager.setFloatingEnabled(true); + EffectsManager.setPreview(new GhostPreview()); + DockingManager.setSingleTabsAllowed(true); + // configure the perspective manager + PerspectiveManager.setFactory(new DemoPerspectiveFactory(view)); + PerspectiveManager.setRestoreFloatingOnLoad(true); + // load any previously persisted layouts + PersistenceHandler persister = new FilePersistenceHandler(new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE), XMLPersister.newDefaultInstance()); + PerspectiveManager.setPersistenceHandler(persister); + try { + DockingManager.loadLayoutModel(); + } catch(IOException ex) { + ex.printStackTrace(); + } catch (PersistenceException ex) { + ex.printStackTrace(); + } + // remember to store on shutdown + //DockingManager.setAutoPersist(true); + } + + @Override + public void close() { +/* + Set<String> ids = DockingManager.getDockableIds(); + Iterator<String> i = ids.iterator(); + while (i.hasNext()) + { + Dockable d = DockingManager.getDockable(i.next()); + DockingPort p = d.getDockingPort(); + if (p != null) + p.undock(d.getComponent()); + } + */ + } + @Override + public void closeCurrentArea() { + // TODO Auto-generated method stub + } + @Override + public JPopupMenu createPopupMenu(DockableWindowContainer container, + String dockable, boolean clone) { + // TODO Auto-generated method stub + return null; + } + @Override + public JComponent floatDockableWindow(String name) { + DockableWindowFactory.Window window = factory.getDockableWindowFactory(name); + JComponent c = window.createDockableWindow(view, DockableWindowManager.FLOATING); + JFrame f = new JFrame(getDockableTitle(name)); + f.setContentPane(c); + return c; + } + @Override + public PanelWindowContainer getBottomDockingArea() { + return bottom; + } + @Override + public JComponent getDockable(String name) { + return windows.get(name); + } + @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 left; + } + @Override + public PanelWindowContainer getRightDockingArea() { + return right; + } + @Override + public PanelWindowContainer getTopDockingArea() { + return top; + } + @Override + public View getView() { + return view; + } + @Override + public void handleMessage(EBMessage msg) { + // TODO Auto-generated method stub + //super.handleMessage(msg); + } + @Override + public void hideDockableWindow(String name) { + // TODO Auto-generated method stub + //super.hideDockableWindow(name); + } + @Override + public boolean isDockableWindowDocked(String name) { + return getDockable(name) != null; + } + @Override + 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); + + File xml = new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE); + if (! xml.exists()) { + DockingManager.restoreLayout(); + PerspectiveManager.getInstance().loadPerspective(MAIN_PERSPECTIVE); + } else { + DockingManager.restoreLayout(); + } + } + + + @Override + public void showDockableWindow(String name) { + Dockable d = DockingManager.getDockable(name); + windows.put(name, (JComponent)d.getComponent()); + } + + private class DemoPerspectiveFactory implements PerspectiveFactory { + View view; + LayoutSequence sequence; + public DemoPerspectiveFactory(View view) { + this.view = view; + } + public Perspective getPerspective(String persistentId) { + if(! MAIN_PERSPECTIVE.equals(persistentId)) + return null; + Perspective perspective = new Perspective(MAIN_PERSPECTIVE, "jEdit"); + sequence = perspective.getInitialSequence(true); + DockableWindowManager dockMan = view.getDockableWindowManager(); + sequence.add(MAIN_VIEW); + if (! alternateLayout) { + addDockables(DockingConstants.WEST_REGION, dockMan.getLeftDockingArea()); + addDockables(DockingConstants.EAST_REGION, dockMan.getRightDockingArea()); + addDockables(DockingConstants.NORTH_REGION, dockMan.getTopDockingArea()); + addDockables(DockingConstants.SOUTH_REGION, dockMan.getBottomDockingArea()); + } else { + addDockables(DockingConstants.NORTH_REGION, dockMan.getTopDockingArea()); + addDockables(DockingConstants.SOUTH_REGION, dockMan.getBottomDockingArea()); + addDockables(DockingConstants.WEST_REGION, dockMan.getLeftDockingArea()); + addDockables(DockingConstants.EAST_REGION, dockMan.getRightDockingArea()); + } + return perspective; + } + private void addDockables(String region, PanelWindowContainer dockingArea) { + String [] dockables = dockingArea.getDockables(); + if (dockables.length == 0) + return; + DockableWindowManager dockMan = dockingArea.getDockableWindowManager(); + float split; + float dimension = (float)dockingArea.getDimension() + + (float)dockMan.getWidth() * 0.016f; // For the buttons + if (region.equals(DockingConstants.WEST_REGION)) + split = dimension / dockMan.getWidth(); + else if (region.equals(DockingConstants.EAST_REGION)) + split = 1 - dimension / (dockMan.getWidth() - dockMan.getLeftDockingArea().getDimension()); + else if (region.equals(DockingConstants.NORTH_REGION)) + split = dimension / dockMan.getHeight(); + else + split = 1 - dimension / (dockMan.getHeight() - dockMan.getTopDockingArea().getDimension()); + sequence.add(dockables[0], MAIN_VIEW, region, split); + windows.put(dockables[0], dockMan.getDockable(dockables[0])); + for (int i = 1; i < dockables.length; i++) { + sequence.add(dockables[i], dockables[0]); + windows.put(dockables[i], dockMan.getDockable(dockables[i])); + } + } + } + @SuppressWarnings("unused") + private class ViewFactory extends DockableFactory.Stub { + + View view; + + public ViewFactory(View view) { + this.view = view; + } + public Component getDockableComponent(String dockableId) { + if(MAIN_VIEW.equals(dockableId)) + return mainView; + return createView(dockableId); + } + private Component createView(String id) { + JComponent c = FlexDockWindowManager.this.getDockable(id); + if (c == null) + { + DockableWindowFactory.Window window = factory.getDockableWindowFactory(id); + c = window.createDockableWindow(view, DockableWindowManager.BOTTOM); + } + String title = getDockableTitle(id); + Dockable d = DockableComponentWrapper.create(c, id, title); + DockingManager.registerDockable(d); + return c; + } + } + +} Modified: plugins/Flexdock/trunk/flexdock/Plugin.java =================================================================== --- plugins/Flexdock/trunk/flexdock/Plugin.java 2007-07-08 13:16:26 UTC (rev 9960) +++ plugins/Flexdock/trunk/flexdock/Plugin.java 2007-07-08 13:37:31 UTC (rev 9961) @@ -17,171 +17,28 @@ */ package flexdock; -import java.awt.BorderLayout; -import java.awt.Component; import java.awt.Container; -import java.awt.EventQueue; -import java.io.File; -import java.io.IOException; -import javax.swing.JComponent; -import javax.swing.JPanel; - -import org.flexdock.docking.Dockable; -import org.flexdock.docking.DockableFactory; -import org.flexdock.docking.DockingConstants; -import org.flexdock.docking.DockingManager; -import org.flexdock.docking.defaults.DockableComponentWrapper; -import org.flexdock.docking.drag.effects.EffectsManager; -import org.flexdock.docking.drag.preview.GhostPreview; -import org.flexdock.docking.state.PersistenceException; -import org.flexdock.perspective.LayoutSequence; -import org.flexdock.perspective.Perspective; -import org.flexdock.perspective.PerspectiveFactory; -import org.flexdock.perspective.PerspectiveManager; -import org.flexdock.perspective.persist.FilePersistenceHandler; -import org.flexdock.perspective.persist.PersistenceHandler; -import org.flexdock.perspective.persist.xml.XMLPersister; -import org.flexdock.view.Viewport; import org.gjt.sp.jedit.EditPlugin; import org.gjt.sp.jedit.View; -import org.gjt.sp.jedit.gui.DockableLayout; -import org.gjt.sp.jedit.gui.DockableWindowManager; -import org.gjt.sp.jedit.gui.PanelWindowContainer; +import org.gjt.sp.jedit.gui.DockableWindowFactory; public class Plugin extends EditPlugin { public static final String NAME = "Flexdock"; - private static final String PERSPECTIVE_FILE = "jedit.xml"; - private static final String MAIN_VIEW = "Main"; - private static final String MAIN_PERSPECTIVE = "jEdit"; - private static Viewport viewport; public static Container editPane; + private static FlexDockWindowManager fdwm; + public static void doSave() { + if (fdwm == null) + return; + fdwm.save(); + } public static void doStart(final View view) { - configureDocking(view); - - EventQueue.invokeLater(new Runnable() { - public void run() { - editPane = view.getContentPane(); - JPanel mv = new JPanel(new BorderLayout()); - viewport = new Viewport(); - viewport.getDockingProperties().setSingleTabsAllowed(false); - mv.add(viewport, BorderLayout.CENTER); - view.setContentPane(mv); - File xml = new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE); - if (! xml.exists()) { - DockingManager.restoreLayout(); - PerspectiveManager.getInstance().loadPerspective(MAIN_PERSPECTIVE); - } else { - DockingManager.restoreLayout(); - } - } - }); - + fdwm = new FlexDockWindowManager(); + fdwm.construct(view, DockableWindowFactory.getInstance(), + view.getViewConfig()); + view.setDockableWindowManager(fdwm); } - private static void configureDocking(View view) { - // setup the DockingManager to work with our application - DockingManager.setDockableFactory(new ViewFactory(view)); - DockingManager.setFloatingEnabled(true); - EffectsManager.setPreview(new GhostPreview()); - DockingManager.setSingleTabsAllowed(true); - // configure the perspective manager - PerspectiveManager.setFactory(new DemoPerspectiveFactory(view)); - PerspectiveManager.setRestoreFloatingOnLoad(true); - // load any previously persisted layouts - PersistenceHandler persister = new FilePersistenceHandler(new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE), XMLPersister.newDefaultInstance()); - PerspectiveManager.setPersistenceHandler(persister); - try { - DockingManager.loadLayoutModel(); - } catch(IOException ex) { - ex.printStackTrace(); - } catch (PersistenceException ex) { - ex.printStackTrace(); - } - // remember to store on shutdown - DockingManager.setAutoPersist(true); - } - private static class DemoPerspectiveFactory implements PerspectiveFactory { - View view; - LayoutSequence sequence; - public DemoPerspectiveFactory(View view) { - this.view = view; - } - public Perspective getPerspective(String persistentId) { - if(! MAIN_PERSPECTIVE.equals(persistentId)) - return null; - Perspective perspective = new Perspective(MAIN_PERSPECTIVE, "jEdit"); - sequence = perspective.getInitialSequence(true); - DockableWindowManager dockMan = view.getDockableWindowManager(); - boolean alternateLayout = ((DockableLayout)dockMan.getLayout()).isAlternateLayout(); - sequence.add(MAIN_VIEW); - if (! alternateLayout) { - addDockables(DockingConstants.NORTH_REGION, dockMan.getTopDockingArea()); - addDockables(DockingConstants.SOUTH_REGION, dockMan.getBottomDockingArea()); - addDockables(DockingConstants.WEST_REGION, dockMan.getLeftDockingArea()); - addDockables(DockingConstants.EAST_REGION, dockMan.getRightDockingArea()); - } else { - addDockables(DockingConstants.WEST_REGION, dockMan.getLeftDockingArea()); - addDockables(DockingConstants.EAST_REGION, dockMan.getRightDockingArea()); - addDockables(DockingConstants.NORTH_REGION, dockMan.getTopDockingArea()); - addDockables(DockingConstants.SOUTH_REGION, dockMan.getBottomDockingArea()); - } - return perspective; - } - private void addDockables(String region, PanelWindowContainer dockingArea) { - String [] dockables = dockingArea.getDockables(); - if (dockables.length == 0) - return; - float split = (region.equals(DockingConstants.WEST_REGION) || - region.equals(DockingConstants.SOUTH_REGION)) ? 0.2f : 0.75f; - sequence.add(dockables[0], MAIN_VIEW, region, split); - for (int i = 1; i < dockables.length; i++) - sequence.add(dockables[i], dockables[0]); - } - } - - private static class ViewFactory extends DockableFactory.Stub { - - View view; - - public ViewFactory(View view) { - this.view = view; - } - public Component getDockableComponent(String dockableId) { - if(MAIN_VIEW.equals(dockableId)) - return createMainView(); - return createView(dockableId); - } - private Component createView(String id) { - DockableWindowManager dockMan = view.getDockableWindowManager(); - JComponent c = getJEditDockable(id, dockMan); - String title = dockMan.getDockableTitle(id); - Dockable d = DockableComponentWrapper.create(c, id, title); - DockingManager.registerDockable(d); - return c; - } - - private org.flexdock.view.View createMainView() { - org.flexdock.view.View mainView = - new org.flexdock.view.View(MAIN_VIEW, null, null); - - //mainView.setTerritoryBlocked(DockingConstants.CENTER_REGION, true); - mainView.setTitlebar(null); - mainView.setContentPane(editPane); - return mainView; - } - private JComponent getJEditDockable(String id, DockableWindowManager dockMan) { - JComponent c = dockMan.getDockable(id); - if (c == null) { - dockMan.showDockableWindow(id); - c = dockMan.getDockable(id); - } - dockMan.hideDockableWindow(id); - return c; - } - - } - } Added: plugins/Flexdock/trunk/jedit.patch =================================================================== --- plugins/Flexdock/trunk/jedit.patch (rev 0) +++ plugins/Flexdock/trunk/jedit.patch 2007-07-08 13:37:31 UTC (rev 9961) @@ -0,0 +1,82 @@ +Index: org/gjt/sp/jedit/gui/DockableWindowFactory.java +=================================================================== +--- org/gjt/sp/jedit/gui/DockableWindowFactory.java (revision 9931) ++++ org/gjt/sp/jedit/gui/DockableWindowFactory.java (working copy) +@@ -166,11 +166,16 @@ + } //}}} + + //{{{ getDockableWindowIterator() method +- Iterator<Window> getDockableWindowIterator() ++ public Iterator<Window> getDockableWindowIterator() + { + return dockableWindowFactories.values().iterator(); + } //}}} + ++ public Window getDockableWindowFactory(String name) ++ { ++ return dockableWindowFactories.get(name); ++ } ++ + //{{{ DockableListHandler class + class DockableListHandler extends DefaultHandler + { +@@ -328,7 +333,7 @@ + } //}}} + + //{{{ Window class +- class Window ++ public class Window + { + PluginJAR plugin; + String name; +@@ -386,7 +391,7 @@ + } //}}} + + //{{{ createDockableWindow() method +- JComponent createDockableWindow(View view, String position) ++ public JComponent createDockableWindow(View view, String position) + { + load(); + +Index: org/gjt/sp/jedit/gui/DockableWindowManager.java +=================================================================== +--- org/gjt/sp/jedit/gui/DockableWindowManager.java (revision 9931) ++++ org/gjt/sp/jedit/gui/DockableWindowManager.java (working copy) +@@ -198,7 +198,7 @@ + * @param config A docking configuration + * @since jEdit 2.6pre3 + */ +- public DockableWindowManager(View view, DockableWindowFactory factory, ++ public void construct(View view, DockableWindowFactory factory, + View.ViewConfig config) + { + setLayout(new DockableLayout()); +Index: org/gjt/sp/jedit/View.java +=================================================================== +--- org/gjt/sp/jedit/View.java (revision 9931) ++++ org/gjt/sp/jedit/View.java (working copy) +@@ -197,6 +197,14 @@ + + //}}} + ++ public void setDockableWindowManager(DockableWindowManager dwm) ++ { ++ getContentPane().add(dwm,0); ++ getContentPane().remove(dockableWindowManager); ++ dockableWindowManager = dwm; ++ getContentPane().validate(); ++ } ++ + //{{{ getDockableWindowManager() method + /** + * Returns the dockable window manager associated with this view. +@@ -1150,7 +1158,8 @@ + + setIconImage(GUIUtilities.getEditorIcon()); + +- dockableWindowManager = new DockableWindowManager(this, ++ dockableWindowManager = new DockableWindowManager(); ++ dockableWindowManager.construct(this, + DockableWindowFactory.getInstance(),config); + + topToolBars = new JPanel(new VariableGridLayout( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-07-08 22:41:03
|
Revision: 9971 http://svn.sourceforge.net/jedit/?rev=9971&view=rev Author: shlomy Date: 2007-07-08 15:41:00 -0700 (Sun, 08 Jul 2007) Log Message: ----------- Added support for split panes. Replaced dockables with views that contain actions. Got rid of single tabs. Modified Paths: -------------- plugins/Flexdock/trunk/build.xml plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java Modified: plugins/Flexdock/trunk/build.xml =================================================================== --- plugins/Flexdock/trunk/build.xml 2007-07-08 22:25:47 UTC (rev 9970) +++ plugins/Flexdock/trunk/build.xml 2007-07-08 22:41:00 UTC (rev 9971) @@ -17,7 +17,7 @@ <property name="jar.name" value="${ant.project.name}.jar"/> - <property name="jedit.install.dir" value="/home/shlomy/jedit/4.3pre9"/> + <property name="jedit.install.dir" value="/home/shlomy/jedit/dev"/> <property name="jedit.plugin.dir" value="${user.home}/.jedit/jars"/> <property name="src.dir" value="."/> <property name="install.dir" value=".."/> Modified: plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java =================================================================== --- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-08 22:25:47 UTC (rev 9970) +++ plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-08 22:41:00 UTC (rev 9971) @@ -10,13 +10,13 @@ import javax.swing.JComponent; import javax.swing.JFrame; +import javax.swing.JPanel; import javax.swing.JPopupMenu; import org.flexdock.docking.Dockable; import org.flexdock.docking.DockableFactory; import org.flexdock.docking.DockingConstants; import org.flexdock.docking.DockingManager; -import org.flexdock.docking.defaults.DockableComponentWrapper; import org.flexdock.docking.drag.effects.EffectsManager; import org.flexdock.docking.drag.preview.GhostPreview; import org.flexdock.docking.state.PersistenceException; @@ -78,19 +78,19 @@ bottom = new PanelWindowContainer(this,BOTTOM,config.bottomPos); right = new PanelWindowContainer(this,RIGHT,config.rightPos); editPane = view.getEditPane(); + configureDocking(); setLayout(new BorderLayout()); viewport = new Viewport(); viewport.getDockingProperties().setSingleTabsAllowed(false); setLayout(new BorderLayout()); add(viewport, BorderLayout.CENTER); - mainView = new org.flexdock.view.View(MAIN_VIEW, null, null); + mainView = new FlexDockMainView(MAIN_VIEW); //mainView.setTerritoryBlocked(DockingConstants.CENTER_REGION, true); mainView.setTitlebar(null); - mainView.setContentPane(editPane); + mainView.add(editPane, 0); final File xml = new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE); if (xml.exists()) dockMan.close(); - configureDocking(); if (! xml.exists()) { DockingManager.restoreLayout(); PerspectiveManager.getInstance().loadPerspective(MAIN_PERSPECTIVE); @@ -103,7 +103,7 @@ DockingManager.setDockableFactory(viewFactory); DockingManager.setFloatingEnabled(true); EffectsManager.setPreview(new GhostPreview()); - DockingManager.setSingleTabsAllowed(true); + DockingManager.setSingleTabsAllowed(false); // configure the perspective manager PerspectiveManager.setFactory(new DemoPerspectiveFactory(view)); PerspectiveManager.setRestoreFloatingOnLoad(true); @@ -230,6 +230,7 @@ @Override public void showDockableWindow(String name) { Dockable d = DockingManager.getDockable(name); + viewport.dock(d, DockingConstants.SOUTH_REGION); windows.put(name, (JComponent)d.getComponent()); } @@ -304,10 +305,30 @@ c = window.createDockableWindow(view, DockableWindowManager.BOTTOM); } String title = getDockableTitle(id); - Dockable d = DockableComponentWrapper.create(c, id, title); - DockingManager.registerDockable(d); - return c; + org.flexdock.view.View d = new org.flexdock.view.View(id, title, title); + d.addAction(DockingConstants.CLOSE_ACTION); + d.addAction(DockingConstants.PIN_ACTION); + d.setContentPane(c); + //Dockable d = DockableComponentWrapper.create(c, id, title); + //DockingManager.registerDockable(d); + return d; } } + private class FlexDockMainView extends org.flexdock.view.View { + private JPanel panel; + + public FlexDockMainView(String persistentId) { + super(persistentId); + panel = new JPanel(new BorderLayout()); + setContentPane(panel); + } + + @Override + public Component add(Component comp, int index) { + panel.add(comp, BorderLayout.CENTER); + return comp; + } + + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-07-10 21:40:06
|
Revision: 9994 http://svn.sourceforge.net/jedit/?rev=9994&view=rev Author: shlomy Date: 2007-07-10 14:40:04 -0700 (Tue, 10 Jul 2007) Log Message: ----------- Added an option to select the tab placement. Currently the option only works the next time Flexdock is started. Modified Paths: -------------- plugins/Flexdock/trunk/Flexdock.props plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java plugins/Flexdock/trunk/flexdock/Plugin.java Added Paths: ----------- plugins/Flexdock/trunk/flexdock/OptionPane.java Modified: plugins/Flexdock/trunk/Flexdock.props =================================================================== --- plugins/Flexdock/trunk/Flexdock.props 2007-07-10 18:11:11 UTC (rev 9993) +++ plugins/Flexdock/trunk/Flexdock.props 2007-07-10 21:40:04 UTC (rev 9994) @@ -15,8 +15,10 @@ plugin.flexdock.Plugin.depend.1=jedit 04.03.09.00 # Options -#plugin.ctags.sidekick.Plugin.option-pane=CtagsSideKick -#options.CtagsSideKick.code=new ctags.sidekick.OptionPane(); +plugin.flexdock.Plugin.option-pane=Flexdock +options.Flexdock.code=new flexdock.OptionPane(); +options.Flexdock.tabPlacement=Top +options.Flexdock.label=Flexdock # action labels flexdock-start.label=Start (load layout) Modified: plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java =================================================================== --- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-10 18:11:11 UTC (rev 9993) +++ plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-10 21:40:04 UTC (rev 9994) @@ -57,7 +57,14 @@ @Override protected int getInitTabPlacement() { - return JTabbedPane.TOP; + String placement = jEdit.getProperty(OptionPane.TAB_PLACEMENT_OPTION); + if (placement.equalsIgnoreCase("top")) + return JTabbedPane.TOP; + if (placement.equalsIgnoreCase("bottom")) + return JTabbedPane.BOTTOM; + if (placement.equalsIgnoreCase("left")) + return JTabbedPane.LEFT; + return JTabbedPane.RIGHT; } } Added: plugins/Flexdock/trunk/flexdock/OptionPane.java =================================================================== --- plugins/Flexdock/trunk/flexdock/OptionPane.java (rev 0) +++ plugins/Flexdock/trunk/flexdock/OptionPane.java 2007-07-10 21:40:04 UTC (rev 9994) @@ -0,0 +1,42 @@ +package flexdock; + +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; + +import org.gjt.sp.jedit.AbstractOptionPane; +import org.gjt.sp.jedit.jEdit; + +@SuppressWarnings("serial") +public class OptionPane extends AbstractOptionPane { + + static final String PREFIX = Plugin.OPTION_PREFIX; + static public final String TAB_PLACEMENT_OPTION = PREFIX + "tabPlacement"; + JComboBox tabPlacementCombo; + + public OptionPane() + { + super("Flexdock"); + setBorder(new EmptyBorder(5, 5, 5, 5)); + + JPanel tabPlacementPanel = new JPanel(); + tabPlacementPanel.add(new JLabel("Tab placement:")); + tabPlacementCombo = new JComboBox(); + tabPlacementPanel.add(tabPlacementCombo); + tabPlacementCombo.addItem("Top"); + tabPlacementCombo.addItem("Bottom"); + tabPlacementCombo.addItem("Left"); + tabPlacementCombo.addItem("Right"); + tabPlacementCombo.setSelectedItem(jEdit.getProperty(TAB_PLACEMENT_OPTION)); + addComponent(tabPlacementPanel); + } + + /*************************************************************************** + * Implementation + **************************************************************************/ + public void save() + { + jEdit.setProperty(TAB_PLACEMENT_OPTION, (String) tabPlacementCombo.getSelectedItem()); + } +} Modified: plugins/Flexdock/trunk/flexdock/Plugin.java =================================================================== --- plugins/Flexdock/trunk/flexdock/Plugin.java 2007-07-10 18:11:11 UTC (rev 9993) +++ plugins/Flexdock/trunk/flexdock/Plugin.java 2007-07-10 21:40:04 UTC (rev 9994) @@ -17,8 +17,6 @@ */ package flexdock; -import java.awt.Container; - import org.gjt.sp.jedit.EditPlugin; import org.gjt.sp.jedit.View; import org.gjt.sp.jedit.gui.DockableWindowFactory; @@ -26,7 +24,7 @@ public class Plugin extends EditPlugin { public static final String NAME = "Flexdock"; - public static Container editPane; + public static final String OPTION_PREFIX = "options.Flexdock."; private static FlexDockWindowManager fdwm; public static void doSave() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-07-14 13:38:02
|
Revision: 10035 http://svn.sourceforge.net/jedit/?rev=10035&view=rev Author: shlomy Date: 2007-07-14 06:37:57 -0700 (Sat, 14 Jul 2007) Log Message: ----------- Remove plugin dockables when the plugin is deactivated or unloaded. Modified Paths: -------------- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java plugins/Flexdock/trunk/jedit.patch Modified: plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java =================================================================== --- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-14 12:32:19 UTC (rev 10034) +++ plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-14 13:37:57 UTC (rev 10035) @@ -7,6 +7,7 @@ import java.io.IOException; import java.util.Arrays; import java.util.HashMap; +import java.util.Iterator; import java.util.Vector; import javax.swing.JComponent; @@ -34,6 +35,7 @@ import org.flexdock.perspective.persist.xml.XMLPersister; import org.gjt.sp.jedit.EBMessage; import org.gjt.sp.jedit.EditBus; +import org.gjt.sp.jedit.PluginJAR; import org.gjt.sp.jedit.View; import org.gjt.sp.jedit.jEdit; import org.gjt.sp.jedit.View.ViewConfig; @@ -42,7 +44,9 @@ 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; +import org.gjt.sp.jedit.msg.PluginUpdate; @SuppressWarnings("serial") public class FlexDockWindowManager extends DockableWindowManager { @@ -99,18 +103,7 @@ if (! xml.exists()) getDockableStates(dockMan); dockMan.close(); - if (! xml.exists()) { - PerspectiveManager.getInstance().loadPerspective(MAIN_PERSPECTIVE); - } else { - try { - DockingManager.loadLayoutModel(); - } catch(IOException ex) { - ex.printStackTrace(); - } catch (PersistenceException ex) { - ex.printStackTrace(); - } - DockingManager.restoreLayout(); - } + init(); } private void getDockableStates(DockableWindowManager dockMan) { dockables = new HashMap<String, Vector<String>>(); @@ -217,8 +210,26 @@ } @Override public void handleMessage(EBMessage msg) { - // TODO Auto-generated method stub - //super.handleMessage(msg); + if(msg instanceof PluginUpdate) { + PluginUpdate pmsg = (PluginUpdate)msg; + if (pmsg.isExiting()) + { + // we don't care + } + else if (pmsg.getWhat() == PluginUpdate.DEACTIVATED || + pmsg.getWhat() == PluginUpdate.UNLOADED) + { + // Close all plugin dockables + PluginJAR jar = pmsg.getPluginJAR(); + Iterator<Window> iter = factory.getDockableWindowIterator(); + while (iter.hasNext()) { + Window w = iter.next(); + if (w.getPlugin() == jar) + hideDockableWindow(w.getName()); + } + + } + } } @Override public boolean isDockableWindowDocked(String name) { @@ -242,12 +253,17 @@ } public void init() { EditBus.addToBus(this); - File xml = new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE); if (! xml.exists()) { - DockingManager.restoreLayout(); PerspectiveManager.getInstance().loadPerspective(MAIN_PERSPECTIVE); } else { + try { + DockingManager.loadLayoutModel(); + } catch(IOException ex) { + ex.printStackTrace(); + } catch (PersistenceException ex) { + ex.printStackTrace(); + } DockingManager.restoreLayout(); } } Modified: plugins/Flexdock/trunk/jedit.patch =================================================================== --- plugins/Flexdock/trunk/jedit.patch 2007-07-14 12:32:19 UTC (rev 10034) +++ plugins/Flexdock/trunk/jedit.patch 2007-07-14 13:37:57 UTC (rev 10035) @@ -1,6 +1,6 @@ Index: org/gjt/sp/jedit/gui/DockableWindowFactory.java =================================================================== ---- org/gjt/sp/jedit/gui/DockableWindowFactory.java (revision 9931) +--- org/gjt/sp/jedit/gui/DockableWindowFactory.java (revision 10020) +++ org/gjt/sp/jedit/gui/DockableWindowFactory.java (working copy) @@ -166,11 +166,16 @@ } //}}} @@ -29,9 +29,24 @@ { PluginJAR plugin; String name; -@@ -386,7 +391,7 @@ +@@ -376,6 +381,14 @@ + } } //}}} ++ public PluginJAR getPlugin() ++ { ++ return plugin; ++ } ++ public String getName() ++ { ++ return name; ++ } + //{{{ load() method + void load() + { +@@ -386,7 +399,7 @@ + } //}}} + //{{{ createDockableWindow() method - JComponent createDockableWindow(View view, String position) + public JComponent createDockableWindow(View view, String position) @@ -40,7 +55,7 @@ Index: org/gjt/sp/jedit/gui/DockableWindowManager.java =================================================================== ---- org/gjt/sp/jedit/gui/DockableWindowManager.java (revision 9931) +--- org/gjt/sp/jedit/gui/DockableWindowManager.java (revision 10020) +++ org/gjt/sp/jedit/gui/DockableWindowManager.java (working copy) @@ -198,7 +198,7 @@ * @param config A docking configuration @@ -53,7 +68,7 @@ setLayout(new DockableLayout()); Index: org/gjt/sp/jedit/View.java =================================================================== ---- org/gjt/sp/jedit/View.java (revision 9931) +--- org/gjt/sp/jedit/View.java (revision 10020) +++ org/gjt/sp/jedit/View.java (working copy) @@ -197,6 +197,14 @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-07-15 06:14:11
|
Revision: 10039 http://svn.sourceforge.net/jedit/?rev=10039&view=rev Author: shlomy Date: 2007-07-14 23:14:09 -0700 (Sat, 14 Jul 2007) Log Message: ----------- Added some missing jar files Modified Paths: -------------- plugins/Flexdock/trunk/build.xml plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java Added Paths: ----------- plugins/Flexdock/trunk/commons-logging-1.1.jar plugins/Flexdock/trunk/looks-2.1.1.jar plugins/Flexdock/trunk/skinlf.jar Modified: plugins/Flexdock/trunk/build.xml =================================================================== --- plugins/Flexdock/trunk/build.xml 2007-07-15 05:54:39 UTC (rev 10038) +++ plugins/Flexdock/trunk/build.xml 2007-07-15 06:14:09 UTC (rev 10039) @@ -61,6 +61,9 @@ <include name="**/*.png"/> </fileset> <zipfileset src="${src.dir}/flexdock-0.5.1.jar" /> + <zipfileset src="${src.dir}/looks-2.1.1.jar" /> + <zipfileset src="${src.dir}/skinlf.jar" /> + <zipfileset src="${src.dir}/commons-logging-1.1.jar" /> </jar> </target> Added: plugins/Flexdock/trunk/commons-logging-1.1.jar =================================================================== (Binary files differ) Property changes on: plugins/Flexdock/trunk/commons-logging-1.1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java =================================================================== --- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-15 05:54:39 UTC (rev 10038) +++ plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-15 06:14:09 UTC (rev 10039) @@ -121,7 +121,7 @@ float rightDim = dockMan.getRightDockingArea().getDimension(); int w = dockMan.getWidth(); int h = dockMan.getHeight(); - float bd = (float)w * 0.016f; // Button panel dimension + float bd = w * 0.016f; // Button panel dimension split = new HashMap<String, Float>(); split.put(DockingConstants.WEST_REGION, new Float((leftDim + bd) / w)); split.put(DockingConstants.EAST_REGION, new Float(1 - (rightDim + bd) / (w - leftDim))); Added: plugins/Flexdock/trunk/looks-2.1.1.jar =================================================================== (Binary files differ) Property changes on: plugins/Flexdock/trunk/looks-2.1.1.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: plugins/Flexdock/trunk/skinlf.jar =================================================================== (Binary files differ) Property changes on: plugins/Flexdock/trunk/skinlf.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sh...@us...> - 2007-07-17 22:10:14
|
Revision: 10061 http://svn.sourceforge.net/jedit/?rev=10061&view=rev Author: shlomy Date: 2007-07-17 15:10:13 -0700 (Tue, 17 Jul 2007) Log Message: ----------- Preparations for use as a jEdit service. Modified Paths: -------------- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java plugins/Flexdock/trunk/flexdock/Plugin.java plugins/Flexdock/trunk/services.xml Modified: plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java =================================================================== --- plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-17 17:06:35 UTC (rev 10060) +++ plugins/Flexdock/trunk/flexdock/FlexDockWindowManager.java 2007-07-17 22:10:13 UTC (rev 10061) @@ -84,6 +84,24 @@ this.view = view; this.factory = factory; + top = new PanelWindowContainer(this,TOP,config.topPos); + left = new PanelWindowContainer(this,LEFT,config.leftPos); + bottom = new PanelWindowContainer(this,BOTTOM,config.bottomPos); + right = new PanelWindowContainer(this,RIGHT,config.rightPos); + configureDocking(); + DefaultDockingPort mainport = new MyDockingPort(this); + mainport.getDockingProperties().setSingleTabsAllowed(false); + setLayout(new BorderLayout()); + add(mainport, BorderLayout.CENTER); + mainView = new FlexDockMainView(MAIN_VIEW); + //mainView.setTerritoryBlocked(DockingConstants.CENTER_REGION, true); + //mainView.add(view.getEditPane(), 0); + } + public void convert(View view, DockableWindowFactory factory, + ViewConfig config) { + this.view = view; + this.factory = factory; + DockableWindowManager dockMan = view.getDockableWindowManager(); alternateLayout = ((DockableLayout)dockMan.getLayout()).isAlternateLayout(); top = new PanelWindowContainer(this,TOP,config.topPos); @@ -98,11 +116,7 @@ add(mainport, BorderLayout.CENTER); mainView = new FlexDockMainView(MAIN_VIEW); //mainView.setTerritoryBlocked(DockingConstants.CENTER_REGION, true); - // Find the edit panes - Component c = view.getEditPane(); - while (! (c.getParent() instanceof DockableWindowManager)) - c = c.getParent(); - mainView.add(c, 0); + mainView.add(view.getEditPane(), 0); final File xml = new File(FilePersistenceHandler.DEFAULT_PERSPECTIVE_DIR, PERSPECTIVE_FILE); if (! xml.exists()) getDockableStates(dockMan); @@ -125,7 +139,7 @@ float rightDim = dockMan.getRightDockingArea().getDimension(); int w = dockMan.getWidth(); int h = dockMan.getHeight(); - float bd = w * 0.016f; // Button panel dimension + float bd = (float)w * 0.016f; // Button panel dimension split = new HashMap<String, Float>(); split.put(DockingConstants.WEST_REGION, new Float((leftDim + bd) / w)); split.put(DockingConstants.EAST_REGION, new Float(1 - (rightDim + bd) / (w - leftDim))); @@ -165,7 +179,7 @@ } @Override public void closeCurrentArea() { - // This is never called. + // TODO Auto-generated method stub } @Override public JPopupMenu createPopupMenu(DockableWindowContainer container, @@ -175,14 +189,13 @@ } @Override public JComponent floatDockableWindow(String name) { +// DockableWindowFactory.Window window = factory.getDockableWindowFactory(name); showDockableWindow(name); Dockable d = DockingManager.getDockable(name); DockingManager.close(d); JComponent c = (JComponent) d.getComponent(); JFrame f = new JFrame(getDockableTitle(name)); - DefaultDockingPort floatingPort = new DefaultDockingPort(); - f.getContentPane().add(BorderLayout.CENTER, floatingPort); - floatingPort.dock(c, DockingConstants.CENTER_REGION); + f.setContentPane(c); f.pack(); f.setVisible(true); return c; @@ -295,6 +308,9 @@ public void add(Component comp, Object o, int index) { mainView.add(comp, o, index); } + public Component add(Component comp, int index) { + return mainView.add(comp, index); + } private class DemoPerspectiveFactory implements PerspectiveFactory { View view; @@ -308,16 +324,18 @@ Perspective perspective = new Perspective(MAIN_PERSPECTIVE, MAIN_PERSPECTIVE); sequence = perspective.getInitialSequence(true); sequence.add(MAIN_VIEW); - if (! alternateLayout) { - addDockables(DockingConstants.WEST_REGION); - addDockables(DockingConstants.EAST_REGION); - addDockables(DockingConstants.NORTH_REGION); - addDockables(DockingConstants.SOUTH_REGION); - } else { - addDockables(DockingConstants.NORTH_REGION); - addDockables(DockingConstants.SOUTH_REGION); - addDockables(DockingConstants.WEST_REGION); - addDockables(DockingConstants.EAST_REGION); + if (dockables != null) { + if (! alternateLayout) { + addDockables(DockingConstants.WEST_REGION); + addDockables(DockingConstants.EAST_REGION); + addDockables(DockingConstants.NORTH_REGION); + addDockables(DockingConstants.SOUTH_REGION); + } else { + addDockables(DockingConstants.NORTH_REGION); + addDockables(DockingConstants.SOUTH_REGION); + addDockables(DockingConstants.WEST_REGION); + addDockables(DockingConstants.EAST_REGION); + } } return perspective; } @@ -336,7 +354,6 @@ @SuppressWarnings("unused") private class ViewFactory extends DockableFactory.Stub { - private static final String DOCK_POSITION = ".dock-position"; View view; public ViewFactory(View view) { @@ -352,8 +369,7 @@ if (c == null) { DockableWindowFactory.Window window = factory.getDockableWindowFactory(id); - String position = jEdit.getProperty(id + DOCK_POSITION); - c = window.createDockableWindow(view, position); + c = window.createDockableWindow(view, DockableWindowManager.BOTTOM); } String title = getDockableTitle(id); Dockable d = DockableComponentWrapper.create(c, id, title); Modified: plugins/Flexdock/trunk/flexdock/Plugin.java =================================================================== --- plugins/Flexdock/trunk/flexdock/Plugin.java 2007-07-17 17:06:35 UTC (rev 10060) +++ plugins/Flexdock/trunk/flexdock/Plugin.java 2007-07-17 22:10:13 UTC (rev 10061) @@ -36,7 +36,7 @@ } public static void doStart(final View view) { fdwm = new FlexDockWindowManager(); - fdwm.construct(view, DockableWindowFactory.getInstance(), + fdwm.convert(view, DockableWindowFactory.getInstance(), view.getViewConfig()); view.setDockableWindowManager(fdwm); EditBus.send(new PropertiesChanged(null)); Modified: plugins/Flexdock/trunk/services.xml =================================================================== --- plugins/Flexdock/trunk/services.xml 2007-07-17 17:06:35 UTC (rev 10060) +++ plugins/Flexdock/trunk/services.xml 2007-07-17 22:10:13 UTC (rev 10061) @@ -3,13 +3,7 @@ <!DOCTYPE SERVICES SYSTEM "services.dtd"> <SERVICES> - <SERVICE CLASS="sidekick.SideKickParser" NAME="ctags"> - new ctags.sidekick.Parser("ctags"); + <SERVICE CLASS="org.gjt.sp.jedit.gui.DockableWindowManager" NAME="Flexdock"> + new flexdock.FlexDockWindowManager(); </SERVICE> - <SERVICE CLASS="org.gjt.sp.jedit.options.ModeOptionPane" NAME="CtagsSideKick"> - new ctags.sidekick.ModeOptionsPane(); - </SERVICE> - <SERVICE CLASS="org.gjt.sp.jedit.buffer.FoldHandler" NAME="CtagsSideKick"> - new ctags.sidekick.FoldHandler(); - </SERVICE> </SERVICES> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ez...@us...> - 2007-07-13 14:04:50
|
Revision: 10026 http://svn.sourceforge.net/jedit/?rev=10026&view=rev Author: ezust Date: 2007-07-13 07:04:50 -0700 (Fri, 13 Jul 2007) Log Message: ----------- Small build file changes. Modified Paths: -------------- plugins/Flexdock/trunk/build.xml Removed Paths: ------------- plugins/Flexdock/trunk/.project Deleted: plugins/Flexdock/trunk/.project =================================================================== --- plugins/Flexdock/trunk/.project 2007-07-13 13:32:24 UTC (rev 10025) +++ plugins/Flexdock/trunk/.project 2007-07-13 14:04:50 UTC (rev 10026) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>CtagsSideKick</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> Modified: plugins/Flexdock/trunk/build.xml =================================================================== --- plugins/Flexdock/trunk/build.xml 2007-07-13 13:32:24 UTC (rev 10025) +++ plugins/Flexdock/trunk/build.xml 2007-07-13 14:04:50 UTC (rev 10026) @@ -1,22 +1,13 @@ <?xml version="1.0"?> - <!-- - - This is the build.xml file for building the CtagsSideKick plugin. - - It is based on the standard build.xml file for jEdit plugins. - + This is the build.xml file for building the FlexDock plugin. --> - <project name="Flexdock" default="dist" basedir="."> - <property file="build.properties"/> <property file="../build.properties"/> <property file="${user.home}/.build.properties"/> <property file="${user.home}/build.properties"/> - <property name="jar.name" value="${ant.project.name}.jar"/> - <property name="jedit.install.dir" value="/home/shlomy/jedit/dev"/> <property name="jedit.plugin.dir" value="${user.home}/.jedit/jars"/> <property name="src.dir" value="."/> @@ -42,7 +33,8 @@ message="<xsl:import href='${docbook.xsl}/html/docbook.xsl'/>"/> <echo file="doc/docbook-wrapper.xsl" append="true" message="</xsl:stylesheet>"/--> - <copy file="${flexdock.jar}" todir="${install.dir}" /> + <!-- No longer needed since we zip it up in the jar --> + <copy file="${flexdock.jar}" todir="${install.dir}" /> --> </target> <target name="compile" depends="init"> @@ -51,8 +43,7 @@ destdir="${build.dir}" deprecation="on" debug="yes" - includeJavaRuntime="yes" - > + includeJavaRuntime="yes" > <classpath refid="project.class.path"/> </javac> </target> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |