From e990b2582281a6592ff36fada4dd7173f91d2d8d Mon Sep 17 00:00:00 2001 From: "sha..rd" Date: Wed, 20 Apr 2011 16:52:38 +0000 Subject: [PATCH] * TestNiftyGui now uses jme3test/niftygui/hellojme.xml and acts as a ScreenController * Added TestNiftyExamples that runs the all/intro.xml in the nifty examples jar git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7274 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../jme3test/niftygui/TestNiftyExamples.java | 65 +++++++++++++++++++ .../test/jme3test/niftygui/TestNiftyGui.java | 30 +++++++-- .../src/test/jme3test/niftygui/hellojme.xml | 6 +- 3 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 engine/src/test/jme3test/niftygui/TestNiftyExamples.java diff --git a/engine/src/test/jme3test/niftygui/TestNiftyExamples.java b/engine/src/test/jme3test/niftygui/TestNiftyExamples.java new file mode 100644 index 000000000..e6a114cdd --- /dev/null +++ b/engine/src/test/jme3test/niftygui/TestNiftyExamples.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2009-2010 jMonkeyEngine + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'jMonkeyEngine' nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package jme3test.niftygui; + +import com.jme3.app.SimpleApplication; +import com.jme3.niftygui.NiftyJmeDisplay; +import de.lessvoid.nifty.Nifty; + +public class TestNiftyExamples extends SimpleApplication { + + private Nifty nifty; + + public static void main(String[] args){ + TestNiftyExamples app = new TestNiftyExamples(); + app.setPauseOnLostFocus(false); + app.start(); + } + + public void simpleInitApp() { + NiftyJmeDisplay niftyDisplay = new NiftyJmeDisplay(assetManager, + inputManager, + audioRenderer, + guiViewPort); + nifty = niftyDisplay.getNifty(); + + nifty.fromXml("all/intro.xml", "start"); + + // attach the nifty display to the gui view port as a processor + guiViewPort.addProcessor(niftyDisplay); + + // disable the fly cam + flyCam.setEnabled(false); + } + +} diff --git a/engine/src/test/jme3test/niftygui/TestNiftyGui.java b/engine/src/test/jme3test/niftygui/TestNiftyGui.java index 5c377d186..4a94b46c9 100644 --- a/engine/src/test/jme3test/niftygui/TestNiftyGui.java +++ b/engine/src/test/jme3test/niftygui/TestNiftyGui.java @@ -39,8 +39,12 @@ import com.jme3.niftygui.NiftyJmeDisplay; import com.jme3.scene.Geometry; import com.jme3.scene.shape.Box; import de.lessvoid.nifty.Nifty; +import de.lessvoid.nifty.screen.Screen; +import de.lessvoid.nifty.screen.ScreenController; +import java.util.logging.Level; +import java.util.logging.Logger; -public class TestNiftyGui extends SimpleApplication { +public class TestNiftyGui extends SimpleApplication implements ScreenController { private Nifty nifty; @@ -53,7 +57,7 @@ public class TestNiftyGui extends SimpleApplication { public void simpleInitApp() { Box b = new Box(Vector3f.ZERO, 1, 1, 1); Geometry geom = new Geometry("Box", b); - Material mat = new Material(assetManager, "Common/MatDefs/Misc/SimpleTextured.j3md"); + Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); mat.setTexture("ColorMap", assetManager.loadTexture("Interface/Logo/Monkey.jpg")); geom.setMaterial(mat); rootNode.attachChild(geom); @@ -64,14 +68,30 @@ public class TestNiftyGui extends SimpleApplication { guiViewPort); nifty = niftyDisplay.getNifty(); - nifty.fromXml("all/intro.xml", "start"); + nifty.fromXml("jme3test/niftygui/hellojme.xml", "start", this); // attach the nifty display to the gui view port as a processor guiViewPort.addProcessor(niftyDisplay); // disable the fly cam - flyCam.setEnabled(false); -// flyCam.setDragToRotate(true); +// flyCam.setEnabled(false); + flyCam.setDragToRotate(true); + } + + public void bind(Nifty nifty, Screen screen) { + System.out.println("bind( " + screen.getScreenId() + ")"); + } + + public void onStartScreen() { + System.out.println("onStartScreen"); + } + + public void onEndScreen() { + System.out.println("onEndScreen"); + } + + public void quit(){ + nifty.gotoScreen("end"); } } diff --git a/engine/src/test/jme3test/niftygui/hellojme.xml b/engine/src/test/jme3test/niftygui/hellojme.xml index 7a8605849..c945de6e2 100644 --- a/engine/src/test/jme3test/niftygui/hellojme.xml +++ b/engine/src/test/jme3test/niftygui/hellojme.xml @@ -1,6 +1,6 @@ - + @@ -9,8 +9,10 @@ - + + +