Commit f3a94f5d authored by Eric Tobias's avatar Eric Tobias

Initial commit after migrating the files from SVN.

parents
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry exported="true" kind="lib" path="libs/jdom-2.0.5.jar" sourcepath="libs/jdom-2.0.5-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/TUI%20Framework/libs/jdom-2.0.5-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry exported="true" kind="lib" path="libs/guava-15.0.jar" sourcepath="libs/guava-15.0-sources.jar">
<attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/TUI%20Framework/libs/guava-15.0-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry exported="true" kind="lib" path="libs/tuio-1.4.jar" sourcepath="C:/Users/tobias/.m2/repository/net/sourceforge/tuio/tuio/1.4/tuio-1.4-sources.jar"/>
<classpathentry exported="true" kind="lib" path="libs/dbc.annotation.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
</classpath>
/bin/
*.metadata
/dist
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>TULIP</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>
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=lu.tudor.ssi.kiss.dbc.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=lu.tudor.ssi.kiss.dbc.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nullable=lu.tudor.ssi.kiss.dbc.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=warning
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<project name="TULIP" default="all" basedir=".">
<property name='build' location='dist' />
<property name='application.version' value='1.0'/>
<property name='application.name' value='TULIP'/>
<property name='distribution' value='${application.name}-${application.version}'/>
<tstamp><format property='build.time' pattern='yyyy-MM-dd HH:mm:ss'/></tstamp>
<path id='compile.classpath'>
<fileset dir='libs'>
<include name='*.jar'/>
</fileset>
</path>
<condition property='jdk.javadoc.visible' value='true' else='false'>
<http url='http://java.sun.com/javase/8/docs/api/' />
</condition>
<echo>
Application: ${application.name} ${application.version}
Build File : ${ant.file}
Run Date : ${build.time}
Run by : ${user.name}
Build Dir : ${build}
Base Dir : ${basedir}
Java Home : ${java.home}
Connected to the web : ${jdk.javadoc.visible}
</echo>
<echo>Creating build directory</echo>
<mkdir dir="${build}"/>
<mkdir dir="bin"/>
<target name='clean' description="Delete all build artifacts." >
<delete includeEmptyDirs="true">
<fileset dir='${build}'/>
</delete>
<delete includeEmptyDirs="true">
<fileset dir='bin'/>
</delete>
<mkdir dir="bin"/>
<mkdir dir="${build}"/>
<mkdir dir="${build}/javadoc"/>
<mkdir dir="${build}/assets"/>
</target>
<target name='compile' description='Compile source files.'>
<javac includeantruntime="false" srcdir="src" destdir="bin">
<classpath refid='compile.classpath'/>
</javac>
</target>
<target name='jar' description='Create a jar file for distribution.' depends="compile">
<jar destfile='${build}/${distribution}.jar'>
<fileset dir="bin"/>
<zipgroupfileset dir="libs" includes="*.jar"/>
</jar>
</target>
<target name="source and doc" description="Bundle sources and javadoc in a jar" depends="javadoc">
<jar compress="${jar.compress}" basedir="src" jarfile="${build}/${distribution}-sources.jar" />
<jar compress="${jar.compress}" basedir="${build}/javadoc/" jarfile="${build}/${distribution}-javadoc.jar" />
<copy file="calibration.xml" todir="${build}/"/>
<copy file="properties.properties" todir="${build}/"/>
<copy todir="${build}/assets">
<fileset dir="assets"/>
</copy>
<jar compress="${jar.compress}" basedir="test" jarfile="${build}/${distribution}-test.jar" />
</target>
<target name='javadoc' description='Generate javadoc.' >
<javadoc
use='true' author='true' version='true'
access='package'
sourcepath='src'
packagenames='*.*'
destdir='${build}/javadoc'
windowtitle='${application.name} ${application.version}'
noqualifier='java.*:javax.*:com.sun.*'
linksource='true' >
<tag name="invariant" scope="all" description="Invariant:"/>
<tag name="post" scope="all" description="Postcondition:"/>
<tag name="pre" scope="all" description="Precondition:"/>
<classpath refid='compile.classpath'/>
<link href='http://java.sun.com/javase/8/docs/api/'/>
<header><![CDATA[<h1>${application.name} ${application.version}</h1>]]></header>
</javadoc>
</target>
<target name='distribution' description='Create zip file with project code and resources.'>
<zip destfile='${build}/${distribution}.zip'>
<zipfileset dir='${build}'/>
</zip>
</target>
<target name='all' description='Create all build artifacts.'
depends='clean, jar, javadoc, source and doc, distribution'>
<echo>Finished creating all build artifacts.</echo>
</target>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="build" name="TULIP">
<property environment="env"/>
<property name="ECLIPSE_HOME" value="../../../../../Eclipse x64 Luna/"/>
<property name="Climate_Change.location" value="../Climate Change"/>
<property name="junit.output.dir" value="junit"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.7"/>
<property name="source" value="1.7"/>
<property name='build' location='bin' />
<property name='dist' location='dist' />
<property name='application.version' value='1.0'/>
<property name='application.name' value='TULIP'/>
<property name='distribution' value='${application.name}-${application.version}'/>
<tstamp><format property='build.time' pattern='yyyy-MM-dd HH:mm:ss'/></tstamp>
<path id="JUnit 4.libraryclasspath">
<pathelement location="${ECLIPSE_HOME}plugins/org.junit_4.11.0.v201303080030/junit.jar"/>
<pathelement location="${ECLIPSE_HOME}plugins/org.hamcrest.core_1.3.0.v201303031735.jar"/>
</path>
<path id="TULIP.classpath">
<pathelement location="${build}"/>
<path refid="JUnit 4.libraryclasspath"/>
<pathelement location="libs/jdom-2.0.5.jar"/>
<pathelement location="libs/guava-15.0.jar"/>
<pathelement location="libs/tuio-1.4.jar"/>
<pathelement location="libs/dbc.annotation.jar"/>
</path>
<path id="jar.classpath">
<pathelement location="jdom-2.0.5.jar"/>
<pathelement location="guava-15.0.jar"/>
<pathelement location="tuio-1.4.jar"/>
<pathelement location="dbc.annotation.jar"/>
</path>
<condition property='jdk.javadoc.visible' value='true' else='false'>
<http url='http://java.sun.com/javase/8/docs/api/' />
</condition>
<target name="init" depends="clean">
<echo>
Application: ${application.name} ${application.version}
Build File : ${ant.file}
Run Date : ${build.time}
Run by : ${user.name}
Build Dir : ${dist}
Base Dir : ${basedir}
Java Home : ${java.home}
Connected to the web : ${jdk.javadoc.visible}
</echo>
<mkdir dir="${dist}"/>
<mkdir dir="${build}"/>
</target>
<target name='clean' description="Delete all build artifacts." >
<delete includeEmptyDirs="true">
<fileset dir='${dist}'/>
</delete>
<delete includeEmptyDirs="true">
<fileset dir='bin'/>
</delete>
<mkdir dir="${build}"/>
<mkdir dir="${dist}"/>
<mkdir dir="${dist}/javadoc"/>
<mkdir dir="${dist}/assets"/>
</target>
<target name="build" depends="build-project,jar,source-and-doc,distribution,build-refprojects"/>
<target name="build-no-ref" depends="build-project,jar,source-and-doc,distribution"/>
<target name="build-project" depends="init">
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" includeantruntime="false" source="${source}" target="${target}">
<src path="src"/>
<!--<src path="test"/>-->
<classpath refid="TULIP.classpath"/>
</javac>
</target>
<target name="build-refprojects" description="Build all projects which reference this project.">
<ant antfile="build.xml" dir="${Climate_Change.location}" inheritAll="false" target="build-no-sub">
<propertyset>
<propertyref name="build.compiler"/>
</propertyset>
</ant>
<copy file="${dist}/${distribution}.jar" todir="${Climate_Change.location}/dist/"/>
<copy todir="${Climate_Change.location}/dist/">
<fileset dir="libs"/>
</copy>
</target>
<target name='jar' description='Create a jar file for distribution.'>
<pathconvert property="manifest.classpath" pathsep=" ">
<path refid="jar.classpath" />
<flattenmapper />
</pathconvert>
<echo>TULIP classpath: ${manifest.classpath}</echo>
<jar destfile='${dist}/${distribution}.jar'>
<fileset dir="bin"/>
<!--<zipgroupfileset dir="libs" includes="*.jar"/>-->
<manifest>
<attribute name="Class-Path" value="${manifest.classpath}"/>
</manifest>
</jar>
<copy todir="${dist}/">
<fileset dir="libs">
<exclude name="sources.jar,javadoc.jar,test.jar"/>
</fileset>
</copy>
</target>
<target name="source-and-doc" description="Bundle sources and javadoc in a jar!" depends="javadoc">
<jar compress="${jar.compress}" basedir="src" jarfile="${dist}/${distribution}-sources.jar" />
<jar compress="${jar.compress}" basedir="${dist}/javadoc/" jarfile="${dist}/${distribution}-javadoc.jar" />
<copy file="calibration.xml" todir="${dist}/"/>
<copy file="properties.properties" todir="${dist}/"/>
<copy todir="${dist}/assets">
<fileset dir="assets"/>
</copy>
<jar compress="${jar.compress}" basedir="test" jarfile="${dist}/${distribution}-test.jar" />
</target>
<target name='javadoc' description='Generate javadoc.' >
<javadoc
use='true' author='true' version='true'
access='package'
sourcepath='src'
packagenames='*.*'
destdir='${dist}/javadoc'
windowtitle='${application.name} ${application.version}'
noqualifier='java.*:javax.*:com.sun.*'
linksource='true' >
<tag name="invariant" scope="all" description="Invariant:"/>
<tag name="post" scope="all" description="Postcondition:"/>
<tag name="pre" scope="all" description="Precondition:"/>
<classpath refid='TULIP.classpath'/>
<link href='http://java.sun.com/javase/8/docs/api/'/>
<header><![CDATA[<h1>${application.name} ${application.version}</h1>]]></header>
</javadoc>
</target>
<target name='distribution' description='Create zip file with project code and resources.'>
<zip destfile='${dist}/${distribution}.zip'>
<zipfileset dir='${dist}'>
<exclude name="${dist}/${distribution}.zip"/>
</zipfileset>
</zip>
</target>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<calibration>
<screen>
<x1>0</x1>
<y1>0</y1>
<!-- <x2>800</x2>
<y2>650</y2> -->
<x2>1280</x2>
<y2>800</y2>
</screen>
<camera>
<x1>0.06699997</x1>
<y1>-0.013999984</y1>
<x2>0.92900026</x2>
<y2>1.0049983</y2>
</camera>
<table>
<width>1000</width>
<height>750</height>
<circleSize>60</circleSize>
<triangleSize>80</triangleSize>
<squareSize>50</squareSize>
<rectangleWidth>40</rectangleWidth>
<rectangleHeight>20</rectangleHeight>
</table>
<window>
<!-- <x>1550</x>
<y>10</y> -->
<x>0</x>
<y>0</y>
<width>1280</width>
<height>800</height>
</window>
</calibration>
<?xml version="1.0" encoding="UTF-8"?>
<config>
<fidtolog>
<ids> 23, 24, 25</ids>
<x> 1, 1, 1</x>
<y> 0, 0, 1</y>
<a> 1, 1, 1</a>
<up> 1, 1, 1</up>
<down> 0, 1, 1</down>
<move> 1, 1, 1</move>
<time> 1, 1, 1</time>
</fidtolog>
<curtolog>
<x> 1</x>
<y> 0</y>
<up> 1</up>
<down> 1</down>
<move> 1</move>
<time> 0</time>
</curtolog>
<corona>
<centre>1</centre>
<offset>1</offset>
<spin> 1</spin>
</corona>
<app_var>
<Energy1>1</Energy1>
<Energy2>1</Energy2>
<Energy4>1</Energy4>
</app_var>
<vartolog>
<names>fid1, fid2</names>
</vartolog>
</config>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<calibration>
<screen>
<x1>0</x1>
<y1>0</y1>
<!-- <x2>800</x2>
<y2>650</y2> -->
<x2>1280</x2>
<y2>800</y2>
</screen>
<camera>
<x1>0.06699997</x1>
<y1>-0.013999984</y1>
<x2>0.92900026</x2>
<y2>1.0049983</y2>
</camera>
<table>
<width>1001</width>
<height>751</height>
<circleSize>70</circleSize>
<triangleSize>80</triangleSize>
<squareSize>50</squareSize>
<rectangleWidth>40</rectangleWidth>
<rectangleHeight>20</rectangleHeight>
</table>
<window>
<!-- <x>1550</x>
<y>10</y> -->
<x>1</x>
<y>1</y>
<width>1280</width>
<height>600</height>
</window>
</calibration>
# Properties for the Logger
logger.event.output.location = log.txt
logger.event.output.enabled = false
logger.level = SEVERE
logger.event.configuration = logger.xml
# Widget IDs to be mapped
# Properties for calibrating the interface
frameTitle = NUI Application
windowWidth = 1280
windowHeight = 800
fullScreen = false
font = Arial
fontSize = 13
colour = BLACK
centred = false
# Properties for the calibration of the object manager
#The value below is best left at or above 1024
cursorIDRemappingConstant = 1024
\ No newline at end of file
/**
* Copyright CRP Henri Tudor, 2014.
* All rights reserved. If you wish to use this code for any purpose,
* please contact CRP Henri Tudor's Technology Transfer Office : tto@tudor.lu
*/
package lu.tudor.ssi.kiss.tui;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Collection;
import java.util.Properties;
import java.util.Vector;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComponent;
import lu.tudor.ssi.kiss.dbc.annotation.NonNullByDefault;
import lu.tudor.ssi.kiss.dbc.annotation.Nullable;
import lu.tudor.ssi.kiss.tui.logging.EventLogger;
import lu.tudor.ssi.kiss.tui.utility.GlobalContext;
import lu.tudor.ssi.kiss.tui.utility.IDMapper;
import TUIO.TuioClient;
import TUIO.TuioCursor;
import TUIO.TuioListener;
import TUIO.TuioObject;
import com.google.common.base.Preconditions;
/**
* Abstract class holding the basic necessities to have in a tangible application.
* The class initialises properties and holds references to all managers. The class
* is used to configure the {@link Logger} as well as to establish the connection
* between the tangible interface and the application.
* @author Eric TOBIAS [eric.tobias@tudor.lu]