diff --git a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/layer.xml b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/layer.xml index 79e634670..9bec292a9 100644 --- a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/layer.xml +++ b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/layer.xml @@ -38,8 +38,17 @@ + + + + + + + + + diff --git a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/Enqueue.xml b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/Enqueue.xml new file mode 100644 index 000000000..dfdd78be1 --- /dev/null +++ b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/Enqueue.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + Enqueue + Runs code in the update loop. Use for scene graph modifications. + + + diff --git a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/InputListener.xml b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/InputListener.xml new file mode 100644 index 000000000..5b359e318 --- /dev/null +++ b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/InputListener.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + InputListener + Listen for continuous and pressed/released input actions. Use with InputMapping. + + + diff --git a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/InputMapping.xml b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/InputMapping.xml new file mode 100644 index 000000000..a4e0b25fb --- /dev/null +++ b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/InputMapping.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + InputMapping + Map an Action to a key or mouse button. Use with InputListener. + + + diff --git a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteEnqueue.java b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteEnqueue.java new file mode 100644 index 000000000..38faede7e --- /dev/null +++ b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteEnqueue.java @@ -0,0 +1,64 @@ +/* + * 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 com.jme3.gde.codepalette.scene; +import com.jme3.gde.codepalette.JmePaletteUtilities; +import javax.swing.text.BadLocationException; +import javax.swing.text.JTextComponent; +import org.openide.text.ActiveEditorDrop; + +/** + * + * @author normenhansen, zathras + */ +public class JmePaletteEnqueue implements ActiveEditorDrop { + + public JmePaletteEnqueue() { + } + + private String createBody() { + + String body = "app.enqueue(new Callable() {\n public Object call() throws Exception {\n // call methods that modify the scene graph here\n return null; \n } \n}); \n"; + return body; + } + + public boolean handleTransfer(JTextComponent targetComponent) { + String body = createBody(); + try { + JmePaletteUtilities.insert(body, targetComponent); + } catch (BadLocationException ble) { + return false; + } + return true; + } + +} diff --git a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteInputListener.java b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteInputListener.java new file mode 100644 index 000000000..525a6543f --- /dev/null +++ b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteInputListener.java @@ -0,0 +1,64 @@ +/* + * 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 com.jme3.gde.codepalette.scene; +import com.jme3.gde.codepalette.JmePaletteUtilities; +import javax.swing.text.BadLocationException; +import javax.swing.text.JTextComponent; +import org.openide.text.ActiveEditorDrop; + +/** + * + * @author normenhansen, zathras + */ +public class JmePaletteInputListener implements ActiveEditorDrop { + + public JmePaletteInputListener() { + } + + private String createBody() { + + String body = "/**Use ActionListener to respond to pressed/released inputs (keys presses, mouse clicks) */ \n private ActionListener actionListener = new ActionListener(){\n public void onAction(String name, boolean pressed, float tpf){\n System.out.println(name + \" = \" + pressed);\n }\n};\n /** Use AnalogListener to respond to continuous inputs (key presses, mouse clicks) */\n private AnalogListener analogListener = new AnalogListener() {\n public void onAnalog(String name, float value, float tpf) {\n System.out.println(name + \" = \" + value);\n }\n}; \n"; + return body; + } + + public boolean handleTransfer(JTextComponent targetComponent) { + String body = createBody(); + try { + JmePaletteUtilities.insert(body, targetComponent); + } catch (BadLocationException ble) { + return false; + } + return true; + } + +} diff --git a/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteInputMapping.java b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteInputMapping.java new file mode 100644 index 000000000..acc55a790 --- /dev/null +++ b/sdk/jme3-codepalette/src/com/jme3/gde/codepalette/scene/JmePaletteInputMapping.java @@ -0,0 +1,64 @@ +/* + * 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 com.jme3.gde.codepalette.scene; +import com.jme3.gde.codepalette.JmePaletteUtilities; +import javax.swing.text.BadLocationException; +import javax.swing.text.JTextComponent; +import org.openide.text.ActiveEditorDrop; + +/** + * + * @author normenhansen, zathras + */ +public class JmePaletteInputMapping implements ActiveEditorDrop { + + public JmePaletteInputMapping() { + } + + private String createBody() { + + String body = " /** Map one or more inputs to an action */\ninputManager.addMapping(\"My Action\",\n new KeyTrigger(KeyInput.KEY_SPACE),\n new MouseAxisTrigger(MouseInput.AXIS_WHEEL, false));\n/** Add an action to one or more listeners */\ninputManager.addListener(actionListener, \"My Action\");\ninputManager.addListener(analogListener, \"My Action\"); \n"; + return body; + } + + public boolean handleTransfer(JTextComponent targetComponent) { + String body = createBody(); + try { + JmePaletteUtilities.insert(body, targetComponent); + } catch (BadLocationException ble) { + return false; + } + return true; + } + +}