SOM moved to OpenProject Git
@@ -0,0 +1 @@
|
|||||||
|
selfomat-single-user
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<component name="ArtifactManager">
|
||||||
|
<artifact type="jar" name="selfomat-single-user:jar">
|
||||||
|
<output-path>$PROJECT_DIR$/classes/artifacts/selfomat_single_user_jar</output-path>
|
||||||
|
<root id="archive" name="selfomat-single-user.jar">
|
||||||
|
<element id="module-output" name="selfomat-single-user" />
|
||||||
|
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4.jar" path-in-jar="/" />
|
||||||
|
</root>
|
||||||
|
</artifact>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<resourceExtensions />
|
||||||
|
<wildcardResourcePatterns>
|
||||||
|
<entry name="!?*.java" />
|
||||||
|
<entry name="!?*.form" />
|
||||||
|
<entry name="!?*.class" />
|
||||||
|
<entry name="!?*.groovy" />
|
||||||
|
<entry name="!?*.scala" />
|
||||||
|
<entry name="!?*.flex" />
|
||||||
|
<entry name="!?*.kt" />
|
||||||
|
<entry name="!?*.clj" />
|
||||||
|
<entry name="!?*.aj" />
|
||||||
|
</wildcardResourcePatterns>
|
||||||
|
<annotationProcessing>
|
||||||
|
<profile default="true" name="Default" enabled="false">
|
||||||
|
<processorPath useClasspath="true" />
|
||||||
|
</profile>
|
||||||
|
<profile default="false" name="Maven default annotation processors profile" enabled="true">
|
||||||
|
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||||
|
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||||
|
<outputRelativeToContentRoot value="true" />
|
||||||
|
<processorPath useClasspath="true" />
|
||||||
|
<module name="selfomat-single-user" />
|
||||||
|
</profile>
|
||||||
|
</annotationProcessing>
|
||||||
|
<bytecodeTargetLevel target="1.8">
|
||||||
|
<module name="selfomat-single-user" target="1.5" />
|
||||||
|
</bytecodeTargetLevel>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<component name="CopyrightManager">
|
||||||
|
<settings default="" />
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding">
|
||||||
|
<file url="PROJECT" charset="UTF-8" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Maven: com.twelvemonkeys.common:common-image:3.2.1">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-image/3.2.1/common-image-3.2.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-image/3.2.1/common-image-3.2.1-javadoc.jar!/" />
|
||||||
|
</JAVADOC>
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-image/3.2.1/common-image-3.2.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Maven: com.twelvemonkeys.common:common-io:3.2.1">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-io/3.2.1/common-io-3.2.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-io/3.2.1/common-io-3.2.1-javadoc.jar!/" />
|
||||||
|
</JAVADOC>
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-io/3.2.1/common-io-3.2.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Maven: com.twelvemonkeys.common:common-lang:3.2.1">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-lang/3.2.1/common-lang-3.2.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-lang/3.2.1/common-lang-3.2.1-javadoc.jar!/" />
|
||||||
|
</JAVADOC>
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/common/common-lang/3.2.1/common-lang-3.2.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Maven: com.twelvemonkeys.imageio:imageio-core:3.2.1">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-core/3.2.1/imageio-core-3.2.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-core/3.2.1/imageio-core-3.2.1-javadoc.jar!/" />
|
||||||
|
</JAVADOC>
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-core/3.2.1/imageio-core-3.2.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Maven: com.twelvemonkeys.imageio:imageio-jpeg:3.2.1">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-jpeg/3.2.1/imageio-jpeg-3.2.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-jpeg/3.2.1/imageio-jpeg-3.2.1-javadoc.jar!/" />
|
||||||
|
</JAVADOC>
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-jpeg/3.2.1/imageio-jpeg-3.2.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Maven: com.twelvemonkeys.imageio:imageio-metadata:3.2.1">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-metadata/3.2.1/imageio-metadata-3.2.1.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-metadata/3.2.1/imageio-metadata-3.2.1-javadoc.jar!/" />
|
||||||
|
</JAVADOC>
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/com/twelvemonkeys/imageio/imageio-metadata/3.2.1/imageio-metadata-3.2.1-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="Maven: commons-io:commons-io:2.4">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/" />
|
||||||
|
</JAVADOC>
|
||||||
|
<SOURCES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-sources.jar!/" />
|
||||||
|
</SOURCES>
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="commons-io:commons-io:2.4">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/commons-io-2.4.jar!/" />
|
||||||
|
<root url="jar://$PROJECT_DIR$/lib/commons-io-2.4.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ClientPropertiesManager">
|
||||||
|
<properties class="javax.swing.AbstractButton">
|
||||||
|
<property name="hideActionText" class="java.lang.Boolean" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JComponent">
|
||||||
|
<property name="html.disable" class="java.lang.Boolean" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JEditorPane">
|
||||||
|
<property name="JEditorPane.w3cLengthUnits" class="java.lang.Boolean" />
|
||||||
|
<property name="JEditorPane.honorDisplayProperties" class="java.lang.Boolean" />
|
||||||
|
<property name="charset" class="java.lang.String" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JList">
|
||||||
|
<property name="List.isFileList" class="java.lang.Boolean" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JPasswordField">
|
||||||
|
<property name="JPasswordField.cutCopyAllowed" class="java.lang.Boolean" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JSlider">
|
||||||
|
<property name="Slider.paintThumbArrowShape" class="java.lang.Boolean" />
|
||||||
|
<property name="JSlider.isFilled" class="java.lang.Boolean" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JTable">
|
||||||
|
<property name="Table.isFileList" class="java.lang.Boolean" />
|
||||||
|
<property name="JTable.autoStartsEdit" class="java.lang.Boolean" />
|
||||||
|
<property name="terminateEditOnFocusLost" class="java.lang.Boolean" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JToolBar">
|
||||||
|
<property name="JToolBar.isRollover" class="java.lang.Boolean" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.JTree">
|
||||||
|
<property name="JTree.lineStyle" class="java.lang.String" />
|
||||||
|
</properties>
|
||||||
|
<properties class="javax.swing.text.JTextComponent">
|
||||||
|
<property name="caretAspectRatio" class="java.lang.Double" />
|
||||||
|
<property name="caretWidth" class="java.lang.Integer" />
|
||||||
|
</properties>
|
||||||
|
</component>
|
||||||
|
<component name="EntryPointsManager">
|
||||||
|
<entry_points version="2.0" />
|
||||||
|
</component>
|
||||||
|
<component name="MavenProjectsManager">
|
||||||
|
<option name="originalFiles">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/pom.xml" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
||||||
|
<OptionsSetting value="true" id="Add" />
|
||||||
|
<OptionsSetting value="true" id="Remove" />
|
||||||
|
<OptionsSetting value="true" id="Checkout" />
|
||||||
|
<OptionsSetting value="true" id="Update" />
|
||||||
|
<OptionsSetting value="true" id="Status" />
|
||||||
|
<OptionsSetting value="true" id="Edit" />
|
||||||
|
<ConfirmationsSetting value="0" id="Add" />
|
||||||
|
<ConfirmationsSetting value="0" id="Remove" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" assert-keyword="true" jdk-15="true" project-jdk-name="1.8.45" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/classes" />
|
||||||
|
</component>
|
||||||
|
<component name="SvnBranchConfigurationManager">
|
||||||
|
<option name="myConfigurationMap">
|
||||||
|
<map>
|
||||||
|
<entry key="$PROJECT_DIR$">
|
||||||
|
<value>
|
||||||
|
<SvnBranchConfiguration>
|
||||||
|
<option name="branchUrls">
|
||||||
|
<list>
|
||||||
|
<option value="http://svn.picture.tools/selfomat/branches" />
|
||||||
|
<option value="http://svn.picture.tools/selfomat/tags" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="trunkUrl" value="http://svn.picture.tools/selfomat/trunk" />
|
||||||
|
</SvnBranchConfiguration>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
<option name="mySupportsUserInfoFilter" value="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/selfomat-single-user.iml" filepath="$PROJECT_DIR$/selfomat-single-user.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Palette2">
|
||||||
|
<group name="Swing">
|
||||||
|
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Button" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="RadioButton" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="CheckBox" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Label" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||||
|
<preferred-size width="-1" height="20" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
</group>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,78 @@
|
|||||||
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
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>
|
||||||
|
<groupId>de.selfomat</groupId>
|
||||||
|
<artifactId>selfomat-single-user</artifactId>
|
||||||
|
<version>0.4.0.5-SNAPSHOT</version>
|
||||||
|
|
||||||
|
<scm>
|
||||||
|
<url>scm:svn:svn://simongehrig:L4ut5pr3ch3r!@svn.picture.tools/selfomat/trunk/selfomat-java-single-user</url>
|
||||||
|
<developerConnection>scm:svn:svn://simongehrig:L4ut5pr3ch3r!@svn.picture.tools/selfomat/trunk
|
||||||
|
</developerConnection>
|
||||||
|
<tag>HEAD</tag>
|
||||||
|
</scm>
|
||||||
|
<distributionManagement>
|
||||||
|
<!-- Publish the versioned releases here -->
|
||||||
|
<repository>
|
||||||
|
<id>repo</id>
|
||||||
|
<name>My maven2 repository</name>
|
||||||
|
<url>dav:http://software:release@cloud.selfom.at/remote.php/webdav/00-SELFOMAT-Releases</url>
|
||||||
|
</repository>
|
||||||
|
</distributionManagement>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-io</groupId>
|
||||||
|
<artifactId>commons-io</artifactId>
|
||||||
|
<version>2.4</version>
|
||||||
|
</dependency>
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.twelvemonkeys.imageio/imageio-jpeg -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.twelvemonkeys.imageio</groupId>
|
||||||
|
<artifactId>imageio-jpeg</artifactId>
|
||||||
|
<version>3.2.1</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<name>selfomat single user</name>
|
||||||
|
<description>Photobooth Software</description>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>Start</mainClass>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>Start</mainClass>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
<descriptorRefs>
|
||||||
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||||
|
</descriptorRefs>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#release configuration
|
||||||
|
#Fri Jun 17 14:04:37 CEST 2016
|
||||||
|
preparationGoals=clean verify
|
||||||
|
scm.commentPrefix=[maven-release-plugin]
|
||||||
|
remoteTagging=true
|
||||||
|
completedPhase=check-poms
|
||||||
|
scm.url=scm\:svn\:svn\://simongehrig\:L4ut5pr3ch3r\!@svn.picture.tools/selfomat/trunk/selfomat-java-single-user/
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false">
|
||||||
|
<output url="file://$MODULE_DIR$/target/classes" />
|
||||||
|
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.twelvemonkeys.imageio:imageio-jpeg:3.2.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.twelvemonkeys.imageio:imageio-core:3.2.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.twelvemonkeys.imageio:imageio-metadata:3.2.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.twelvemonkeys.common:common-lang:3.2.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.twelvemonkeys.common:common-io:3.2.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Maven: com.twelvemonkeys.common:common-image:3.2.1" level="project" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
@@ -0,0 +1,238 @@
|
|||||||
|
package GUI;
|
||||||
|
|
||||||
|
import javafx.application.Platform;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.ProgressIndicator;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.layout.StackPane;
|
||||||
|
import javafx.scene.text.Font;
|
||||||
|
import model.SOMConfig;
|
||||||
|
import model.SOMImage;
|
||||||
|
import model.SOMLayout;
|
||||||
|
import workers.FilesWorker;
|
||||||
|
import workers.ScaleWorker;
|
||||||
|
|
||||||
|
import java.util.Timer;
|
||||||
|
import java.util.TimerTask;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Simon on 13.06.2016.
|
||||||
|
*/
|
||||||
|
public class CaptureCtl {
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public StackPane capturePane;
|
||||||
|
@FXML
|
||||||
|
public Label countdownText;
|
||||||
|
@FXML
|
||||||
|
public ImageView image;
|
||||||
|
@FXML
|
||||||
|
public ProgressIndicator pictureLoadIndicator;
|
||||||
|
|
||||||
|
// series switch
|
||||||
|
public boolean series = false;
|
||||||
|
// Timer for coutdown
|
||||||
|
Timer timer;
|
||||||
|
// series picture counter
|
||||||
|
private int seriesCounter;
|
||||||
|
// countdown counter
|
||||||
|
private int counter = 0;
|
||||||
|
|
||||||
|
// Initialisation
|
||||||
|
public void initialize() {
|
||||||
|
setPane();
|
||||||
|
setImage();
|
||||||
|
setCountdownText();
|
||||||
|
setPictureLoadIndicator();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPictureLoadIndicator() {
|
||||||
|
pictureLoadIndicator.setVisible(false);
|
||||||
|
|
||||||
|
pictureLoadIndicator.setPrefHeight(SOMLayout.screenHeight / 4);
|
||||||
|
pictureLoadIndicator.setPrefWidth(SOMLayout.screenHeight / 4);
|
||||||
|
|
||||||
|
pictureLoadIndicator.setMaxSize(SOMLayout.screenHeight / 2, SOMLayout.screenHeight / 2);
|
||||||
|
|
||||||
|
pictureLoadIndicator.setStyle("-fx-progress-color: white;");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setCountdownText() {
|
||||||
|
|
||||||
|
capturePane.setAlignment(Pos.CENTER);
|
||||||
|
countdownText.setAlignment(Pos.CENTER);
|
||||||
|
|
||||||
|
countdownText.setPrefSize(SOMLayout.screenHeight / 2, SOMLayout.screenHeight / 2);
|
||||||
|
countdownText.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
countdownText.setText(null);
|
||||||
|
countdownText.setFont(new Font("Century Gothic Bold", SOMLayout.screenHeight / 4));
|
||||||
|
countdownText.setTextFill(SOMLayout.WHITE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPane() {
|
||||||
|
capturePane.setBackground(SOMLayout.BLACK_BG);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setImage() {
|
||||||
|
// Set the image aspect ratio to be preserved
|
||||||
|
image.setPreserveRatio(true);
|
||||||
|
|
||||||
|
// Set the image to the image View
|
||||||
|
image.setImage(SOMLayout.SPLASH_IMAGE);
|
||||||
|
|
||||||
|
// make it fit the height of the Screen
|
||||||
|
image.setFitHeight(SOMLayout.screenHeight);
|
||||||
|
|
||||||
|
// Calculate the offset to center it horizontally if the image is wider than the screen (or narrower)
|
||||||
|
double aspect = image.getImage().getWidth() / image.getImage().getHeight();
|
||||||
|
double scaledWidth = aspect * SOMLayout.screenHeight;
|
||||||
|
double offset = (scaledWidth - SOMLayout.screenWidth) / 2;
|
||||||
|
|
||||||
|
image.setX(-offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSeries(Boolean series) {
|
||||||
|
this.series = series;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LOGIC
|
||||||
|
* -----------------------------------------------------------------
|
||||||
|
* -----------------------------------------------------------------
|
||||||
|
* */
|
||||||
|
protected void shoot(boolean series) {
|
||||||
|
// Check for series mode
|
||||||
|
System.out.println("shoot");
|
||||||
|
|
||||||
|
// Change to the capture screen
|
||||||
|
SOMGUI.changetocapture();
|
||||||
|
|
||||||
|
if (series)
|
||||||
|
// if series mode is on, set the counter to amount of pictures to make
|
||||||
|
seriesCounter = SOMConfig.SERIES_COUNTER;
|
||||||
|
else
|
||||||
|
// else set it to one
|
||||||
|
seriesCounter = 1;
|
||||||
|
|
||||||
|
|
||||||
|
//start the first countdown
|
||||||
|
countdown2();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void countdown2() {
|
||||||
|
// set the Countdown Value
|
||||||
|
counter = SOMConfig.COUNTDOWN_COUNTER;
|
||||||
|
|
||||||
|
// open a Timer
|
||||||
|
timer = new Timer();
|
||||||
|
// give it a Task
|
||||||
|
TimerTask task = new TimerTask() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
if (seriesCounter == 0)
|
||||||
|
counter = 0;
|
||||||
|
|
||||||
|
System.out.println("countdown " + counter);
|
||||||
|
// It feels better if there is still
|
||||||
|
// a second after the counter is at
|
||||||
|
// 0, so it will count to -1
|
||||||
|
|
||||||
|
// show smile instead of a zero
|
||||||
|
if (counter == 0) {
|
||||||
|
|
||||||
|
Platform.runLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
// Remove Text
|
||||||
|
countdownText.setText(null);
|
||||||
|
// Set Countdown Smile Image
|
||||||
|
countdownText.setGraphic(new ImageView(SOMLayout.SMILE_IMAGE));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
// shoot the camera
|
||||||
|
else if (counter <= -1) {
|
||||||
|
|
||||||
|
// Run on Javafx Thread
|
||||||
|
Platform.runLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
// Remove Graphic
|
||||||
|
countdownText.setGraphic(null);
|
||||||
|
// Remove Text
|
||||||
|
countdownText.setText(null);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// cancel the timer
|
||||||
|
timer.cancel();
|
||||||
|
// show the Load indicator
|
||||||
|
pictureLoadIndicator.setVisible(true);
|
||||||
|
// hide the Countdown Text
|
||||||
|
countdownText.setVisible(false);
|
||||||
|
// actually take the picture
|
||||||
|
takePicture();
|
||||||
|
// Count down one Picture
|
||||||
|
seriesCounter--;
|
||||||
|
|
||||||
|
// check if pictures are left
|
||||||
|
if (seriesCounter > 0) {
|
||||||
|
// restart if pictures left
|
||||||
|
countdown2();
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Change the UI
|
||||||
|
Platform.runLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
// change to Picture scene
|
||||||
|
SOMGUI.changetopicture();
|
||||||
|
// set the Gallery page to the first
|
||||||
|
SOMGUI.galleryCtl.setPage();
|
||||||
|
// update the Gallery
|
||||||
|
SOMGUI.galleryCtl.getGalleryImages();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Show the Time left
|
||||||
|
else {
|
||||||
|
|
||||||
|
Platform.runLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
// Set Countdown Text
|
||||||
|
countdownText.setText(String.valueOf(counter + 1));
|
||||||
|
// Set the Counter Visible
|
||||||
|
countdownText.setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
counter--;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// start the timer
|
||||||
|
timer.schedule(task, 0, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void takePicture() {
|
||||||
|
// Capture the image
|
||||||
|
SOMImage newImage = FilesWorker.waitForImageAndCapture();
|
||||||
|
|
||||||
|
//Scale the image to preview
|
||||||
|
ScaleWorker.scale(newImage, ScaleWorker.PREVIEW);
|
||||||
|
// set te image to UI
|
||||||
|
image.setImage(new Image(newImage.getPrv().toURI().toString()));
|
||||||
|
SOMGUI.pictureCtl.image.setImage(new Image(newImage.getPrv().toURI().toString()));
|
||||||
|
|
||||||
|
// trigger the thumb calculation
|
||||||
|
ScaleWorker.scale(newImage, ScaleWorker.THUMBNAIL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
}
|
||||||
@@ -0,0 +1,415 @@
|
|||||||
|
package GUI;
|
||||||
|
|
||||||
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.geometry.HPos;
|
||||||
|
import javafx.geometry.VPos;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import model.SOMConfig;
|
||||||
|
import model.SOMEvent;
|
||||||
|
import model.SOMImage;
|
||||||
|
import model.SOMLayout;
|
||||||
|
import workers.ScaleWorker;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Simon on 13.06.2016.
|
||||||
|
*/
|
||||||
|
public class GalleryCtl {
|
||||||
|
@FXML
|
||||||
|
private Pane pane;
|
||||||
|
@FXML
|
||||||
|
private GridPane grid;
|
||||||
|
@FXML
|
||||||
|
private Button forthButton;
|
||||||
|
@FXML
|
||||||
|
private Button backButton;
|
||||||
|
@FXML
|
||||||
|
private Button pictureButton;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView1;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView2;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView3;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView4;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView5;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView6;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView7;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView8;
|
||||||
|
@FXML
|
||||||
|
private ImageView galleryImageView9;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton1;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton2;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton3;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton4;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton5;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton6;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton7;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton8;
|
||||||
|
@FXML
|
||||||
|
private Button galleryButton9;
|
||||||
|
|
||||||
|
private ImageView[] imageViews;
|
||||||
|
private Button[] imageButtons;
|
||||||
|
private int page = 0;
|
||||||
|
private SOMImage[] somPageImagesArray = new SOMImage[9];
|
||||||
|
|
||||||
|
public void initialize() {
|
||||||
|
setPane();
|
||||||
|
setGrid();
|
||||||
|
setBackButton();
|
||||||
|
setForthButton();
|
||||||
|
setPictureButton();
|
||||||
|
|
||||||
|
imageViews = new ImageView[]{
|
||||||
|
galleryImageView1,
|
||||||
|
galleryImageView2,
|
||||||
|
galleryImageView3,
|
||||||
|
galleryImageView4,
|
||||||
|
galleryImageView5,
|
||||||
|
galleryImageView6,
|
||||||
|
galleryImageView7,
|
||||||
|
galleryImageView8,
|
||||||
|
galleryImageView9
|
||||||
|
};
|
||||||
|
imageButtons = new Button[]{
|
||||||
|
galleryButton1,
|
||||||
|
galleryButton2,
|
||||||
|
galleryButton3,
|
||||||
|
galleryButton4,
|
||||||
|
galleryButton5,
|
||||||
|
galleryButton6,
|
||||||
|
galleryButton7,
|
||||||
|
galleryButton8,
|
||||||
|
galleryButton9
|
||||||
|
};
|
||||||
|
|
||||||
|
setImageViews();
|
||||||
|
getGalleryImages();
|
||||||
|
setImageButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setImageButtons() {
|
||||||
|
int i = 0;
|
||||||
|
for (Button imageButton : imageButtons) {
|
||||||
|
imageButton.setText(null);
|
||||||
|
imageButton.setBackground(SOMLayout.BLACK_BG);
|
||||||
|
|
||||||
|
final int finalI = i;
|
||||||
|
imageButton.setOnMouseReleased(new EventHandler<MouseEvent>() {
|
||||||
|
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
if (!somPageImagesArray[finalI].isPrvthere()) {
|
||||||
|
ScaleWorker.scale(somPageImagesArray[finalI], ScaleWorker.PREVIEW);
|
||||||
|
}
|
||||||
|
SOMGUI.pictureCtl.image.setImage(new Image(somPageImagesArray[finalI].getPrv().toURI().toString()));
|
||||||
|
SOMGUI.captureCtl.image.setImage(new Image(somPageImagesArray[finalI].getPrv().toURI().toString()));
|
||||||
|
SOMGUI.changetopicture();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setImageViews() {
|
||||||
|
for (ImageView imageView : imageViews) {
|
||||||
|
// Set the image aspect ratio to be preserved
|
||||||
|
imageView.setPreserveRatio(true);
|
||||||
|
|
||||||
|
// Set the image to the image View
|
||||||
|
imageView.setImage(SOMLayout.SPLASH_IMAGE);
|
||||||
|
|
||||||
|
// make it fit the height of the Screen
|
||||||
|
imageView.setFitHeight(SOMLayout.screenHeight / 3);
|
||||||
|
imageView.setFitWidth(SOMLayout.screenWidth / 4);
|
||||||
|
|
||||||
|
// position the images in Center
|
||||||
|
GridPane.setValignment(imageView, VPos.CENTER);
|
||||||
|
GridPane.setHalignment(imageView, HPos.CENTER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPane() {
|
||||||
|
pane.setPrefSize(SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
pane.setMinSize(SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
pane.setBackground(SOMLayout.BLACK_BG);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGrid() {
|
||||||
|
grid.setPrefHeight(SOMLayout.screenHeight);
|
||||||
|
grid.setPrefWidth(SOMLayout.screenWidth);
|
||||||
|
grid.setMinSize(SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setForthButton() {
|
||||||
|
// get the button height & width
|
||||||
|
int height = (SOMLayout.screenHeight / 4);
|
||||||
|
// set alignment
|
||||||
|
GridPane.setHalignment(forthButton, HPos.CENTER);
|
||||||
|
GridPane.setValignment(forthButton, VPos.CENTER);
|
||||||
|
// set the Button height & width
|
||||||
|
forthButton.setPrefSize(height, height);
|
||||||
|
|
||||||
|
// Make it a circle
|
||||||
|
forthButton.setBackground(SOMLayout.getTransparentBG10rounded(height / 2));
|
||||||
|
|
||||||
|
//Set Text Color
|
||||||
|
forthButton.setTextFill(SOMLayout.WHITE);
|
||||||
|
forthButton.setText(null);
|
||||||
|
|
||||||
|
// Set Image
|
||||||
|
ImageView imageView = new ImageView(SOMLayout.FORTH_IMAGE);
|
||||||
|
|
||||||
|
forthButton.setGraphic(imageView);
|
||||||
|
|
||||||
|
// Set Mouse Press Action
|
||||||
|
forthButton.setOnMousePressed(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
// Feedback
|
||||||
|
forthButton.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Set Mouse Release Action
|
||||||
|
forthButton.setOnMouseReleased(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
|
||||||
|
// Feedback
|
||||||
|
forthButton.setBackground(SOMLayout.getTransparentBG10rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
// Action
|
||||||
|
action();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Action Performed
|
||||||
|
private void action() {
|
||||||
|
page++;
|
||||||
|
getGalleryImages();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBackButton() {
|
||||||
|
// get the button height & width
|
||||||
|
int height = (SOMLayout.screenHeight / 4);
|
||||||
|
// set alignment
|
||||||
|
GridPane.setHalignment(backButton, HPos.CENTER);
|
||||||
|
GridPane.setValignment(backButton, VPos.CENTER);
|
||||||
|
// set the Button height & width
|
||||||
|
backButton.setPrefSize(height, height);
|
||||||
|
|
||||||
|
// Make it a circle
|
||||||
|
backButton.setBackground(SOMLayout.getTransparentBG10rounded(height / 2));
|
||||||
|
|
||||||
|
//Set Text Color
|
||||||
|
backButton.setTextFill(SOMLayout.WHITE);
|
||||||
|
backButton.setText(null);
|
||||||
|
|
||||||
|
// Set Image
|
||||||
|
ImageView imageView = new ImageView(SOMLayout.BACK_IMAGE);
|
||||||
|
|
||||||
|
backButton.setGraphic(imageView);
|
||||||
|
|
||||||
|
// Set Mouse Press Action
|
||||||
|
backButton.setOnMousePressed(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
// Feedback
|
||||||
|
backButton.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Set Mouse Release Action
|
||||||
|
backButton.setOnMouseReleased(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
|
||||||
|
// Feedback
|
||||||
|
backButton.setBackground(SOMLayout.getTransparentBG10rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
// Action
|
||||||
|
action();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Action Performed
|
||||||
|
private void action() {
|
||||||
|
page--;
|
||||||
|
getGalleryImages();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPictureButton() {
|
||||||
|
// get the button height & width
|
||||||
|
int height = (SOMLayout.screenHeight / 4);
|
||||||
|
// set alignment
|
||||||
|
GridPane.setHalignment(pictureButton, HPos.CENTER);
|
||||||
|
GridPane.setValignment(pictureButton, VPos.CENTER);
|
||||||
|
// set the Button height & width
|
||||||
|
pictureButton.setPrefSize(height, height);
|
||||||
|
|
||||||
|
// Make it a circle
|
||||||
|
pictureButton.setBackground(SOMLayout.getTransparentBG10rounded(height / 2));
|
||||||
|
|
||||||
|
//Set Text Color
|
||||||
|
pictureButton.setTextFill(SOMLayout.WHITE);
|
||||||
|
pictureButton.setText(null);
|
||||||
|
|
||||||
|
// Set Image
|
||||||
|
ImageView imageView = new ImageView(SOMLayout.PICTURE_IMAGE);
|
||||||
|
|
||||||
|
pictureButton.setGraphic(imageView);
|
||||||
|
|
||||||
|
// Set Mouse Press Action
|
||||||
|
pictureButton.setOnMousePressed(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
// Feedback
|
||||||
|
pictureButton.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Set Mouse Release Action
|
||||||
|
pictureButton.setOnMouseReleased(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
|
||||||
|
// Feedback
|
||||||
|
pictureButton.setBackground(SOMLayout.getTransparentBG10rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
// Action
|
||||||
|
action();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Action Performed
|
||||||
|
private void action() {
|
||||||
|
SOMGUI.changetopicture();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGalleryImageView1(ImageView galleryImageView1) {
|
||||||
|
this.galleryImageView1 = galleryImageView1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* LOGIC
|
||||||
|
* -----------------------------------------------------------------------
|
||||||
|
* -----------------------------------------------------------------------
|
||||||
|
* */
|
||||||
|
|
||||||
|
void getGalleryImages() {
|
||||||
|
//Behandelt
|
||||||
|
System.out.println("Galerie baut auf");
|
||||||
|
|
||||||
|
// get the Images as Array
|
||||||
|
List<SOMImage> imagelist = SOMEvent.getInstance().getImages();
|
||||||
|
SOMImage[] imagearray = imagelist.toArray(
|
||||||
|
new SOMImage[imagelist.size()]
|
||||||
|
);
|
||||||
|
// Open new Array for reversing
|
||||||
|
SOMImage[] reverseImageArray = new SOMImage[imagelist.size()];
|
||||||
|
// Reverse the Array
|
||||||
|
for (int h = 0; h < imagearray.length; h++) {
|
||||||
|
reverseImageArray[reverseImageArray.length - h - 1] = imagearray[h];
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the number of images
|
||||||
|
double numberOfPictures = reverseImageArray.length;
|
||||||
|
// calculate the number of pages (round up)
|
||||||
|
int numberOfPages = (int) Math.ceil(numberOfPictures / SOMConfig.IMAGES_PER_PAGE);
|
||||||
|
|
||||||
|
//report to console
|
||||||
|
System.out.println(
|
||||||
|
"WE HAVE "
|
||||||
|
+ numberOfPages
|
||||||
|
+ " PAGES AND "
|
||||||
|
+ reverseImageArray.length
|
||||||
|
+ " IMAGES"
|
||||||
|
);
|
||||||
|
|
||||||
|
// Loop through the Array
|
||||||
|
System.out.println("Start looping through current pages images");
|
||||||
|
|
||||||
|
// Loop through the ImageViews of the current page
|
||||||
|
for (int i = 0; i < SOMConfig.IMAGES_PER_PAGE; i++) {
|
||||||
|
|
||||||
|
// SYSOUT for manual checking
|
||||||
|
System.out.println("Page: " + page);
|
||||||
|
System.out.println("Image of Page: " + (i + 1));
|
||||||
|
System.out.println("Image of whole; " + (i + (page * SOMConfig.IMAGES_PER_PAGE) + 1));
|
||||||
|
|
||||||
|
// If there is an Image to set at the Position
|
||||||
|
// (on the last page it probably stops somewhere in between)
|
||||||
|
if (i + (page * SOMConfig.IMAGES_PER_PAGE) < reverseImageArray.length) {
|
||||||
|
|
||||||
|
// get the current image for the position
|
||||||
|
SOMImage currentSOMImage = reverseImageArray[i + (page * SOMConfig.IMAGES_PER_PAGE)];
|
||||||
|
// Calculate the scaled Image
|
||||||
|
currentSOMImage = ScaleWorker.scale(currentSOMImage, ScaleWorker.THUMBNAIL);
|
||||||
|
|
||||||
|
// REPORT THE Images Path to Console
|
||||||
|
System.out.println(currentSOMImage.getTmb().toURI().toString());
|
||||||
|
// set the image to corresponding ImageView
|
||||||
|
imageViews[i].setImage(new Image(currentSOMImage.getTmb().toURI().toString()));
|
||||||
|
|
||||||
|
// save the SOMImage to an Array in the
|
||||||
|
// same order for Button Actions etc.
|
||||||
|
somPageImagesArray[i] = currentSOMImage;
|
||||||
|
}
|
||||||
|
// if there are no more images to set
|
||||||
|
else {
|
||||||
|
// Set the image to null
|
||||||
|
imageViews[i].setImage(null);
|
||||||
|
|
||||||
|
// save the SOMImage to an Array in the
|
||||||
|
// same order for Button Actions etc.
|
||||||
|
somPageImagesArray[i] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// EN/DISABLE BUTTONS AT THE ENDS
|
||||||
|
if (page >= numberOfPages - 1) {
|
||||||
|
|
||||||
|
forthButton.setDisable(true);
|
||||||
|
} else {
|
||||||
|
forthButton.setDisable(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (page <= 0) {
|
||||||
|
backButton.setDisable(true);
|
||||||
|
} else {
|
||||||
|
backButton.setDisable(false);
|
||||||
|
}
|
||||||
|
setImageButtons();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the Gallery Page Number
|
||||||
|
public void setPage(int pageNumber) {
|
||||||
|
this.page = pageNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Default to 0
|
||||||
|
public void setPage() {
|
||||||
|
setPage(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,272 @@
|
|||||||
|
package GUI;
|
||||||
|
|
||||||
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.geometry.HPos;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.input.TouchEvent;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import model.SOMEvent;
|
||||||
|
import model.SOMImage;
|
||||||
|
import model.SOMLayout;
|
||||||
|
import workers.ScaleWorker;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Simon on 13.06.2016.
|
||||||
|
*/
|
||||||
|
public class PictureCtl {
|
||||||
|
@FXML
|
||||||
|
public Pane pane;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public GridPane grid;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public Button singleBtn;
|
||||||
|
@FXML
|
||||||
|
public Button seriesBtn;
|
||||||
|
@FXML
|
||||||
|
public Button galleryBtn;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public ImageView image;
|
||||||
|
|
||||||
|
public void initialize() {
|
||||||
|
|
||||||
|
// Basic Layout setup
|
||||||
|
setPane();
|
||||||
|
setGrid();
|
||||||
|
|
||||||
|
// Buttons setup
|
||||||
|
setGalleryBtn();
|
||||||
|
setSeriesBtn();
|
||||||
|
setSingleBtn();
|
||||||
|
|
||||||
|
// Image Setup
|
||||||
|
setImage();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPane() {
|
||||||
|
pane.setPrefSize(SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
pane.setBackground(SOMLayout.WHITE_BG);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setGrid() {
|
||||||
|
grid.setPrefSize(SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
|
||||||
|
grid.setAlignment(Pos.CENTER);
|
||||||
|
|
||||||
|
GridPane.setHalignment(galleryBtn, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(singleBtn, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(seriesBtn, HPos.CENTER);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setSingleBtn() {
|
||||||
|
// get the button height & width
|
||||||
|
int height = (SOMLayout.screenHeight / 4);
|
||||||
|
|
||||||
|
// set the Button height & width
|
||||||
|
singleBtn.setPrefSize(height, height);
|
||||||
|
|
||||||
|
// Make it a circle
|
||||||
|
singleBtn.setBackground(SOMLayout.getTransparentBG10rounded(height / 2));
|
||||||
|
|
||||||
|
//Set Text Color
|
||||||
|
singleBtn.setTextFill(SOMLayout.WHITE);
|
||||||
|
singleBtn.setText(null);
|
||||||
|
|
||||||
|
// Set Image
|
||||||
|
ImageView imageView = new ImageView(SOMLayout.SINGLE_PHOTO_IMAGE);
|
||||||
|
singleBtn.setGraphic(imageView);
|
||||||
|
|
||||||
|
// INTERACTION
|
||||||
|
// Set the Action to run after Button is Pressed
|
||||||
|
EventHandler singleCapturePressedEventHandler = new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
singleBtn.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Set the Action to run after Button is Released
|
||||||
|
EventHandler singleCaptureReleasedEventHandler = new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
|
||||||
|
// Feedback (button gets less transparent)
|
||||||
|
singleBtn.setBackground(SOMLayout.getTransparentBG10rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
// Action
|
||||||
|
action();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Action Performed
|
||||||
|
private void action() {
|
||||||
|
// Capture one image (false means no series mode)
|
||||||
|
SOMGUI.captureCtl.shoot(false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Set Mouse Press Action
|
||||||
|
singleBtn.setOnMousePressed(singleCapturePressedEventHandler);
|
||||||
|
|
||||||
|
// Set Mouse Release Action
|
||||||
|
singleBtn.setOnMouseReleased(singleCaptureReleasedEventHandler);
|
||||||
|
|
||||||
|
// Set Touch Press Action
|
||||||
|
singleBtn.setOnTouchPressed(singleCapturePressedEventHandler);
|
||||||
|
|
||||||
|
// Set Touch Release Action
|
||||||
|
singleBtn.setOnTouchReleased(singleCaptureReleasedEventHandler);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setSeriesBtn() {
|
||||||
|
// get the button height & width
|
||||||
|
int height = (SOMLayout.screenHeight / 4);
|
||||||
|
|
||||||
|
// set the Button height & width
|
||||||
|
seriesBtn.setPrefSize(height, height);
|
||||||
|
|
||||||
|
// Make it a circle
|
||||||
|
seriesBtn.setBackground(SOMLayout.getTransparentBG10rounded(height / 2));
|
||||||
|
|
||||||
|
//Set Text Color
|
||||||
|
seriesBtn.setTextFill(SOMLayout.WHITE);
|
||||||
|
seriesBtn.setText(null);
|
||||||
|
|
||||||
|
// Set Image
|
||||||
|
ImageView imageView = new ImageView(SOMLayout.SERIES_PHOTO_IMAGE);
|
||||||
|
|
||||||
|
seriesBtn.setGraphic(imageView);
|
||||||
|
|
||||||
|
//INTERACTION
|
||||||
|
//Set Action after Series Button is pressed
|
||||||
|
EventHandler<MouseEvent> seriesCapturePressedEventHandler = new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
// Feedback (Button gets lesstransparent)
|
||||||
|
seriesBtn.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
//Set Action after series Button is released
|
||||||
|
EventHandler<MouseEvent> seriesCaptureReleasedEventHandler = new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
|
||||||
|
// Feedback (Button gets less transparent)
|
||||||
|
seriesBtn.setBackground(SOMLayout.getTransparentBG10rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
// Shoot series (true means series Mode)
|
||||||
|
SOMGUI.captureCtl.shoot(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}; //Set Action after Series Button is pressed
|
||||||
|
EventHandler<TouchEvent> seriesCapturePressedTouchEventHandler = new EventHandler<TouchEvent>() {
|
||||||
|
public void handle(TouchEvent event) {
|
||||||
|
// Feedback (Button gets lesstransparent)
|
||||||
|
seriesBtn.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
//Set Action after series Button is released
|
||||||
|
EventHandler<TouchEvent> seriesCaptureReleasedTouchEventHandler = new EventHandler<TouchEvent>() {
|
||||||
|
public void handle(TouchEvent event) {
|
||||||
|
|
||||||
|
// Feedback (Button gets less transparent)
|
||||||
|
seriesBtn.setBackground(SOMLayout.getTransparentBG10rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
// Shoot series (true means series Mode)
|
||||||
|
SOMGUI.captureCtl.shoot(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
// Set Mouse Press Action
|
||||||
|
seriesBtn.setOnMousePressed(seriesCapturePressedEventHandler);
|
||||||
|
|
||||||
|
// Set Mouse Release Action
|
||||||
|
seriesBtn.setOnMouseReleased(seriesCaptureReleasedEventHandler);
|
||||||
|
// Set Mouse Press Action
|
||||||
|
seriesBtn.setOnTouchPressed(seriesCapturePressedTouchEventHandler);
|
||||||
|
|
||||||
|
// Set Mouse Release Action
|
||||||
|
seriesBtn.setOnTouchReleased(seriesCaptureReleasedTouchEventHandler);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setGalleryBtn() {
|
||||||
|
// get the button height & width
|
||||||
|
int height = (SOMLayout.screenHeight / 4);
|
||||||
|
|
||||||
|
// set the Button height & width
|
||||||
|
galleryBtn.setPrefSize(height, height);
|
||||||
|
|
||||||
|
// Make it a circle
|
||||||
|
galleryBtn.setBackground(SOMLayout.getTransparentBG10rounded(height / 2));
|
||||||
|
|
||||||
|
//Set Text Color
|
||||||
|
galleryBtn.setTextFill(SOMLayout.WHITE);
|
||||||
|
galleryBtn.setText(null);
|
||||||
|
|
||||||
|
// Set Image
|
||||||
|
ImageView imageView = new ImageView(SOMLayout.GALLERY_IMAGE);
|
||||||
|
|
||||||
|
galleryBtn.setGraphic(imageView);
|
||||||
|
|
||||||
|
// Set Mouse Press Action
|
||||||
|
galleryBtn.setOnMousePressed(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
// Feedback
|
||||||
|
galleryBtn.setBackground(SOMLayout.getTransparentBG20rounded(SOMLayout.screenHeight / 4));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Set Mouse Release Action
|
||||||
|
galleryBtn.setOnMouseReleased(new EventHandler<MouseEvent>() {
|
||||||
|
public void handle(MouseEvent event) {
|
||||||
|
|
||||||
|
// Feedback
|
||||||
|
galleryBtn.setBackground(SOMLayout.getTransparentBG10rounded(SOMLayout.screenHeight / 4));
|
||||||
|
|
||||||
|
// Action
|
||||||
|
action();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Action Performed
|
||||||
|
private void action() {
|
||||||
|
SOMGUI.changetogallery();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setImage() {
|
||||||
|
// Set the image aspect ratio to be preserved
|
||||||
|
image.setPreserveRatio(true);
|
||||||
|
|
||||||
|
// Set the image to the image View
|
||||||
|
Image splash = SOMLayout.SPLASH_IMAGE;
|
||||||
|
image.setImage(splash);
|
||||||
|
|
||||||
|
// make it fit the height of the Screen
|
||||||
|
image.setFitHeight(SOMLayout.screenHeight);
|
||||||
|
|
||||||
|
// Get the Event Images
|
||||||
|
List<SOMImage> somImageList = SOMEvent.getInstance().getImages();
|
||||||
|
int numberOfImages = somImageList.size();
|
||||||
|
|
||||||
|
if (numberOfImages != 0) {
|
||||||
|
// Set the last Image of the session
|
||||||
|
SOMImage somImage = somImageList.get(numberOfImages - 1);
|
||||||
|
|
||||||
|
// update the Image State
|
||||||
|
// TODO Probably not necessary
|
||||||
|
somImage.updateImageState();
|
||||||
|
|
||||||
|
// Scale the Image if needed
|
||||||
|
ScaleWorker.scale(somImage, ScaleWorker.PREVIEW);
|
||||||
|
|
||||||
|
// set the Image to UI
|
||||||
|
image.setImage(new Image(somImage.getPrv().toURI().toString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
package GUI;
|
||||||
|
|
||||||
|
import javafx.application.Application;
|
||||||
|
import javafx.fxml.FXMLLoader;
|
||||||
|
import javafx.scene.Parent;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
import javafx.stage.StageStyle;
|
||||||
|
import model.SOMLayout;
|
||||||
|
import workers.FilesWorker;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Simon on 13.06.2016.
|
||||||
|
*/
|
||||||
|
public class SOMGUI extends Application {
|
||||||
|
|
||||||
|
|
||||||
|
// picture
|
||||||
|
// gallery
|
||||||
|
// upload
|
||||||
|
// capture
|
||||||
|
// warn
|
||||||
|
|
||||||
|
// CONTROLLER
|
||||||
|
public static PictureCtl pictureCtl;
|
||||||
|
public static GalleryCtl galleryCtl;
|
||||||
|
public static UploadCtl uploadCtl;
|
||||||
|
public static CaptureCtl captureCtl;
|
||||||
|
public static WarnCtl warnCtl;
|
||||||
|
// STAGE
|
||||||
|
private static Stage thestage;
|
||||||
|
// PANES
|
||||||
|
private static Parent picture;
|
||||||
|
private static Parent gallery;
|
||||||
|
private static Parent upload;
|
||||||
|
private static Parent capture;
|
||||||
|
private static Parent warn;
|
||||||
|
//SCENES
|
||||||
|
private static Scene pictureScene;
|
||||||
|
private static Scene galleryScene;
|
||||||
|
private static Scene uploadScene;
|
||||||
|
private static Scene captureScene;
|
||||||
|
private static Scene warnScene;
|
||||||
|
// INSTANCE
|
||||||
|
private static SOMGUI somgui;
|
||||||
|
|
||||||
|
protected SOMGUI() throws Exception {
|
||||||
|
// set up the scenes
|
||||||
|
FXMLLoader pictureLoader = new FXMLLoader(getClass().getResource("/fxml/picture.fxml"));
|
||||||
|
picture = pictureLoader.load();
|
||||||
|
pictureCtl = pictureLoader.getController();
|
||||||
|
|
||||||
|
FXMLLoader galleryLoader = new FXMLLoader(getClass().getResource("/fxml/gallery.fxml"));
|
||||||
|
gallery = galleryLoader.load();
|
||||||
|
galleryCtl = galleryLoader.getController();
|
||||||
|
|
||||||
|
FXMLLoader uploadLoader = new FXMLLoader(getClass().getResource("/fxml/upload.fxml"));
|
||||||
|
upload = uploadLoader.load();
|
||||||
|
uploadCtl = uploadLoader.getController();
|
||||||
|
|
||||||
|
FXMLLoader captureLoader = new FXMLLoader(getClass().getResource("/fxml/capture.fxml"));
|
||||||
|
capture = captureLoader.load();
|
||||||
|
captureCtl = captureLoader.getController();
|
||||||
|
|
||||||
|
FXMLLoader warnLoader = new FXMLLoader(getClass().getResource("/fxml/warn.fxml"));
|
||||||
|
warn = warnLoader.load();
|
||||||
|
warnCtl = warnLoader.getController();
|
||||||
|
|
||||||
|
// Initialize the Scenes
|
||||||
|
pictureScene = new Scene(picture, SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
galleryScene = new Scene(gallery, SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
uploadScene = new Scene(upload, SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
captureScene = new Scene(capture, SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
warnScene = new Scene(warn, SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SOMGUI getInstance() throws Exception {
|
||||||
|
if (somgui == null) {
|
||||||
|
somgui = new SOMGUI();
|
||||||
|
}
|
||||||
|
return somgui;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void changetopicture() {
|
||||||
|
thestage.setScene(pictureScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void changetogallery() {
|
||||||
|
thestage.setScene(galleryScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void changetoupload() {
|
||||||
|
thestage.setScene(uploadScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void changetocapture() {
|
||||||
|
thestage.setScene(captureScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void changetowarn() {
|
||||||
|
thestage.setScene(warnScene);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void start(Stage primaryStage) throws Exception {
|
||||||
|
// make the Stage Accessible
|
||||||
|
thestage = primaryStage;
|
||||||
|
|
||||||
|
// remove all borders
|
||||||
|
thestage.initStyle(StageStyle.UNDECORATED);
|
||||||
|
// set stage to fullscreen
|
||||||
|
thestage.setFullScreen(true);
|
||||||
|
// set the upper left X & Y position of the stage
|
||||||
|
thestage.setX(0);
|
||||||
|
thestage.setY(0);
|
||||||
|
|
||||||
|
// set stage visible
|
||||||
|
thestage.show();
|
||||||
|
|
||||||
|
// Set the Upload scene
|
||||||
|
changetoupload();
|
||||||
|
// Start Upload Process
|
||||||
|
FilesWorker.upload();
|
||||||
|
// Set the Picture scene
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,154 @@
|
|||||||
|
package GUI;
|
||||||
|
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.geometry.HPos;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.ProgressBar;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.scene.paint.Color;
|
||||||
|
import model.SOMLayout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controller for upload.fxml UI
|
||||||
|
* Created by Simon on 10.05.2016.
|
||||||
|
*/
|
||||||
|
public class UploadCtl {
|
||||||
|
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public ProgressBar folderProgressBar;
|
||||||
|
@FXML
|
||||||
|
public ProgressBar pictureProgressBar;
|
||||||
|
@FXML
|
||||||
|
public ProgressBar cleanProgressBar;
|
||||||
|
@FXML
|
||||||
|
public ImageView folderImageView;
|
||||||
|
@FXML
|
||||||
|
public ImageView pictureImageView;
|
||||||
|
@FXML
|
||||||
|
public ImageView cleanImageView;
|
||||||
|
@FXML
|
||||||
|
public Label headLabel;
|
||||||
|
@FXML
|
||||||
|
public Label folderLabel;
|
||||||
|
@FXML
|
||||||
|
public Label picLabel;
|
||||||
|
@FXML
|
||||||
|
public Label cleanLabel;
|
||||||
|
@FXML
|
||||||
|
private Pane pane;
|
||||||
|
@FXML
|
||||||
|
private GridPane grid;
|
||||||
|
|
||||||
|
public UploadCtl() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Up the UI
|
||||||
|
* each part of the UI is accessed via the Setter
|
||||||
|
*/
|
||||||
|
public void initialize() {
|
||||||
|
// Set up the Upload UI parts
|
||||||
|
|
||||||
|
// basic structure
|
||||||
|
setPane();
|
||||||
|
setGrid();
|
||||||
|
|
||||||
|
// headline
|
||||||
|
setHeadLbl();
|
||||||
|
|
||||||
|
// folder row
|
||||||
|
setFolderIV();
|
||||||
|
setFolderLbl();
|
||||||
|
setFolderProg();
|
||||||
|
|
||||||
|
// picture row
|
||||||
|
setPicIV();
|
||||||
|
setPicLbl();
|
||||||
|
setPicProg();
|
||||||
|
|
||||||
|
// cleanup row
|
||||||
|
setCleanIV();
|
||||||
|
setCleanLbl();
|
||||||
|
setCleanProg();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPane() {
|
||||||
|
pane.setPrefSize(SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
pane.setBackground(SOMLayout.BLACK_BG);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setGrid() {
|
||||||
|
grid.setPrefSize(SOMLayout.screenWidth, SOMLayout.screenHeight);
|
||||||
|
GridPane.setHalignment(folderImageView, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(folderLabel, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(folderProgressBar, HPos.CENTER);
|
||||||
|
|
||||||
|
GridPane.setHalignment(pictureImageView, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(picLabel, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(pictureProgressBar, HPos.CENTER);
|
||||||
|
|
||||||
|
GridPane.setHalignment(cleanImageView, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(cleanLabel, HPos.CENTER);
|
||||||
|
GridPane.setHalignment(cleanProgressBar, HPos.CENTER);
|
||||||
|
|
||||||
|
GridPane.setHalignment(headLabel, HPos.CENTER);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setFolderProg() {
|
||||||
|
folderProgressBar.setPrefSize(SOMLayout.screenWidth, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPicProg() {
|
||||||
|
pictureProgressBar.setPrefSize(SOMLayout.screenWidth, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setCleanProg() {
|
||||||
|
cleanProgressBar.setPrefSize(SOMLayout.screenWidth, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setFolderIV() {
|
||||||
|
folderImageView.setImage(SOMLayout.GALLERY_IMAGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPicIV() {
|
||||||
|
folderImageView.setImage(SOMLayout.GALLERY_IMAGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setCleanIV() {
|
||||||
|
folderImageView.setImage(SOMLayout.GALLERY_IMAGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setHeadLbl() {
|
||||||
|
headLabel.setTextFill(Color.web("#ffffff"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setFolderLbl() {
|
||||||
|
folderLabel.setTextFill(Color.web("#ffffff"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPicLbl() {
|
||||||
|
picLabel.setTextFill(Color.web("#ffffff"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setCleanLbl() {
|
||||||
|
cleanLabel.setTextFill(Color.web("#ffffff"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// set the progress
|
||||||
|
// public void setFolderProgress(double value) {
|
||||||
|
// folderProgressBar.setProgress(value);
|
||||||
|
// System.out.println("Folder Progress set to: "+ value);
|
||||||
|
// }
|
||||||
|
|
||||||
|
public void setPicProgress(double value) {
|
||||||
|
pictureProgressBar.setProgress(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCleanProgress(double value) {
|
||||||
|
pictureProgressBar.setProgress(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package GUI;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Simon on 13.06.2016.
|
||||||
|
*/
|
||||||
|
public class WarnCtl {
|
||||||
|
public void initialize() {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Manifest-Version: 1.0
|
||||||
|
Main-Class: Start
|
||||||
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
/**
|
||||||
|
* Created by Simon on 10.05.2016.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import GUI.SOMGUI;
|
||||||
|
import model.SOMConfig;
|
||||||
|
import model.SOMEvent;
|
||||||
|
|
||||||
|
public class Start extends SOMGUI {
|
||||||
|
public Start() throws Exception {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
// Log the start
|
||||||
|
System.out.println("Gestartet!");
|
||||||
|
|
||||||
|
// Start the UI
|
||||||
|
launch(args);
|
||||||
|
|
||||||
|
// Set up the backend
|
||||||
|
// get configuration
|
||||||
|
SOMConfig config = SOMConfig.getInstance();
|
||||||
|
config.readConfig();
|
||||||
|
|
||||||
|
// get event instance
|
||||||
|
SOMEvent event = SOMEvent.getInstance();
|
||||||
|
event.getEventImages();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||