Skip to content
Snippets Groups Projects
Commit 54da1245 authored by Gregory Viguier's avatar Gregory Viguier Committed by MADELA Patrick
Browse files

Share project "DockingVl" into "https://svn.code.sf.net/p/comete/code"

parent 7420498e
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/home/viguier/Downloads/vldocking-3.0.2.jar"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>DockingVl</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding/<project>=windows-1252
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>super-pom-java</artifactId>
<groupId>fr.soleil</groupId>
<version>RELEASE</version>
</parent>
<groupId>fr.soleil.lib</groupId>
<artifactId>DockingVl</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Docking VL</name>
<description>VL Docking implementation of DockingCore</description>
<developers>
<developer>
<id>girardot</id>
<name>Raphaël GIRARDOT</name>
<email>raphael.girardot@synchrotron-soleil.fr</email>
<organization>SOLEIL</organization>
<organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
<roles>
<role>Manager</role>
</roles>
<timezone>1</timezone>
</developer>
<developer>
<id>viguier</id>
<name>Grégory VIGUIER</name>
<email>gregory.viguier@synchrotron-soleil.fr</email>
<organization>SOLEIL</organization>
<organizationUrl>http://www.synchrotron-soleil.fr</organizationUrl>
<roles>
<role>Java Developer</role>
</roles>
<timezone>1</timezone>
</developer>
</developers>
<scm>
<connection>scm:svn:https://svn.code.sf.net/p/comete/code/trunk/DockingVl</connection>
<developerConnection>scm:svn:https://svn.code.sf.net/p/comete/code/trunk/DockingVl</developerConnection>
<url>https://svn.code.sf.net/p/comete/code/trunk/DockingVl</url>
</scm>
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>fr.soleil.lib</groupId>
<artifactId>DockingCore</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
package fr.soleil.docking.vl;
import java.beans.PropertyChangeEvent;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import com.vldocking.swing.docking.Dockable;
import com.vldocking.swing.docking.DockingDesktop;
import fr.soleil.docking.ADockingManager;
import fr.soleil.docking.perspective.IPerspective;
import fr.soleil.docking.perspective.PerspectiveFactory;
import fr.soleil.docking.view.ViewFactory;
public class VlDockDockingManager extends ADockingManager {
protected DockingDesktop rootWindow;
public VlDockDockingManager() {
super(new ViewFactory(), new PerspectiveFactory());
// ((VlDockViewFactory) this.viewFactory).setManager(this);
}
@Override
public JComponent getDockingArea() {
if (rootWindow == null) {
rootWindow = (DockingDesktop) createNewDockingArea();
rootWindow.setOpaqueContents(true);
}
return rootWindow;
}
public DockingDesktop getDockingDesktop() {
return (DockingDesktop) getDockingArea();
}
@Override
public JComponent createNewDockingArea() {
return new DockingDesktop();
}
// /**
// * Creates a new docking area with a given background {@link Color}
// *
// * @param background The background {@link Color}
// * @return A {@link JComponent}
// */
// @Override
// public JComponent createNewDockingArea(Color background) {
// DockingDesktop result = (DockingDesktop) createNewDockingArea();
// if (background != null) {
// result.setBackground(background);
// }
// return result;
// }
@Override
public void loadPerspective(IPerspective perspective) {
if (perspective.getByteArray().length > 0) {
ObjectInputStream ois = null;
ByteArrayInputStream bais = null;
try {
bais = new ByteArrayInputStream(perspective.getByteArray());
ois = new ObjectInputStream(bais);
rootWindow.readXML(ois);
}
catch (Exception e) {
JOptionPane.showMessageDialog(rootWindow, "Perspective.load() :"
+ " Unexpected Error (see traces)", "INFONODE Docking - Error",
JOptionPane.ERROR_MESSAGE);
}
finally {
try {
if (ois != null) {
ois.close();
}
// Actually there is no effect to close bais ...
}
catch (IOException e) {
e.printStackTrace();
}
}
}
}
@Override
protected void savePerspective(IPerspective perspective) {
ByteArrayOutputStream baos = null;
ObjectOutputStream ous = null;
baos = new ByteArrayOutputStream();
try {
ous = new ObjectOutputStream(baos);
rootWindow.writeXML(ous);
}
catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(rootWindow, "Perspective.save() :"
+ " Unexpected Error (see traces)", "INFONODE Docking - Error",
JOptionPane.ERROR_MESSAGE);
}
finally {
try {
ous.close();
// Actually there is no effect to close baos ...
}
catch (IOException e) {
e.printStackTrace();
}
}
perspective.setByteArray(baos.toByteArray());
}
@Override
protected void updateViews(PropertyChangeEvent evt) {
if (evt.getSource() == this.viewFactory) {
Dockable newView = (Dockable) evt.getNewValue();
Dockable oldView = (Dockable) evt.getOldValue();
if (newView == null) { // removed
rootWindow.remove(oldView);
}
else {
rootWindow.addDockable(newView);
}
}
}
@Override
public void setEnabledDocking(boolean enabledDocking) {
//
}
@Override
public boolean isEnabledDocking() {
return true;
}
}
package fr.soleil.docking.vl;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.util.ArrayList;
import java.util.List;
import javax.swing.Icon;
import com.vldocking.swing.docking.DockKey;
import fr.soleil.docking.view.IView;
import fr.soleil.docking.view.IViewListener;
public class VlDockView implements IView {
protected Object id;
protected boolean enabled;
protected boolean visible;
protected String title;
protected Component component;
protected Icon icon;
protected DockKey key;
protected VlDockDockingManager manager;
public VlDockView(String title, Icon icon, Component component, Object id, VlDockDockingManager manager) {
this.title = title;
this.icon = icon;
this.component = component;
this.id = id;
this.key = new DockKey(title, title, title, icon);
this.key.setFloatEnabled(false);
this.manager = manager;
}
@Override
public Component getComponent() {
return component;
}
@Override
public Object getId() {
return id;
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
@Override
public boolean isVisible() {
return visible;
}
@Override
public void setVisible(boolean visible) {
this.visible = visible;
}
@Override
public String getTitle() {
return title;
}
@Override
public Icon getIcon() {
return icon;
}
@Override
public Color getViewBackground() {
return component.getBackground();
}
@Override
public void setViewBackground(Color bg) {
if (component instanceof Container) {
List<Component> components = getAllComponents((Container) component);
setComponentsBackground(components, bg);
}
component.setBackground(bg);
}
@Override
public Color getViewForeground() {
return component.getForeground();
}
@Override
public void setViewForeground(Color fg) {
component.setForeground(fg);
}
/*
* Sets the background of all {@link Component}s in a given {@link List}
*
* @param components The {@link List}
* @param bg The background to set
*/
protected void setComponentsBackground(List<?> components, Color bg) {
if (components != null) {
for (Object comp : components) {
if (comp instanceof Component) {
((Component) comp).setBackground(bg);
}
}
}
}
/**
* Sets the foreground of all {@link Component}s in a given {@link List}
*
* @param components The {@link List}
* @param bg The foreground to set
*/
protected void setComponentsForeground(List<?> components, Color bg) {
if (components != null) {
for (Object comp : components) {
if (comp instanceof Component) {
((Component) comp).setForeground(bg);
}
}
}
}
public List<Component> getAllComponents(final Container c) {
Component[] comps = c.getComponents();
List<Component> compList = new ArrayList<Component>();
for (Component comp : comps) {
compList.add(comp);
if (comp instanceof Container) {
compList.addAll(getAllComponents((Container) comp));
}
}
return compList;
}
@Override
public void setClosable(boolean closable) {
// TODO Auto-generated method stub
}
@Override
public void addViewListener(IViewListener listener) {
// TODO Auto-generated method stub
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment