Skip to content
Commits on Source (6)
/target
/bin
/.settings
/.classpath
/.project
# vldocking
This is a fork of https://bitbucket.org/akuhtz/vldocking
## Why ?
Because the original project seems to be dead :(
See https://code.google.com/p/vldocking/ for more information, tutorials etc.
## And so, what's new ?
* Switched from ant to mvn
* Renamed package names to use old vlsolutions instead of vldocking
* Released a 3.0.3 version available through maven central
* Fixed issues with read/wrilXML on multiple screens
* Added new empty ctor to `FloatingDialog` to make floating windows appear in taskbar. Extend `DefaultDockableContainerFactory.createFloatingDockableContainer` and return `new FloatingDialog()`
* Fixed LAF issues e.g., when switching Substance skin
* Fixed issue with borders not being set on single dock windows until an ancestor change events occured
## How to get the released versions ?
### Maven
Just add this to your `pom.xml` file:
The dependencies:
```xml
<dependency>
<groupId>dk.navicon</groupId>
<artifactId>vldocking</artifactId>
<version>3.0.4</version>
</dependency>
```
VLDocking, the swing docking framework
The VLDocking framework is a commercial-grade Swing Framework providing rich docking features which can easily be integrated with existing applications (and of course new ones).
VLDocking has been created in 2004, and is licenced as under the LGPL terms.
VLDocking is used by companies worldwide and open source projects.
![](http://vldocking.googlecode.com/svn/wiki/vldocking3.jpg)
License
=======
VLDocking is licensed as LGPL
Contributions
=============
VLDocking was initially designed by Lilian Chamontin at his former company VLSolutions.
Contributors are welcome !
Contact me through the mailing list at google groups.
https://groups.google.com/forum/#!forum/vldocking
Documentation
============
The VLDocking tutorial can be found here https://code.google.com/p/vldocking/wiki/tutorial1
## I found a bug, what can I do ?
Feel free to fork this repo, and make a "pull request":http://help.github.com/send-pull-requests/. Ideally, write a test !
<?xml version="1.0"?>
<?xml version="1.0"?>
<!-- ===================================================================== -->
<!-- Copyright 2005-2006 VLSolutions -->
<!-- THIS IS THE ANT BUILD FILE FOR THE VL DOCKING FRAMEWORK 2.1 -->
<!-- CeCILL (Open Source - GPL) Licence -->
<!-- Copyright 2004-2013 Lilian Chamontin -->
<!-- THIS IS THE ANT BUILD FILE FOR THE VLDOCKING FRAMEWORK 3.0 -->
<!-- LGPL Licence -->
<!-- ===================================================================== -->
<project name="vldocking_2.1" default="jar" basedir=".">
<project name="vldocking_3.0" default="jar" basedir=".">
<!-- ===================================================================== -->
<!-- PROPERTIES -->
......@@ -16,11 +16,11 @@
<property name="build.dir" value="build" />
<property name="jar.dir" value="jar" />
<property name="dist.dir" value="dist" />
<property name="src.dir" value="src" />
<property name="javadoc.dir" value="doc/api" />
<property name="src.dir" value="src/main/java" />
<property name="resource.dir" value="src/main/resources" />
<property name="javadoc.dir" value="doc" />
<property name="vldocking.version" value="2.1-beta" />
<property name="vldocking.version" value="3.0.3-SNAPSHOT" />
<!-- ===================================================================== -->
<!-- PREPARE BUILD -->
......@@ -29,11 +29,11 @@
<target name="prepare">
<mkdir dir="${build.dir}" />
<mkdir dir="${jar.dir}" />
<mkdir dir="${dist.dir}" />
<mkdir dir="${src.dir}" />
<mkdir dir="${resource.dir}" />
<mkdir dir="${javadoc.dir}" />
<copy todir="${build.dir}">
<fileset dir="${src.dir}">
<fileset dir="${resource.dir}">
<patternset>
<include name="**/*.gif" />
<include name="**/*.png" />
......@@ -52,9 +52,9 @@
<javac destdir="${build.dir}"
classpath="${classpath};"
debug="on" deprecation="off" optimize="on" source="1.4" target="1.4">
debug="on" deprecation="off" optimize="on" includeantruntime="false">
<src path="${src.dir}"/>
<include name="com/vlsolutions/**"/>
<include name="com/vldocking/**"/>
</javac>
</target>
......@@ -64,35 +64,47 @@
<target name="jar" depends="compile">
<delete dir="${jar.dir}/vldocking_{$vldocking.version}.jar" />
<delete dir="${jar.dir}/vldocking-${vldocking.version}.jar" />
<jar jarfile="${jar.dir}/vldocking_{$vldocking.version}.jar"
<jar jarfile="${jar.dir}/vldocking-${vldocking.version}.jar"
basedir="${build.dir}" >
<include name="com/vlsolutions/**"/>
<include name="com/vldocking/**"/>
<exclude name="**/doc-files/**"/>
</jar>
</target>
<!-- ===================================================================== -->
<!-- JAVADOC FOLDER & ZIP -->
<!-- ===================================================================== -->
<target name="javadoc" depends="prepare">
<javadoc destdir="${javadoc.dir}"
<javadoc destdir="${javadoc.dir}/gen"
author="false"
version="false"
use="true"
source="1.4"
overview="${src.dir}/com/vlsolutions/swing/docking/overview.html"
overview="${src.dir}/com/vldocking/swing/docking/overview.html"
link="http://java.sun.com/j2se/1.5.0/docs/api"
windowtitle="VLSolutions Docking Framework {$vldocking.version} API">
windowtitle="VLDocking Framework ${vldocking.version} API">
<classpath>
<pathelement path="${java.class.path}/"/>
</classpath>
<packageset dir="${src.dir}" >
<include name="com/vlsolutions/**" />
<include name="com/vldocking/**" />
</packageset>
<bottom><![CDATA[<i>&copy; Copyright 2004-2006 VLSolutions. All Rights Reserved.
<br><a href="http://www.vlsolutions.com">www.vlsolutions.com</a> : Java Components - Smart Client Applications</i>]]></bottom>
<bottom><![CDATA[<i>&copy; Copyright 2004-2013 Lilian Chamontin. All Rights Reserved.]]></bottom>
</javadoc>
<copy todir="${javadoc.dir}/gen">
<fileset dir="${resource.dir}">
<patternset>
<include name="**/doc-files/**" />
</patternset>
</fileset>
</copy>
<zip destfile="${javadoc.dir}/vldocking-${vldocking.version}-doc.zip" basedir="${javadoc.dir}/gen" update="false" whenempty="fail" compress="true" />
</target>
<!-- =================================================================== -->
......@@ -102,11 +114,17 @@
<target name="clean">
<delete dir="${build.dir}" />
<delete dir="${jar.dir}" />
<delete dir="${dist.dir}" />
<delete dir="${javadoc.dir}" />
</target>
<!-- ===================================================================== -->
<!-- RELEASE GENERATOR -->
<!-- ===================================================================== -->
<target name="release" depends="compile,jar,javadoc">
<delete dir="${build.dir}" />
<delete dir="${javadoc.dir}/gen" />
</target>
</project>
<!-- End of build.xml -->
\ No newline at end of file
libvldocking-java (3.0.5-1) unstable; urgency=medium
* Team upload.
* New upstream version.
* New upstream.
* Adapt the packaging to Maven.
* Update the Homepage.
* Update Vcs-*.
-- Andrej Shadura <andrewsh@debian.org> Tue, 01 Jan 2019 21:08:53 +0100
libvldocking-java (2.1.4-5) unstable; urgency=low
* Team upload.
......
......@@ -6,18 +6,18 @@ Uploaders:
Torsten Werner <twerner@debian.org>,
Varun Hiremath <varun@debian.org>
Build-Depends:
ant,
debhelper (>= 11),
default-jdk,
javahelper
maven-debian-helper (>= 2.2),
maven-repo-helper (>= 1.5)
Standards-Version: 4.1.3
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/libvldocking-java.git
Vcs-Git: https://anonscm.debian.org/git/pkg-java/libvldocking-java.git
Homepage: http://code.google.com/p/vldocking/
Vcs-Browser: https://salsa.debian.org/java-team/libvldocking-java
Vcs-Git: https://salsa.debian.org/java-team/libvldocking-java.git
Homepage: https://github.com/cmadsen/vldocking
Package: libvldocking-java
Architecture: all
Depends: ${misc:Depends}
Depends: ${misc:Depends}, ${maven:Depends}
Description: Java components for building applications with Docking capabilities
An application can be divided into sub-sets: the "dockables".
- Each Dockable can be precisely positioned by the user, by a drag and drop
......
# List of POM files for the package
# Format of this file is:
# <path to pom file> [option]*
# where option can be:
# --ignore: ignore this POM and its artifact if any
# --ignore-pom: don't install the POM. To use on POM files that are created
# temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms]
# --no-parent: remove the <parent> tag from the POM
# --package=<package>: an alternative package to use when installing this POM
# and its artifact
# --has-package-version: to indicate that the original version of the POM is the same as the upstream part
# of the version for the package.
# --keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM
# during a clean operation with mh_cleanpom or mh_installpom
# --artifact=<path>: path to the build artifact associated with this POM,
# it will be installed when using the command mh_install. [mh_install]
# --java-lib: install the jar into /usr/share/java to comply with Debian
# packaging guidelines
# --usj-name=<name>: name to use when installing the library in /usr/share/java
# --usj-version=<version>: version to use when installing the library in /usr/share/java
# --no-usj-versionless: don't install the versionless link in /usr/share/java
# --dest-jar=<path>: the destination for the real jar.
# It will be installed with mh_install. [mh_install]
# --classifier=<classifier>: Optional, the classifier for the jar. Empty by default.
# --site-xml=<location>: Optional, the location for site.xml if it needs to be installed.
# Empty by default. [mh_install]
#
pom.xml --no-parent --has-package-version
ch.qos.logback logback-classic * * * *
junit junit * * * *
org.apache.maven.plugins maven-deploy-plugin * * * *
org.apache.maven.plugins maven-eclipse-plugin * * * *
org.apache.maven.plugins maven-gpg-plugin * * * *
org.apache.maven.plugins maven-javadoc-plugin * * * *
org.apache.maven.plugins maven-source-plugin * * * *
s/dk.navicon/com.vldocking/ vldocking jar s/.*/debian/ * *
org.apache.rat apache-rat-plugin * * * *
Index: libvldocking-java-2.1.4/build.xml
===================================================================
--- libvldocking-java-2.1.4.orig/build.xml 2008-01-23 23:10:03.000000000 +0530
+++ libvldocking-java-2.1.4/build.xml 2008-01-23 23:10:17.000000000 +0530
@@ -64,9 +64,9 @@
<target name="jar" depends="compile">
- <delete dir="${jar.dir}/vldocking_{$vldocking.version}.jar" />
+ <delete dir="${jar.dir}/vldocking_${vldocking.version}.jar" />
- <jar jarfile="${jar.dir}/vldocking_{$vldocking.version}.jar"
+ <jar jarfile="${jar.dir}/vldocking_${vldocking.version}.jar"
basedir="${build.dir}" >
<include name="com/vlsolutions/**"/>
<exclude name="**/doc-files/**"/>
@@ -81,8 +81,7 @@
use="true"
source="1.4"
overview="${src.dir}/com/vlsolutions/swing/docking/overview.html"
- link="http://java.sun.com/j2se/1.5.0/docs/api"
- windowtitle="VLSolutions Docking Framework {$vldocking.version} API">
+ windowtitle="VLSolutions Docking Framework ${vldocking.version} API">
<classpath>
<pathelement path="${java.class.path}/"/>
</classpath>
......@@ -8,12 +8,19 @@ Forwarded: no
<javac destdir="${build.dir}"
classpath="${classpath};"
+ encoding="ISO-8859-1"
debug="on" deprecation="off" optimize="on" source="1.4" target="1.4">
debug="on" deprecation="off" optimize="on" includeantruntime="false">
<src path="${src.dir}"/>
<include name="com/vlsolutions/**"/>
--- a/src/com/vlsolutions/swing/docking/DockingUtilities.java
+++ b/src/com/vlsolutions/swing/docking/DockingUtilities.java
@@ -82,7 +82,6 @@
<include name="com/vldocking/**"/>
@@ -127,4 +128,4 @@
</target>
</project>
-<!-- End of build.xml -->
\ No newline at end of file
+<!-- End of build.xml -->
--- a/src/main/java/com/vlsolutions/swing/docking/DockingUtilities.java
+++ b/src/main/java/com/vlsolutions/swing/docking/DockingUtilities.java
@@ -19,7 +19,6 @@
package com.vlsolutions.swing.docking;
import java.awt.*;
......@@ -21,20 +28,22 @@ Forwarded: no
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -350,8 +349,7 @@
@@ -291,9 +290,7 @@
public static boolean isHeavyWeightComponent(Component comp) {
if(comp instanceof Container) {
// short cut
- @SuppressWarnings("deprecation")
- Object peer = comp.getPeer();
- if(! (peer == null || peer instanceof LightweightPeer)) {
+ if (comp.isDisplayable() && !comp.isLightweight()){
// it's not a lightweight
return true;
} else {
@@ -366,8 +364,7 @@
@@ -308,9 +305,7 @@
return false;
}
} else {
- @SuppressWarnings("deprecation")
- Object peer = comp.getPeer();
- return ! (peer == null || peer instanceof LightweightPeer);
+ return comp.isDisplayable() && !comp.isLightweight();
......
build.diff
java9-compatibility.diff
#!/usr/bin/make -f
%:
dh $@ --with javahelper
override_dh_auto_build:
dh_auto_build
mv jar/vldocking_2.1-beta.jar jar/vldocking.jar
dh $@ --buildsystem=maven
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<!-- groupId>com.vldocking</groupId -->
<groupId>dk.navicon</groupId>
<artifactId>vldocking</artifactId>
<version>3.0.5</version>
<packaging>jar</packaging>
<url>https://github.com/cmadsen/vldocking</url>
<name>vldocking</name>
<licenses>
<license>
<name>GNU Lesser General Public License Version 3.0</name>
<url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<id>lilian</id>
<name>Lilian Chamontin</name>
<roles>
<role>owner</role>
</roles>
</developer>
<developer>
<id>rotexdev</id>
<name>RotexDev</name>
<roles>
<role>comitter</role>
</roles>
</developer>
<developer>
<id>cmadsen</id>
<name>Carsten Madsen</name>
<roles>
<role>comitter</role>
</roles>
</developer>
</developers>
<scm>
<connection>scm:git:git@github.com:cmadsen/vldocking.git</connection>
<url>scm:git:git@github.com:cmadsen/vldocking.git</url>
<developerConnection>scm:git:git@github.com:cmadsen/vldocking.git</developerConnection>
</scm>
<properties>
<logback.version>1.0.13</logback.version>
<slf4j.version>1.7.5</slf4j.version>
<junit.version>4.8</junit.version>
<gpg.useagent>true</gpg.useagent>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<!-- <wtpapplicationxml>true</wtpapplicationxml> <wtpversion>2.0</wtpversion> -->
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<includePom>true</includePom>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<excludes>
<exclude>**/doc-files/**</exclude>
</excludes>
</resource>
</resources>
</build>
<dependencies>
<!-- ******** -->
<!-- External -->
<!-- ******** -->
<!-- Log -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- Tests -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
<scope>test</scope>
</dependency>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<configuration>
<passphrase>${gpg.passphrase}</passphrase>
<useAgent>${gpg.useagent}</useAgent>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
\ No newline at end of file
/*
VLDocking Framework 2.1
Copyright VLSOLUTIONS, 2004-2006
email : info@vlsolutions.com
------------------------------------------------------------------------
This software is distributed under the CeCILL license, a GNU GPL-compatible
license adapted to french law.
French and English license headers are provided at the begining of
the source files of this software application.
------------------------------------------------------------------------
LICENCE CeCILL (FRENCH VERSION).
------------------------------------------------------------------------
Ce logiciel est un programme informatique servant à améliorer les interfaces
homme-machine d'applications Java basées sur Swing, en leur apportant un
ensemble de fonctions relatives au dockage des composants.
Ce logiciel est régi par la licence CeCILL soumise au droit français et
respectant les principes de diffusion des logiciels libres. Vous pouvez
utiliser, modifier et/ou redistribuer ce programme sous les conditions
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
sur le site "http://www.cecill.info".
En contrepartie de l'accessibilité au code source et des droits de copie,
de modification et de redistribution accordés par cette licence, il n'est
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
seule une responsabilité restreinte pèse sur l'auteur du programme, le
titulaire des droits patrimoniaux et les concédants successifs.
A cet égard l'attention de l'utilisateur est attirée sur les risques
associés au chargement, à l'utilisation, à la modification et/ou au
développement et à la reproduction du logiciel par l'utilisateur étant
donné sa spécificité de logiciel libre, qui peut le rendre complexe à
manipuler et qui le réserve donc à des développeurs et des professionnels
avertis possédant des connaissances informatiques approfondies. Les
utilisateurs sont donc invités à charger et tester l'adéquation du
logiciel à leurs besoins dans des conditions permettant d'assurer la
sécurité de leurs systèmes et ou de leurs données et, plus généralement,
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
pris connaissance de la licence CeCILL, et que vous en avez accepté les
termes.
------------------------------------------------------------------------
CeCILL License (ENGLISH VERSION)
------------------------------------------------------------------------
This software is a computer program whose purpose is to enhance Human-Computer
Interfaces written in Java with the Swing framework, providing them a set of
functions related to component docking.
This software is governed by the CeCILL license under French law and
abiding by the rules of distribution of free software. You can use,
modify and/ or redistribute the software under the terms of the CeCILL
license as circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info".
As a counterpart to the access to the source code and rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty and the software's author, the holder of the
economic rights, and the successive licensors have only limited
liability.
In this respect, the user's attention is drawn to the risks associated
with loading, using, modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean that it is complicated to manipulate, and that also
therefore means that it is reserved for developers and experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or
data to be ensured and, more generally, to use and operate it in the
same conditions as regards security.
The fact that you are presently reading this means that you have had
knowledge of the CeCILL license and that you accept its terms.
*/
package com.vlsolutions.swing.docking;
/** A constraint used to specify how a dockable is tied (anchored) to its containing parent .
*
* @author Lilian Chamontin, VLSolutions
* @since 2.1
*/
public class AnchorConstraints {
/** Field describing a dockable anchored to the TOP border of its ancestor container */
public static final int ANCHOR_TOP = 1;
/** Field describing a dockable anchored to the LEFT border of its ancestor container */
public static final int ANCHOR_LEFT = 2;
/** Field describing a dockable anchored to the BOTTOM border of its ancestor container */
public static final int ANCHOR_BOTTOM = 4;
/** Field describing a dockable anchored to the RIGHT border of its ancestor container */
public static final int ANCHOR_RIGHT = 8;
private int anchor;
/** Constructor for an immutable contraints
*
*@param anchor value expressed as a bitwise OR between ANCHOR_ fields (for example ANCHOR_TOP|ANCHOR_LEFT)
*
*/
public AnchorConstraints(int anchor) {
this.anchor = anchor;
}
/** Returns the anchor value of this contraints object.
* <p>
* Anchor is expressed as a bitwise OR between ANCHOR_ fields (for example ANCHOR_TOP|ANCHOR_LEFT)
*/
public int getAnchor() {
return anchor;
}
}