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 d56bf446e34a4c5723c6d475953f5c52fc51b2b8..c23d6018342da698f45d9b88e71e55b8f2511b3c 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java +++ b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationCPEventListener.java @@ -5,6 +5,7 @@ */ package cz.fidentis.analyst.gui; +import cz.fidentis.analyst.gui.canvas.Canvas; import cz.fidentis.analyst.gui.scene.DrawableMesh; import cz.fidentis.analyst.gui.scene.Scene; import java.awt.Color; @@ -15,28 +16,37 @@ import java.util.ArrayList; * @author Richard Pajersky */ public class RegistrationCPEventListener { - private final Scene scene; + //private final Scene scene; + private final Canvas canvas; + + private final Color defaultPrimaryColor = new Color(51, 51, 153); + private final Color defaultSecondaryColor = new Color(255, 239, 0); private DrawableMesh primaryFace; private DrawableMesh secondaryFace; - public RegistrationCPEventListener(Scene scene) { - this.scene = scene; + public RegistrationCPEventListener(Canvas canvas) { + this.canvas = canvas; - ArrayList<DrawableMesh> drawables = new ArrayList<>(scene.getDrawables()); + ArrayList<DrawableMesh> drawables = new ArrayList<>(canvas.getScene().getDrawables()); primaryFace = drawables.get(0); secondaryFace = drawables.get(1); - - primaryFace.setColor(Color.yellow); - secondaryFace.setColor(Color.blue); + setDeafultColor(); + } + + public final void setDeafultColor() { + primaryFace.setColor(defaultPrimaryColor); + secondaryFace.setColor(defaultSecondaryColor); } public void setPrimaryColor(Color color) { primaryFace.setColor(color); + canvas.renderScene(); } public void setSecondaryColor(Color color) { secondaryFace.setColor(color); + canvas.renderScene(); } public Color getPrimaryColor() { @@ -48,14 +58,19 @@ public class RegistrationCPEventListener { } public void setTransparency(int value) { - if (value <= 100) { - setPrimaryTransparency(value / 100f); + if (value == 10) { + setPrimaryTransparency(1f); + setSecondaryTransparency(1f); + } + if (value < 10) { + setPrimaryTransparency(value / 10f); setSecondaryTransparency(1f); } - if (value >= 100) { - setSecondaryTransparency((100 - (value - 100)) / 100f); + if (value > 10) { + setSecondaryTransparency((10 - (value - 10)) / 10f); setPrimaryTransparency(1f); } + canvas.renderScene(); } public void setPrimaryTransparency(float transparency) { @@ -73,4 +88,23 @@ public class RegistrationCPEventListener { public float getSecondaryTransparency() { return secondaryFace.getTransparency(); } + + public void setFrontFacing() { + canvas.getCamera().initLocation(); + canvas.renderScene(); + } + + public void setSideFacing() { + canvas.getCamera().initLocation(); + canvas.getCamera().rotate(0, 90); + canvas.renderScene(); + } + + public Color getDefaultPrimaryColor() { + return defaultPrimaryColor; + } + + public Color getDefaultSecondaryColor() { + return defaultSecondaryColor; + } } diff --git a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.java b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.java index fae8bf314206cacabcf25208d970042222296f0c..7c67c689200d95a55aea2dfc3fbd0d87f511a976 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.java +++ b/GUI/src/main/java/cz/fidentis/analyst/gui/RegistrationTestTopComponent.java @@ -72,7 +72,7 @@ public final class RegistrationTestTopComponent extends TopComponent { } catch (Exception ex) {} canvas1.initScene(primary, secondary); - postRegistrationCP1.initPostRegistrationCP(new RegistrationCPEventListener(canvas1.getScene())); + postRegistrationCP1.initPostRegistrationCP(new RegistrationCPEventListener(canvas1)); } /** 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 1f99a297e58009912fdf3e3dfb7e10311173d2a4..954b7ab4e3914482e9a9fb95d92c0aae48d78085 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 @@ -376,11 +376,11 @@ </Container> <Component class="javax.swing.JSlider" name="transparencySlider"> <Properties> - <Property name="maximum" type="int" value="200"/> + <Property name="maximum" type="int" value="20"/> <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.transparencySlider.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> </Property> - <Property name="value" type="int" value="100"/> + <Property name="value" type="int" value="10"/> <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor"> <Color id="Hand Cursor"/> </Property> @@ -480,6 +480,9 @@ </Property> <Property name="opaque" type="boolean" value="false"/> </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="frontButtonActionPerformed"/> + </Events> </Component> <Component class="javax.swing.JButton" name="profileButton"> <Properties> @@ -494,6 +497,9 @@ </Property> <Property name="opaque" type="boolean" value="false"/> </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="profileButtonActionPerformed"/> + </Events> </Component> <Component class="javax.swing.JButton" name="translationButton"> <Properties> 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 5ee39d27ce8e6f32eaab3babc5edb92348ff0c40..172509e7840eced8b5f1869b6ffeaaec64f4e51d 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 @@ -16,8 +16,6 @@ import javax.swing.JColorChooser; public class PostRegistrationCP extends javax.swing.JPanel { private RegistrationCPEventListener listener; - private Color defaultPrimaryColor; - private Color defaultSecondaryColor; /** * Creates new form PostRegistrationPanel @@ -25,18 +23,13 @@ public class PostRegistrationCP extends javax.swing.JPanel { public PostRegistrationCP() { initComponents(); this.listener = null; - this.defaultPrimaryColor = null; - this.defaultSecondaryColor = null; } public void initPostRegistrationCP(RegistrationCPEventListener listener) { initComponents(); this.listener = listener; - this.defaultPrimaryColor = listener.getPrimaryColor(); - this.defaultSecondaryColor = listener.getSecondaryColor(); - - primaryColorPanel.setBackground(defaultPrimaryColor); - secondaryColorPanel.setBackground(defaultSecondaryColor); + primaryColorPanel.setBackground(listener.getDefaultPrimaryColor()); + secondaryColorPanel.setBackground(listener.getDefaultSecondaryColor()); } /** @@ -145,9 +138,9 @@ public class PostRegistrationCP extends javax.swing.JPanel { .addGap(0, 23, Short.MAX_VALUE) ); - transparencySlider.setMaximum(200); + transparencySlider.setMaximum(20); transparencySlider.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.transparencySlider.toolTipText")); // NOI18N - transparencySlider.setValue(100); + transparencySlider.setValue(10); transparencySlider.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); transparencySlider.setOpaque(false); transparencySlider.addChangeListener(new javax.swing.event.ChangeListener() { @@ -195,11 +188,21 @@ public class PostRegistrationCP extends javax.swing.JPanel { frontButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.frontButton.toolTipText")); // NOI18N frontButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); frontButton.setOpaque(false); + frontButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + frontButtonActionPerformed(evt); + } + }); org.openide.awt.Mnemonics.setLocalizedText(profileButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.profileButton.text")); // NOI18N profileButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.profileButton.toolTipText")); // NOI18N profileButton.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); profileButton.setOpaque(false); + profileButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + profileButtonActionPerformed(evt); + } + }); org.openide.awt.Mnemonics.setLocalizedText(translationButton, org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translationButton.text")); // NOI18N translationButton.setToolTipText(org.openide.util.NbBundle.getMessage(PostRegistrationCP.class, "PostRegistrationCP.translationButton.toolTipText")); // NOI18N @@ -642,15 +645,15 @@ public class PostRegistrationCP extends javax.swing.JPanel { }//GEN-LAST:event_secondaryColorPanelMouseClicked private void colorButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_colorButtonActionPerformed - primaryColorPanel.setBackground(defaultPrimaryColor); - secondaryColorPanel.setBackground(defaultSecondaryColor); - listener.setPrimaryColor(defaultPrimaryColor); - listener.setSecondaryColor(defaultSecondaryColor); + primaryColorPanel.setBackground(listener.getDefaultPrimaryColor()); + secondaryColorPanel.setBackground(listener.getDefaultSecondaryColor()); + listener.setDeafultColor(); }//GEN-LAST:event_colorButtonActionPerformed private void transparencyButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_transparencyButtonActionPerformed - listener.setTransparency(100); - transparencySlider.setValue(100); + listener.setTransparency(10); + transparencySlider.setValue(10); + transparencySlider.repaint(); }//GEN-LAST:event_transparencyButtonActionPerformed private void translationXFTFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_translationXFTFActionPerformed @@ -693,6 +696,14 @@ public class PostRegistrationCP extends javax.swing.JPanel { listener.setTransparency(transparencySlider.getValue()); }//GEN-LAST:event_transparencySliderStateChanged + private void frontButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_frontButtonActionPerformed + listener.setFrontFacing(); + }//GEN-LAST:event_frontButtonActionPerformed + + private void profileButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_profileButtonActionPerformed + listener.setSideFacing(); + }//GEN-LAST:event_profileButtonActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton applyButton;