X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Fgui%2FGuiComponent.java;h=75dbbf4fa2e9b4f9fcc1128c5bd9ed4cb4806591;hp=06b87b7311a0507f8a9e99abcc1b73e767417a59;hb=afdebf8f4f532ed5b456040c6c481f3cfbf8d236;hpb=6213716671ccab6b7256de41838e1f5401ce173c diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/gui/GuiComponent.java b/src/main/java/eu/svjatoslav/sixth/e3d/gui/GuiComponent.java index 06b87b7..75dbbf4 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/gui/GuiComponent.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/gui/GuiComponent.java @@ -1,20 +1,20 @@ /* - * Sixth - System for data storage, computation, exploration and interaction. - * Copyright ©2012-2016, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * * This program is free software; you can redistribute it and/or * modify it under the terms of version 3 of the GNU Lesser General Public License * or later as published by the Free Software Foundation. + * */ package eu.svjatoslav.sixth.e3d.gui; import eu.svjatoslav.sixth.e3d.geometry.Box; import eu.svjatoslav.sixth.e3d.geometry.Point3D; -import eu.svjatoslav.sixth.e3d.geometry.Transform; import eu.svjatoslav.sixth.e3d.gui.humaninput.MouseInteractionController; import eu.svjatoslav.sixth.e3d.gui.humaninput.UserInputHandler; import eu.svjatoslav.sixth.e3d.gui.textEditorComponent.KeyboardHelper; +import eu.svjatoslav.sixth.e3d.math.Transform; import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.line.LineAppearance; import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.base.AbstractCompositeShape; import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.composite.wireframe.WireframeBox; @@ -25,22 +25,22 @@ public class GuiComponent extends AbstractCompositeShape implements UserInputHandler, MouseInteractionController { private static final String GROUP_GUI_FOCUS = "gui.focus"; - public final ViewContext viewContext; + public final ViewPanel viewPanel; Box containingBox = new Box(); private WireframeBox borders = null; private boolean borderShown = false; public GuiComponent(final Transform transform, - final ViewContext viewContext, final Point3D size) { + final ViewPanel viewPanel, final Point3D size) { super(transform); - this.viewContext = viewContext; + this.viewPanel = viewPanel; setDimensions(size); } @Override - public boolean beforeViewUpdate(final ViewContext viewContext, - final int millisecondsSinceLastFrame) { + public boolean beforeRender(final ViewPanel viewPanel, + final int millisecondsSinceLastFrame) { return false; } @@ -56,13 +56,15 @@ public class GuiComponent extends AbstractCompositeShape implements } @Override - public void focusLost(final ViewContext viewContext) { + public boolean focusLost(final ViewPanel viewPanel) { hideBorder(); + return true; } @Override - public void focusReceived(final ViewContext viewContext) { + public boolean focusReceived(final ViewPanel viewPanel) { showBorder(); + return true; } public WireframeBox getBorders() { @@ -91,18 +93,20 @@ public class GuiComponent extends AbstractCompositeShape implements } @Override - public void keyPressed(final KeyEvent event, final ViewContext viewContext) { + public boolean keyPressed(final KeyEvent event, final ViewPanel viewPanel) { if (event.getKeyChar() == KeyboardHelper.ESC) - viewContext.getKeyboardFocusTracker().popFocusOwner(); + viewPanel.getKeyboardFocusTracker().popFocusOwner(); + return true; } @Override - public void keyReleased(final KeyEvent event, final ViewContext viewContext) { + public boolean keyReleased(final KeyEvent event, final ViewPanel viewPanel) { + return false; } @Override public void mouseClicked() { - viewContext.getKeyboardFocusTracker().setFocusOwner(this); + viewPanel.getKeyboardFocusTracker().setFocusOwner(this); } @Override @@ -117,7 +121,7 @@ public class GuiComponent extends AbstractCompositeShape implements containingBox.setSizeCentered(size); } - public void showBorder() { + private void showBorder() { if (borderShown) return; borderShown = true;