From 0edd94edbe7180bc48aad8e4e645ecb371ce5bba Mon Sep 17 00:00:00 2001 From: Richard Pajersky <xpajersk@fi.muni.cz> Date: Tue, 11 May 2021 20:36:14 +0200 Subject: [PATCH] UI refactor and redesign, changed base colors --- .../gui/RegistrationCPEventListener.java | 32 +- .../analyst/gui/scene/DrawableMesh.java | 2 - .../analyst/gui/scene/SceneRenderer.java | 8 +- .../analyst/gui/tab/PostRegistrationCP.form | 214 +++++++------ .../analyst/gui/tab/PostRegistrationCP.java | 300 +++++++++++------- GUI/src/main/resources/arrow-left-s-line.png | Bin 0 -> 206 bytes GUI/src/main/resources/arrow-right-s-line.png | Bin 0 -> 210 bytes .../analyst/gui/tab/Bundle.properties | 10 +- 8 files changed, 341 insertions(+), 225 deletions(-) create mode 100644 GUI/src/main/resources/arrow-left-s-line.png create mode 100644 GUI/src/main/resources/arrow-right-s-line.png diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java index cc93bd0f..5c77c80a 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java +++ b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java @@ -13,7 +13,6 @@ import cz.fidentis.analyst.mesh.core.MeshFacet; import cz.fidentis.analyst.mesh.core.MeshPoint; import cz.fidentis.analyst.visitors.mesh.BoundingBox; import java.awt.Color; -import java.util.AbstractMap; import java.util.ArrayList; import javax.vecmath.Point3d; import javax.vecmath.Vector3d; @@ -25,15 +24,13 @@ import javax.vecmath.Vector3d; */ public class RegistrationCPEventListener { - public final double baseTranslation = 1; - public final double baseRotation = 1; - public final double baseScale = 1; - public final Color defaultPrimaryColor = new Color(51, 51, 153); - public final Color defaultSecondaryColor = new Color(255, 239, 0); + public final double baseQuotient = 1; + public final double precisionQuotient = 0.1; + public final Color defaultPrimaryColor = new Color(101, 119, 179); + public final Color defaultSecondaryColor = new Color(237, 217, 76); public final int transparencyRange = 10; + private final double changeQuotient = 500d; - private final double changeAmount = 500d; - private final Canvas canvas; private final double moveX; private final double moveY; @@ -42,7 +39,8 @@ public class RegistrationCPEventListener { private DrawableMesh primaryFace; private DrawableMesh secondaryFace; - private double featurePointsThreshold = 0.1; + private double moveModifier = precisionQuotient; + private double featurePointsThreshold = precisionQuotient; public RegistrationCPEventListener(Canvas canvas) { this.canvas = canvas; @@ -57,10 +55,10 @@ public class RegistrationCPEventListener { secondaryFace.getModel().compute(visitor); Point3d maxPoint = visitor.getBoundingBox().getMaxPoint(); Point3d minPoint = visitor.getBoundingBox().getMinPoint(); - moveX = (maxPoint.x - minPoint.x) / changeAmount; - moveY = (maxPoint.y - minPoint.y) / changeAmount; - moveZ = (maxPoint.z - minPoint.z) / changeAmount; - scaleXYZ = (visitor.getBoundingBox().getMaxDiag() / (10 * changeAmount)); + moveX = (maxPoint.x - minPoint.x) / changeQuotient; + moveY = (maxPoint.y - minPoint.y) / changeQuotient; + moveZ = (maxPoint.z - minPoint.z) / changeQuotient; + scaleXYZ = (visitor.getBoundingBox().getMaxDiag() / (10 * changeQuotient)); } /** @@ -362,6 +360,14 @@ public class RegistrationCPEventListener { canvas.renderScene(); } + public double getMoveModifier() { + return moveModifier; + } + + public void setMoveModifier(double moveModifier) { + this.moveModifier = moveModifier; + } + public Canvas getCanvas() { return canvas; } diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java index 395eb4d9..d24fffd1 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java +++ b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/DrawableMesh.java @@ -5,10 +5,8 @@ import cz.fidentis.analyst.feature.FeaturePoint; import cz.fidentis.analyst.mesh.core.MeshFacet; import cz.fidentis.analyst.mesh.core.MeshModel; import java.awt.Color; -import java.util.AbstractMap; import java.util.ArrayList; import java.util.List; -import javax.vecmath.Point3d; import javax.vecmath.Vector3d; /** diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java index daa69717..8ef41c2d 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java +++ b/GUI/src/main/java/cz/fidentis/analyst/gui/scene/SceneRenderer.java @@ -1,19 +1,15 @@ package cz.fidentis.analyst.gui.scene; import com.jogamp.opengl.GL; -import static com.jogamp.opengl.GL.GL_DEPTH_TEST; -import static com.jogamp.opengl.GL.GL_FRONT_AND_BACK; import com.jogamp.opengl.GL2; import com.jogamp.opengl.glu.GLU; import com.jogamp.opengl.glu.GLUquadric; import cz.fidentis.analyst.feature.FeaturePoint; import cz.fidentis.analyst.mesh.core.MeshFacet; import java.awt.Color; -import java.util.AbstractMap; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.List; import javax.vecmath.Point3d; import javax.vecmath.Point4f; import javax.vecmath.Vector3d; @@ -58,7 +54,7 @@ public class SceneRenderer { gl.glDepthFunc(GL2.GL_LESS); gl.glDepthRange(0.0, 1.0); - gl.glEnable(GL_DEPTH_TEST); + gl.glEnable(GL.GL_DEPTH_TEST); gl.glEnable(GL2.GL_NORMALIZE); gl.glDisable(GL2.GL_CULL_FACE); @@ -129,7 +125,7 @@ public class SceneRenderer { } for (DrawableMesh obj: drawables) { - gl.glPolygonMode( GL_FRONT_AND_BACK, obj.getRenderMode()); + gl.glPolygonMode(GL.GL_FRONT_AND_BACK, obj.getRenderMode()); setMaterial(obj); gl.glPushMatrix(); setTransformation(obj); diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.form b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.form index be6736fa..989be817 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.form +++ b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.form @@ -33,8 +33,6 @@ <DimensionLayout dim="0"> <Group type="103" groupAlignment="0" attributes="0"> <Component id="jSeparator11" alignment="0" max="32767" attributes="0"/> - <Component id="jSeparator3" alignment="0" max="32767" attributes="0"/> - <Component id="jSeparator5" alignment="0" max="32767" attributes="0"/> <Group type="102" alignment="0" attributes="0"> <EmptySpace max="-2" attributes="0"/> <Component id="registrationAdjustmentLabel" min="-2" max="-2" attributes="0"/> @@ -51,14 +49,10 @@ <EmptySpace max="-2" attributes="0"/> <Component id="jSeparator11" min="-2" pref="10" max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/> - <Component id="visualizationPanel" min="-2" pref="238" max="-2" attributes="0"/> - <EmptySpace max="-2" attributes="0"/> - <Component id="jSeparator3" min="-2" pref="10" max="-2" attributes="0"/> - <EmptySpace max="-2" attributes="0"/> - <Component id="transformationPanel" min="-2" pref="325" max="-2" attributes="0"/> - <EmptySpace max="-2" attributes="0"/> - <Component id="jSeparator5" min="-2" pref="10" max="-2" attributes="0"/> - <EmptySpace max="32767" attributes="0"/> + <Component id="visualizationPanel" min="-2" pref="247" max="-2" attributes="0"/> + <EmptySpace min="-2" pref="10" max="-2" attributes="0"/> + <Component id="transformationPanel" min="-2" pref="333" max="-2" attributes="0"/> + <EmptySpace pref="39" max="32767" attributes="0"/> </Group> </Group> </DimensionLayout> @@ -101,14 +95,14 @@ </Group> <EmptySpace max="32767" attributes="0"/> </Group> + <Component id="jSeparator3" alignment="0" max="32767" attributes="0"/> </Group> </DimensionLayout> <DimensionLayout dim="1"> <Group type="103" groupAlignment="0" attributes="0"> <Group type="102" alignment="1" attributes="0"> - <EmptySpace max="32767" attributes="0"/> <Component id="visualizationLabel" min="-2" max="-2" attributes="0"/> - <EmptySpace max="-2" attributes="0"/> + <EmptySpace max="32767" attributes="0"/> <Component id="jSeparator4" min="-2" pref="10" max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/> <Component id="modelPanel" min="-2" max="-2" attributes="0"/> @@ -120,7 +114,9 @@ <Component id="jSeparator1" min="-2" pref="10" max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/> <Component id="featurePointsPanel" min="-2" max="-2" attributes="0"/> - <EmptySpace min="-2" pref="35" max="-2" attributes="0"/> + <EmptySpace max="-2" attributes="0"/> + <Component id="jSeparator3" min="-2" pref="10" max="-2" attributes="0"/> + <EmptySpace min="-2" pref="19" max="-2" attributes="0"/> </Group> </Group> </DimensionLayout> @@ -152,62 +148,66 @@ <Layout> <DimensionLayout dim="0"> <Group type="103" groupAlignment="0" attributes="0"> - <Group type="102" attributes="0"> - <Component id="modelLabel" min="-2" max="-2" attributes="0"/> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Component id="colorButton" min="-2" pref="50" max="-2" attributes="0"/> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Component id="highlightsLabel" min="-2" max="-2" attributes="0"/> + <Group type="102" alignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0"> - <Group type="102" alignment="0" attributes="0"> - <EmptySpace min="-2" pref="49" max="-2" attributes="0"/> - <Component id="linesLabel" min="-2" max="-2" attributes="0"/> - <EmptySpace type="unrelated" max="-2" attributes="0"/> - <Component id="pointsLabel" min="-2" max="-2" attributes="0"/> - </Group> - <Group type="102" alignment="0" attributes="0"> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Component id="renderModeLabel" min="-2" max="-2" attributes="0"/> - <EmptySpace min="-2" pref="31" max="-2" attributes="0"/> - <Component id="transparencyButton" min="-2" pref="50" max="-2" attributes="0"/> - </Group> - </Group> - </Group> - <Group type="102" attributes="0"> - <Group type="103" groupAlignment="0" max="-2" attributes="0"> - <Component id="secondaryLabel" alignment="0" max="32767" attributes="0"/> <Component id="primaryLabel" alignment="0" min="-2" pref="58" max="-2" attributes="0"/> + <Component id="modelLabel" alignment="0" min="-2" max="-2" attributes="0"/> + <Component id="secondaryLabel" alignment="0" pref="66" max="32767" attributes="0"/> </Group> <EmptySpace type="separate" max="-2" attributes="0"/> <Group type="103" groupAlignment="0" attributes="0"> - <Component id="primaryColorPanel" min="-2" pref="50" max="-2" attributes="0"/> - <Component id="secondaryColorPanel" min="-2" pref="50" max="-2" attributes="0"/> - </Group> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Group type="103" groupAlignment="0" attributes="0"> - <Component id="primaryHighlightsCB" min="-2" max="-2" attributes="0"/> - <Component id="secondaryHighlightsCB" min="-2" max="-2" attributes="0"/> - </Group> - <EmptySpace min="-2" pref="28" max="-2" attributes="0"/> - <Group type="103" groupAlignment="0" attributes="0"> - <Group type="102" alignment="0" attributes="0"> - <Component id="secondaryFillRB" min="-2" max="-2" attributes="0"/> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Component id="secondaryLinesRB" min="-2" max="-2" attributes="0"/> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Component id="secondaryPointsRB" min="-2" max="-2" attributes="0"/> + <Group type="102" attributes="0"> + <Component id="colorButton" min="-2" pref="50" max="-2" attributes="0"/> + <EmptySpace max="-2" attributes="0"/> + <Component id="highlightsLabel" min="-2" max="-2" attributes="0"/> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace min="-2" pref="41" max="-2" attributes="0"/> + <Component id="linesLabel" min="-2" max="-2" attributes="0"/> + <EmptySpace type="unrelated" max="-2" attributes="0"/> + <Component id="pointsLabel" min="-2" max="-2" attributes="0"/> + </Group> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace type="separate" max="-2" attributes="0"/> + <Component id="renderModeLabel" min="-2" max="-2" attributes="0"/> + <EmptySpace pref="21" max="32767" attributes="0"/> + <Component id="transparencyButton" min="-2" pref="50" max="-2" attributes="0"/> + </Group> + </Group> </Group> - <Group type="102" alignment="0" attributes="0"> - <Component id="primaryFillRB" min="-2" max="-2" attributes="0"/> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Component id="primaryLinesRB" min="-2" max="-2" attributes="0"/> + <Group type="102" attributes="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="primaryColorPanel" min="-2" pref="50" max="-2" attributes="0"/> + <Component id="secondaryColorPanel" min="-2" pref="50" max="-2" attributes="0"/> + </Group> <EmptySpace type="separate" max="-2" attributes="0"/> - <Component id="primaryPointsRB" min="-2" max="-2" attributes="0"/> + <Group type="103" groupAlignment="0" attributes="0"> + <Component id="primaryHighlightsCB" min="-2" max="-2" attributes="0"/> + <Component id="secondaryHighlightsCB" min="-2" max="-2" attributes="0"/> + </Group> + <EmptySpace min="-2" pref="28" max="-2" attributes="0"/> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <Component id="secondaryFillRB" min="-2" max="-2" attributes="0"/> + <EmptySpace type="separate" max="-2" attributes="0"/> + <Component id="secondaryLinesRB" min="-2" max="-2" attributes="0"/> + <EmptySpace type="separate" max="-2" attributes="0"/> + <Component id="secondaryPointsRB" min="-2" max="-2" attributes="0"/> + </Group> + <Group type="102" alignment="0" attributes="0"> + <Component id="primaryFillRB" min="-2" max="-2" attributes="0"/> + <EmptySpace type="separate" max="-2" attributes="0"/> + <Component id="primaryLinesRB" min="-2" max="-2" attributes="0"/> + <EmptySpace type="separate" max="-2" attributes="0"/> + <Component id="primaryPointsRB" min="-2" max="-2" attributes="0"/> + </Group> + <Component id="fillLabel" alignment="0" min="-2" max="-2" attributes="0"/> + </Group> + <EmptySpace min="-2" pref="25" max="-2" attributes="0"/> + <Component id="transparencySlider" min="-2" max="-2" attributes="0"/> </Group> - <Component id="fillLabel" alignment="0" min="-2" max="-2" attributes="0"/> </Group> - <EmptySpace min="-2" pref="25" max="-2" attributes="0"/> - <Component id="transparencySlider" min="-2" max="-2" attributes="0"/> + <EmptySpace min="-2" max="-2" attributes="0"/> </Group> </Group> </DimensionLayout> @@ -215,15 +215,13 @@ <Group type="103" groupAlignment="0" attributes="0"> <Group type="102" alignment="0" attributes="0"> <Group type="103" groupAlignment="0" attributes="0"> - <Group type="103" groupAlignment="3" attributes="0"> - <Component id="modelLabel" alignment="3" min="-2" max="-2" attributes="0"/> - <Component id="colorButton" alignment="3" min="-2" max="-2" attributes="0"/> - </Group> + <Component id="modelLabel" min="-2" max="-2" attributes="0"/> <Group type="102" attributes="0"> <Group type="103" groupAlignment="3" attributes="0"> <Component id="highlightsLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="renderModeLabel" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="transparencyButton" alignment="3" min="-2" max="-2" attributes="0"/> + <Component id="colorButton" alignment="3" min="-2" max="-2" attributes="0"/> </Group> <EmptySpace min="-2" pref="4" max="-2" attributes="0"/> <Group type="103" groupAlignment="3" attributes="0"> @@ -789,6 +787,7 @@ <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> <Color id="Default Cursor"/> </Property> + <Property name="enabled" type="boolean" value="false"/> <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor"> <Insets value="[0, 0, 0, 0]"/> </Property> @@ -823,6 +822,7 @@ <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> <Color id="Default Cursor"/> </Property> + <Property name="enabled" type="boolean" value="false"/> <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor"> <Insets value="[0, 0, 0, 0]"/> </Property> @@ -853,14 +853,19 @@ <TitledBorder/> </Border> </Property> + <Property name="enabled" type="boolean" value="false"/> <Property name="opaque" type="boolean" value="false"/> </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="thersholdButtonActionPerformed"/> + </Events> </Component> <Component class="javax.swing.JFormattedTextField" name="thersholdFTF"> <Properties> <Property name="formatterFactory" type="javax.swing.JFormattedTextField$AbstractFormatterFactory" editor="org.netbeans.modules.form.editors.AbstractFormatterFactoryEditor"> <Format subtype="0" type="0"/> </Property> + <Property name="enabled" type="boolean" value="false"/> </Properties> <Events> <EventHandler event="propertyChange" listener="java.beans.PropertyChangeListener" parameters="java.beans.PropertyChangeEvent" handler="thersholdFTFPropertyChange"/> @@ -878,6 +883,8 @@ </Component> </SubComponents> </Container> + <Component class="javax.swing.JSeparator" name="jSeparator3"> + </Component> </SubComponents> </Container> <Container class="javax.swing.JPanel" name="transformationPanel"> @@ -926,14 +933,14 @@ </Group> <EmptySpace max="-2" attributes="0"/> </Group> + <Component id="jSeparator5" alignment="1" max="32767" attributes="0"/> </Group> </DimensionLayout> <DimensionLayout dim="1"> <Group type="103" groupAlignment="0" attributes="0"> <Group type="102" attributes="0"> - <EmptySpace max="-2" attributes="0"/> <Component id="transformationLabel" min="-2" max="-2" attributes="0"/> - <EmptySpace min="-2" pref="2" max="-2" attributes="0"/> + <EmptySpace min="-2" pref="13" max="-2" attributes="0"/> <Component id="jSeparator2" min="-2" pref="10" max="-2" attributes="0"/> <EmptySpace min="-2" pref="1" max="-2" attributes="0"/> <Component id="translationPanel" min="-2" max="-2" attributes="0"/> @@ -950,7 +957,7 @@ <Component id="applyButton" min="-2" pref="27" max="-2" attributes="0"/> <Component id="jSeparator10" min="-2" pref="62" max="-2" attributes="0"/> </Group> - <EmptySpace min="0" pref="0" max="32767" attributes="0"/> + <EmptySpace max="32767" attributes="0"/> </Group> <Group type="102" attributes="0"> <Group type="103" groupAlignment="0" attributes="0"> @@ -962,9 +969,10 @@ <Component id="precisionPanel" min="-2" max="-2" attributes="0"/> <Component id="resetAllButton" alignment="0" min="-2" max="-2" attributes="0"/> </Group> - <EmptySpace max="32767" attributes="0"/> + <EmptySpace pref="9" max="32767" attributes="0"/> </Group> </Group> + <Component id="jSeparator5" min="-2" pref="10" max="-2" attributes="0"/> </Group> </Group> </DimensionLayout> @@ -1127,7 +1135,7 @@ <Component class="javax.swing.JButton" name="rightTranslationXButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/subtract-line.png"/> + <Image iconType="3" name="/arrow-right-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightTranslationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1178,7 +1186,7 @@ <Component class="javax.swing.JButton" name="leftTranslationYButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/add-line.png"/> + <Image iconType="3" name="/arrow-left-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftTranslationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1217,7 +1225,7 @@ <Component class="javax.swing.JButton" name="rightTranslationYButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/subtract-line.png"/> + <Image iconType="3" name="/arrow-right-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightTranslationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1286,7 +1294,7 @@ <Component class="javax.swing.JButton" name="rightTranslationZButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/subtract-line.png"/> + <Image iconType="3" name="/arrow-right-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightTranslationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1315,7 +1323,7 @@ <Component class="javax.swing.JButton" name="leftTranslationXButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/add-line.png"/> + <Image iconType="3" name="/arrow-left-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftTranslationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1350,7 +1358,7 @@ <Component class="javax.swing.JButton" name="leftTranslationZButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/add-line.png"/> + <Image iconType="3" name="/arrow-left-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftTranslationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1486,7 +1494,7 @@ <Component class="javax.swing.JButton" name="leftRotationYButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/add-line.png"/> + <Image iconType="3" name="/arrow-left-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftRotationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1521,7 +1529,7 @@ <Component class="javax.swing.JButton" name="leftRotationXButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/add-line.png"/> + <Image iconType="3" name="/arrow-left-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftRotationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1628,7 +1636,7 @@ <Component class="javax.swing.JButton" name="rightRotationZButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/subtract-line.png"/> + <Image iconType="3" name="/arrow-right-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightRotationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1663,7 +1671,7 @@ <Component class="javax.swing.JButton" name="rightRotationYButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/subtract-line.png"/> + <Image iconType="3" name="/arrow-right-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightRotationYButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1698,7 +1706,7 @@ <Component class="javax.swing.JButton" name="leftRotationZButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/add-line.png"/> + <Image iconType="3" name="/arrow-left-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.leftRotationZButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1733,7 +1741,7 @@ <Component class="javax.swing.JButton" name="rightRotationXButton"> <Properties> <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor"> - <Image iconType="3" name="/subtract-line.png"/> + <Image iconType="3" name="/arrow-right-s-line.png"/> </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.rightRotationXButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -1976,6 +1984,9 @@ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.resetAllButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> </Property> + <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> + <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.resetAllButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + </Property> <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo"> <TitledBorder/> @@ -2006,8 +2017,8 @@ <Group type="102" attributes="0"> <Group type="103" groupAlignment="0" attributes="0"> <Component id="jLabel5" alignment="0" min="-2" max="-2" attributes="0"/> - <Component id="jRadioButton1" alignment="0" min="-2" max="-2" attributes="0"/> - <Component id="jRadioButton2" min="-2" max="-2" attributes="0"/> + <Component id="highPrecisionRB" alignment="0" min="-2" max="-2" attributes="0"/> + <Component id="lowPrecisionRB" min="-2" max="-2" attributes="0"/> </Group> <EmptySpace min="0" pref="8" max="32767" attributes="0"/> </Group> @@ -2018,9 +2029,9 @@ <Group type="102" alignment="0" attributes="0"> <Component id="jLabel5" min="-2" max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/> - <Component id="jRadioButton1" min="-2" max="-2" attributes="0"/> + <Component id="highPrecisionRB" min="-2" max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/> - <Component id="jRadioButton2" min="-2" max="-2" attributes="0"/> + <Component id="lowPrecisionRB" min="-2" max="-2" attributes="0"/> <EmptySpace max="32767" attributes="0"/> </Group> </Group> @@ -2037,21 +2048,39 @@ </Property> </Properties> </Component> - <Component class="javax.swing.JRadioButton" name="jRadioButton1"> + <Component class="javax.swing.JRadioButton" name="highPrecisionRB"> <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="precisionGroup"/> + </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> - <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.jRadioButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.highPrecisionRB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + </Property> + <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> + <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.highPrecisionRB.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> </Property> <Property name="opaque" type="boolean" value="false"/> </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="highPrecisionRBActionPerformed"/> + </Events> </Component> - <Component class="javax.swing.JRadioButton" name="jRadioButton2"> + <Component class="javax.swing.JRadioButton" name="lowPrecisionRB"> <Properties> + <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor"> + <ComponentRef name="precisionGroup"/> + </Property> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> - <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.jRadioButton2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.lowPrecisionRB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + </Property> + <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> + <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.lowPrecisionRB.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> </Property> <Property name="opaque" type="boolean" value="false"/> </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="lowPrecisionRBActionPerformed"/> + </Events> </Component> </SubComponents> </Container> @@ -2065,6 +2094,9 @@ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.applyButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> </Property> + <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> + <ResourceString bundle="cz/fidentis/analyst/gui/tab/Bundle.properties" key="PostRegistrationCP.applyButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + </Property> <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo"> <TitledBorder/> @@ -2082,11 +2114,9 @@ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="applyButtonActionPerformed"/> </Events> </Component> + <Component class="javax.swing.JSeparator" name="jSeparator5"> + </Component> </SubComponents> </Container> - <Component class="javax.swing.JSeparator" name="jSeparator3"> - </Component> - <Component class="javax.swing.JSeparator" name="jSeparator5"> - </Component> </SubComponents> </Form> diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.java b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.java index cb9bf0a3..0a29e6dc 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.java +++ b/GUI/src/main/java/cz/fidentis/analyst/gui/tab/PostRegistrationCP.java @@ -36,6 +36,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { secondaryColorPanel.setBackground(listener.defaultSecondaryColor); primaryFillRB.setSelected(true); secondaryFillRB.setSelected(true); + highPrecisionRB.setSelected(true); thersholdFTF.setValue(listener.getFeaturePointsThreshold()); resetAllButtonActionPerformed(null); } @@ -44,59 +45,59 @@ public class PostRegistrationCP extends javax.swing.JPanel { double newValue; switch (dir) { case TRANSLATE_LEFT: - newValue = ((Number)translationXFTF.getValue()).doubleValue() + listener.baseTranslation; + newValue = ((Number)translationXFTF.getValue()).doubleValue() - listener.getMoveModifier(); translationXFTF.setValue(newValue); break; case TRANSLATE_RIGHT: - newValue = ((Number)translationXFTF.getValue()).doubleValue() - listener.baseTranslation; + newValue = ((Number)translationXFTF.getValue()).doubleValue() + listener.getMoveModifier(); translationXFTF.setValue(newValue); break; case TRANSLATE_UP: - newValue = ((Number)translationYFTF.getValue()).doubleValue() + listener.baseTranslation; + newValue = ((Number)translationYFTF.getValue()).doubleValue() - listener.getMoveModifier(); translationYFTF.setValue(newValue); break; case TRANSLATE_DOWN: - newValue = ((Number)translationYFTF.getValue()).doubleValue() - listener.baseTranslation; + newValue = ((Number)translationYFTF.getValue()).doubleValue() + listener.getMoveModifier(); translationYFTF.setValue(newValue); break; case TRANSLATE_IN: - newValue = ((Number)translationZFTF.getValue()).doubleValue() + listener.baseTranslation; + newValue = ((Number)translationZFTF.getValue()).doubleValue() - listener.getMoveModifier(); translationZFTF.setValue(newValue); break; case TRANSLATE_OUT: - newValue = ((Number)translationZFTF.getValue()).doubleValue() - listener.baseTranslation; + newValue = ((Number)translationZFTF.getValue()).doubleValue() + listener.getMoveModifier(); translationZFTF.setValue(newValue); break; case ROTATE_LEFT: - newValue = ((Number)rotationXFTF.getValue()).doubleValue() + listener.baseRotation; + newValue = ((Number)rotationXFTF.getValue()).doubleValue() - listener.getMoveModifier(); rotationXFTF.setValue(newValue); break; case ROTATE_RIGHT: - newValue = ((Number)rotationXFTF.getValue()).doubleValue() - listener.baseRotation; + newValue = ((Number)rotationXFTF.getValue()).doubleValue() + listener.getMoveModifier(); rotationXFTF.setValue(newValue); break; case ROTATE_UP: - newValue = ((Number)rotationYFTF.getValue()).doubleValue() + listener.baseRotation; + newValue = ((Number)rotationYFTF.getValue()).doubleValue() - listener.getMoveModifier(); rotationYFTF.setValue(newValue); break; case ROTATE_DOWN: - newValue = ((Number)rotationYFTF.getValue()).doubleValue() - listener.baseRotation; + newValue = ((Number)rotationYFTF.getValue()).doubleValue() + listener.getMoveModifier(); rotationYFTF.setValue(newValue); break; case ROTATE_IN: - newValue = ((Number)rotationZFTF.getValue()).doubleValue() + listener.baseRotation; + newValue = ((Number)rotationZFTF.getValue()).doubleValue() - listener.getMoveModifier(); rotationZFTF.setValue(newValue); break; case ROTATE_OUT: - newValue = ((Number)rotationZFTF.getValue()).doubleValue() - listener.baseRotation; + newValue = ((Number)rotationZFTF.getValue()).doubleValue() + listener.getMoveModifier(); rotationZFTF.setValue(newValue); break; case ZOOM_OUT: - newValue = ((Number)scaleFTF.getValue()).doubleValue() - listener.baseScale; + newValue = ((Number)scaleFTF.getValue()).doubleValue() - listener.getMoveModifier(); scaleFTF.setValue(newValue); break; case ZOOM_IN: - newValue = ((Number)scaleFTF.getValue()).doubleValue() + listener.baseScale; + newValue = ((Number)scaleFTF.getValue()).doubleValue() + listener.getMoveModifier(); scaleFTF.setValue(newValue); break; default: @@ -156,6 +157,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { thersholdButton = new javax.swing.JButton(); thersholdFTF = new javax.swing.JFormattedTextField(); featurePointsLabel = new javax.swing.JLabel(); + jSeparator3 = new javax.swing.JSeparator(); transformationPanel = new javax.swing.JPanel(); transformationLabel = new javax.swing.JLabel(); jSeparator2 = new javax.swing.JSeparator(); @@ -201,11 +203,10 @@ public class PostRegistrationCP extends javax.swing.JPanel { jSeparator9 = new javax.swing.JSeparator(); precisionPanel = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); - jRadioButton1 = new javax.swing.JRadioButton(); - jRadioButton2 = new javax.swing.JRadioButton(); + highPrecisionRB = new javax.swing.JRadioButton(); + lowPrecisionRB = new javax.swing.JRadioButton(); jSeparator10 = new javax.swing.JSeparator(); applyButton = new javax.swing.JButton(); - jSeparator3 = new javax.swing.JSeparator(); jSeparator5 = new javax.swing.JSeparator(); setBackground(new java.awt.Color(176, 230, 226)); @@ -409,64 +410,65 @@ public class PostRegistrationCP extends javax.swing.JPanel { modelPanelLayout.setHorizontalGroup( modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(modelPanelLayout.createSequentialGroup() - .addComponent(modelLabel) - .addGap(18, 18, 18) - .addComponent(colorButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(highlightsLabel) - .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(modelPanelLayout.createSequentialGroup() - .addGap(49, 49, 49) - .addComponent(linesLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(pointsLabel)) - .addGroup(modelPanelLayout.createSequentialGroup() - .addGap(18, 18, 18) - .addComponent(renderModeLabel) - .addGap(31, 31, 31) - .addComponent(transparencyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)))) - .addGroup(modelPanelLayout.createSequentialGroup() - .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(secondaryLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(primaryLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(18, 18, 18) .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(primaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(secondaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(primaryLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(modelLabel) + .addComponent(secondaryLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 66, Short.MAX_VALUE)) .addGap(18, 18, 18) - .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(primaryHighlightsCB) - .addComponent(secondaryHighlightsCB)) - .addGap(28, 28, 28) .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(modelPanelLayout.createSequentialGroup() - .addComponent(secondaryFillRB) - .addGap(18, 18, 18) - .addComponent(secondaryLinesRB) - .addGap(18, 18, 18) - .addComponent(secondaryPointsRB)) + .addComponent(colorButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(highlightsLabel) + .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(modelPanelLayout.createSequentialGroup() + .addGap(41, 41, 41) + .addComponent(linesLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(pointsLabel)) + .addGroup(modelPanelLayout.createSequentialGroup() + .addGap(18, 18, 18) + .addComponent(renderModeLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21, Short.MAX_VALUE) + .addComponent(transparencyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addGroup(modelPanelLayout.createSequentialGroup() - .addComponent(primaryFillRB) - .addGap(18, 18, 18) - .addComponent(primaryLinesRB) + .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(primaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(secondaryColorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) - .addComponent(primaryPointsRB)) - .addComponent(fillLabel)) - .addGap(25, 25, 25) - .addComponent(transparencySlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(primaryHighlightsCB) + .addComponent(secondaryHighlightsCB)) + .addGap(28, 28, 28) + .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(modelPanelLayout.createSequentialGroup() + .addComponent(secondaryFillRB) + .addGap(18, 18, 18) + .addComponent(secondaryLinesRB) + .addGap(18, 18, 18) + .addComponent(secondaryPointsRB)) + .addGroup(modelPanelLayout.createSequentialGroup() + .addComponent(primaryFillRB) + .addGap(18, 18, 18) + .addComponent(primaryLinesRB) + .addGap(18, 18, 18) + .addComponent(primaryPointsRB)) + .addComponent(fillLabel)) + .addGap(25, 25, 25) + .addComponent(transparencySlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) ); modelPanelLayout.setVerticalGroup( modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(modelPanelLayout.createSequentialGroup() .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(modelLabel) - .addComponent(colorButton)) + .addComponent(modelLabel) .addGroup(modelPanelLayout.createSequentialGroup() .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(highlightsLabel) .addComponent(renderModeLabel) - .addComponent(transparencyButton)) + .addComponent(transparencyButton) + .addComponent(colorButton)) .addGap(4, 4, 4) .addGroup(modelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(fillLabel) @@ -566,6 +568,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { org.openide.awt.Mnemonics.setLocalizedText(thresholdDownButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.thresholdDownButton.text")); // NOI18N thresholdDownButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); thresholdDownButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); + thresholdDownButton.setEnabled(false); thresholdDownButton.setMargin(new java.awt.Insets(0, 0, 0, 0)); thresholdDownButton.setMaximumSize(new java.awt.Dimension(24, 24)); thresholdDownButton.setMinimumSize(new java.awt.Dimension(24, 24)); @@ -581,6 +584,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { org.openide.awt.Mnemonics.setLocalizedText(thersholdUpButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.thersholdUpButton.text")); // NOI18N thersholdUpButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); thersholdUpButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); + thersholdUpButton.setEnabled(false); thersholdUpButton.setMargin(new java.awt.Insets(0, 0, 0, 0)); thersholdUpButton.setMaximumSize(new java.awt.Dimension(24, 24)); thersholdUpButton.setMinimumSize(new java.awt.Dimension(24, 24)); @@ -594,9 +598,16 @@ public class PostRegistrationCP extends javax.swing.JPanel { thersholdButton.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(thersholdButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.thersholdButton.text")); // NOI18N thersholdButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); + thersholdButton.setEnabled(false); thersholdButton.setOpaque(false); + thersholdButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + thersholdButtonActionPerformed(evt); + } + }); thersholdFTF.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter())); + thersholdFTF.setEnabled(false); thersholdFTF.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { thersholdFTFPropertyChange(evt); @@ -650,13 +661,13 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addComponent(viewPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(featurePointsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(jSeparator3) ); visualizationPanelLayout.setVerticalGroup( visualizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, visualizationPanelLayout.createSequentialGroup() - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(visualizationLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(modelPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) @@ -668,7 +679,9 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(featurePointsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(35, 35, 35)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(19, 19, 19)) ); transformationPanel.setBackground(new java.awt.Color(176, 230, 226)); @@ -695,7 +708,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { jLabel2.setFont(new java.awt.Font("Tahoma", 3, 11)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jLabel2.text")); // NOI18N - rightTranslationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/subtract-line.png"))); // NOI18N + rightTranslationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-right-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(rightTranslationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightTranslationXButton.text")); // NOI18N rightTranslationXButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); rightTranslationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -722,7 +735,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - leftTranslationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/add-line.png"))); // NOI18N + leftTranslationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-left-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(leftTranslationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftTranslationYButton.text")); // NOI18N leftTranslationYButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); leftTranslationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -745,7 +758,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - rightTranslationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/subtract-line.png"))); // NOI18N + rightTranslationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-right-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(rightTranslationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightTranslationYButton.text")); // NOI18N rightTranslationYButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); rightTranslationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -777,7 +790,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { translYLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(translYLabel, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translYLabel.text")); // NOI18N - rightTranslationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/subtract-line.png"))); // NOI18N + rightTranslationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-right-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(rightTranslationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightTranslationZButton.text")); // NOI18N rightTranslationZButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); rightTranslationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -793,7 +806,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - leftTranslationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/add-line.png"))); // NOI18N + leftTranslationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-left-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(leftTranslationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftTranslationXButton.text")); // NOI18N leftTranslationXButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); leftTranslationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -811,7 +824,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - leftTranslationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/add-line.png"))); // NOI18N + leftTranslationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-left-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(leftTranslationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftTranslationZButton.text")); // NOI18N leftTranslationZButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); leftTranslationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -900,7 +913,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { rotationPanel.setBackground(new java.awt.Color(176, 230, 226)); - leftRotationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/add-line.png"))); // NOI18N + leftRotationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-left-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(leftRotationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftRotationYButton.text")); // NOI18N leftRotationYButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); leftRotationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -918,7 +931,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - leftRotationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/add-line.png"))); // NOI18N + leftRotationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-left-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(leftRotationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftRotationXButton.text")); // NOI18N leftRotationXButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); leftRotationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -970,7 +983,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - rightRotationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/subtract-line.png"))); // NOI18N + rightRotationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-right-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(rightRotationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightRotationZButton.text")); // NOI18N rightRotationZButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); rightRotationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -988,7 +1001,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - rightRotationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/subtract-line.png"))); // NOI18N + rightRotationYButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-right-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(rightRotationYButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightRotationYButton.text")); // NOI18N rightRotationYButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); rightRotationYButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -1006,7 +1019,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - leftRotationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/add-line.png"))); // NOI18N + leftRotationZButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-left-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(leftRotationZButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.leftRotationZButton.text")); // NOI18N leftRotationZButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); leftRotationZButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -1024,7 +1037,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { } }); - rightRotationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/subtract-line.png"))); // NOI18N + rightRotationXButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/arrow-right-s-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(rightRotationXButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.rightRotationXButton.text")); // NOI18N rightRotationXButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); rightRotationXButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); @@ -1227,6 +1240,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { resetAllButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/refresh-line.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(resetAllButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.resetAllButton.text")); // NOI18N + resetAllButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.resetAllButton.toolTipText")); // NOI18N resetAllButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); resetAllButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -1241,11 +1255,25 @@ public class PostRegistrationCP extends javax.swing.JPanel { jLabel5.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(jLabel5, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jLabel5.text")); // NOI18N - org.openide.awt.Mnemonics.setLocalizedText(jRadioButton1, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jRadioButton1.text")); // NOI18N - jRadioButton1.setOpaque(false); + precisionGroup.add(highPrecisionRB); + org.openide.awt.Mnemonics.setLocalizedText(highPrecisionRB, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.highPrecisionRB.text")); // NOI18N + highPrecisionRB.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.highPrecisionRB.toolTipText")); // NOI18N + highPrecisionRB.setOpaque(false); + highPrecisionRB.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + highPrecisionRBActionPerformed(evt); + } + }); - org.openide.awt.Mnemonics.setLocalizedText(jRadioButton2, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.jRadioButton2.text")); // NOI18N - jRadioButton2.setOpaque(false); + precisionGroup.add(lowPrecisionRB); + org.openide.awt.Mnemonics.setLocalizedText(lowPrecisionRB, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.lowPrecisionRB.text")); // NOI18N + lowPrecisionRB.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.lowPrecisionRB.toolTipText")); // NOI18N + lowPrecisionRB.setOpaque(false); + lowPrecisionRB.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + lowPrecisionRBActionPerformed(evt); + } + }); javax.swing.GroupLayout precisionPanelLayout = new javax.swing.GroupLayout(precisionPanel); precisionPanel.setLayout(precisionPanelLayout); @@ -1254,8 +1282,8 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addGroup(precisionPanelLayout.createSequentialGroup() .addGroup(precisionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5) - .addComponent(jRadioButton1) - .addComponent(jRadioButton2)) + .addComponent(highPrecisionRB) + .addComponent(lowPrecisionRB)) .addGap(0, 8, Short.MAX_VALUE)) ); precisionPanelLayout.setVerticalGroup( @@ -1263,15 +1291,16 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addGroup(precisionPanelLayout.createSequentialGroup() .addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jRadioButton1) + .addComponent(highPrecisionRB) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jRadioButton2) + .addComponent(lowPrecisionRB) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jSeparator10.setOrientation(javax.swing.SwingConstants.VERTICAL); org.openide.awt.Mnemonics.setLocalizedText(applyButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.applyButton.text")); // NOI18N + applyButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.applyButton.toolTipText")); // NOI18N applyButton.setBorder(javax.swing.BorderFactory.createTitledBorder("")); applyButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); applyButton.setMargin(new java.awt.Insets(0, 0, 0, 0)); @@ -1312,13 +1341,13 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addComponent(applyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addGap(0, 9, Short.MAX_VALUE))) .addContainerGap()) + .addComponent(jSeparator5, javax.swing.GroupLayout.Alignment.TRAILING) ); transformationPanelLayout.setVerticalGroup( transformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(transformationPanelLayout.createSequentialGroup() - .addContainerGap() .addComponent(transformationLabel) - .addGap(2, 2, 2) + .addGap(13, 13, 13) .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(1, 1, 1) .addComponent(translationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) @@ -1334,7 +1363,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addGroup(transformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(applyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jSeparator10, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(transformationPanelLayout.createSequentialGroup() .addGroup(transformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(transformationPanelLayout.createSequentialGroup() @@ -1343,7 +1372,8 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addComponent(jSeparator9, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(precisionPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(resetAllButton)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 9, Short.MAX_VALUE))) + .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); @@ -1351,8 +1381,6 @@ public class PostRegistrationCP extends javax.swing.JPanel { layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jSeparator11) - .addComponent(jSeparator3) - .addComponent(jSeparator5) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(registrationAdjustmentLabel)) @@ -1367,39 +1395,75 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jSeparator11, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(visualizationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 238, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(transformationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 325, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(visualizationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 247, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(10, 10, 10) + .addComponent(transformationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 333, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(39, Short.MAX_VALUE)) ); }// </editor-fold>//GEN-END:initComponents private void primaryColorPanelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_primaryColorPanelMouseClicked + if (transparencySlider.getValue() == 0) { + return; + } Color current = primaryColorPanel.getBackground(); Color newColor = JColorChooser.showDialog(null, "Choose a color", current); - primaryColorPanel.setBackground(newColor); - listener.setPrimaryColor(newColor); + if (newColor != null) { + primaryColorPanel.setBackground(newColor); + listener.setPrimaryColor(newColor); + } }//GEN-LAST:event_primaryColorPanelMouseClicked private void secondaryColorPanelMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_secondaryColorPanelMouseClicked + if (transparencySlider.getValue() == 2*listener.transparencyRange) { + return; + } Color current = secondaryColorPanel.getBackground(); Color newColor = JColorChooser.showDialog(null, "Choose a color", current); - secondaryColorPanel.setBackground(newColor); - listener.setSecondaryColor(newColor); + if (newColor != null) { + secondaryColorPanel.setBackground(newColor); + listener.setSecondaryColor(newColor); + } }//GEN-LAST:event_secondaryColorPanelMouseClicked private void transparencyButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_transparencyButtonActionPerformed - listener.setTransparency(10); transparencySlider.setValue(10); transparencySlider.repaint(); + listener.setTransparency(10); }//GEN-LAST:event_transparencyButtonActionPerformed private void transparencySliderStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_transparencySliderStateChanged - listener.setTransparency(transparencySlider.getValue()); + int transparency = transparencySlider.getValue(); + if (transparency == 0) { + primaryColorPanel.setBackground(Color.lightGray); + primaryHighlightsCB.setEnabled(false); + primaryHighlightsCB.setEnabled(false); + primaryFillRB.setEnabled(false); + primaryLinesRB.setEnabled(false); + primaryPointsRB.setEnabled(false); + } else if (transparency == 2*listener.transparencyRange) { + secondaryColorPanel.setBackground(Color.lightGray); + secondaryHighlightsCB.setEnabled(false); + secondaryHighlightsCB.setEnabled(false); + secondaryFillRB.setEnabled(false); + secondaryLinesRB.setEnabled(false); + secondaryPointsRB.setEnabled(false); + } else if (!primaryFillRB.isEnabled()) { + primaryColorPanel.setBackground(listener.getPrimaryColor()); + primaryHighlightsCB.setEnabled(true); + primaryHighlightsCB.setEnabled(true); + primaryFillRB.setEnabled(true); + primaryLinesRB.setEnabled(true); + primaryPointsRB.setEnabled(true); + } else if (!secondaryFillRB.isEnabled()) { + secondaryColorPanel.setBackground(listener.getSecondaryColor()); + secondaryHighlightsCB.setEnabled(true); + secondaryHighlightsCB.setEnabled(true); + secondaryFillRB.setEnabled(true); + secondaryLinesRB.setEnabled(true); + secondaryPointsRB.setEnabled(true); + } + listener.setTransparency(transparency); }//GEN-LAST:event_transparencySliderStateChanged private void frontButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_frontButtonActionPerformed @@ -1430,8 +1494,6 @@ public class PostRegistrationCP extends javax.swing.JPanel { }//GEN-LAST:event_scaleButtonActionPerformed private void resetAllButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetAllButtonActionPerformed - colorButtonActionPerformed(evt); - transparencyButtonActionPerformed(evt); translationButtonActionPerformed(evt); rotationButtonActionPerformed(evt); scaleButtonActionPerformed(evt); @@ -1523,11 +1585,19 @@ public class PostRegistrationCP extends javax.swing.JPanel { private void featurePointsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_featurePointsButtonActionPerformed if (listener.isFeaturePointsActive()) { - listener.setFeaturePointsActive(false); featurePointsButton.setText("show"); + thersholdButton.setEnabled(false); + thersholdFTF.setEnabled(false); + thersholdUpButton.setEnabled(false); + thresholdDownButton.setEnabled(false); + listener.setFeaturePointsActive(false); } else { - listener.setFeaturePointsActive(true); featurePointsButton.setText("hide"); + thersholdButton.setEnabled(true); + thersholdFTF.setEnabled(true); + thersholdUpButton.setEnabled(true); + thresholdDownButton.setEnabled(true); + listener.setFeaturePointsActive(true); } }//GEN-LAST:event_featurePointsButtonActionPerformed @@ -1657,6 +1727,18 @@ public class PostRegistrationCP extends javax.swing.JPanel { thersholdFTF.setValue(newValue); }//GEN-LAST:event_thersholdUpButtonActionPerformed + private void thersholdButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_thersholdButtonActionPerformed + thersholdFTF.setValue(listener.getFeaturePointsThreshold()); + }//GEN-LAST:event_thersholdButtonActionPerformed + + private void highPrecisionRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_highPrecisionRBActionPerformed + listener.setMoveModifier(listener.precisionQuotient); + }//GEN-LAST:event_highPrecisionRBActionPerformed + + private void lowPrecisionRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lowPrecisionRBActionPerformed + listener.setMoveModifier(listener.baseQuotient); + }//GEN-LAST:event_lowPrecisionRBActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton applyButton; @@ -1666,13 +1748,12 @@ public class PostRegistrationCP extends javax.swing.JPanel { private javax.swing.JPanel featurePointsPanel; private javax.swing.JLabel fillLabel; private javax.swing.JButton frontButton; + private javax.swing.JRadioButton highPrecisionRB; private javax.swing.JLabel highlightsLabel; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; - private javax.swing.JRadioButton jRadioButton1; - private javax.swing.JRadioButton jRadioButton2; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator10; private javax.swing.JSeparator jSeparator11; @@ -1691,6 +1772,7 @@ public class PostRegistrationCP extends javax.swing.JPanel { private javax.swing.JButton leftTranslationYButton; private javax.swing.JButton leftTranslationZButton; private javax.swing.JLabel linesLabel; + private javax.swing.JRadioButton lowPrecisionRB; private javax.swing.JLabel modelLabel; private javax.swing.JPanel modelPanel; private javax.swing.JLabel pointsLabel; diff --git a/GUI/src/main/resources/arrow-left-s-line.png b/GUI/src/main/resources/arrow-left-s-line.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1b29e5762b88b84515113ea8fb0d1e61ecc0ea GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjQ$1ZALp;3SUUB4YFyLu@SkE`1 zK_sAo<$xfcgOJdK29`}Ng$j*Z``@_bpPu$z_w6Q!hg_|ne>Uc{@87b5ZQGm$Oxzb3 zbvNu&<Ptdi+qi_~(XWkr8nkUz$sLe=$GD_GTcJI=k#WXa=e_>7t(YY@GJQ-Edc>%5 zgnNe|tH%iz6V-iPUjnoe^uOMGTC~1)tE+v&JBM!%7{#TeB;QG=3jiI+;OXk;vd$@? F2>`W3O%DJ7 literal 0 HcmV?d00001 diff --git a/GUI/src/main/resources/arrow-right-s-line.png b/GUI/src/main/resources/arrow-right-s-line.png new file mode 100644 index 0000000000000000000000000000000000000000..44e603c907aa6ea11ea5f54747c25ed011d2f6e3 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjGd*1#Lp;3SUOC9yY#`ur(Vtzj zQ7B00rGl&@=Sv1JPfkt7wIYgqZq}PSr0s5hej<BXR($=tM>Tm0b2nHmlKZhNvzM3a z154Ti<~=bkjBE*i*!}euF-(kg3t7-(;lNqQC~e7oWOdgg{^{IrPWv5pE@iO3!|3%; zD}XP&@rRb!gSn!&vZCHTVEl8Z-ea$$YPt2|dkcE*I9Tlx?PrpbjG6R08|X*|Pgg&e IbxsLQ08;TvjQ{`u literal 0 HcmV?d00001 diff --git a/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties b/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties index e6d8ce52..abd35b6c 100644 --- a/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties +++ b/GUI/src/main/resources/cz/fidentis/analyst/gui/tab/Bundle.properties @@ -77,8 +77,12 @@ PostRegistrationCP.jFormattedTextField1.text=jFormattedTextField1 PostRegistrationCP.thresholdDownButton.text= PostRegistrationCP.thersholdUpButton.text= PostRegistrationCP.jLabel5.text=precision -PostRegistrationCP.jRadioButton1.text=high -PostRegistrationCP.jRadioButton2.text=low PostRegistrationCP.thersholdButton.text=thershold -PostRegistrationCP.visualizationLabel.text=Vsualization +PostRegistrationCP.visualizationLabel.text=Visualization PostRegistrationCP.registrationAdjustmentLabel.text=Registration adjustment +PostRegistrationCP.highPrecisionRB.text=high +PostRegistrationCP.lowPrecisionRB.text=low +PostRegistrationCP.resetAllButton.toolTipText=reset all transformations +PostRegistrationCP.applyButton.toolTipText=apply transformations +PostRegistrationCP.highPrecisionRB.toolTipText=set high precision +PostRegistrationCP.lowPrecisionRB.toolTipText=set low precision -- GitLab