the Lod Level property is now a combo box instead of a plain textfield git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10707 75d07b2b-3a1a-0410-a2c5-0572b91ccdca3.0
parent
aa55fb6c61
commit
96599c21d8
@ -0,0 +1,121 @@ |
||||
/* |
||||
* 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.core.properties; |
||||
|
||||
import com.jme3.gde.core.util.ComboInplaceEditor; |
||||
import java.beans.PropertyChangeEvent; |
||||
import java.beans.PropertyChangeListener; |
||||
import java.beans.PropertyEditorSupport; |
||||
import java.util.Iterator; |
||||
import java.util.LinkedList; |
||||
import java.util.List; |
||||
import org.openide.explorer.propertysheet.ExPropertyEditor; |
||||
import org.openide.explorer.propertysheet.InplaceEditor; |
||||
import org.openide.explorer.propertysheet.PropertyEnv; |
||||
|
||||
/** |
||||
* |
||||
* @author Nehon |
||||
*/ |
||||
public class ComboBoxPropertyEditor extends PropertyEditorSupport implements ExPropertyEditor, InplaceEditor.Factory { |
||||
|
||||
private LinkedList<PropertyChangeListener> listeners = new LinkedList<PropertyChangeListener>(); |
||||
PropertyEnv env; |
||||
private ComboInplaceEditor ed = null; |
||||
|
||||
public ComboBoxPropertyEditor(List<String> list) { |
||||
ed = new ComboInplaceEditor(list); |
||||
} |
||||
|
||||
public void attachEnv(PropertyEnv env) { |
||||
this.env = env; |
||||
env.registerInplaceEditorFactory(this); |
||||
} |
||||
|
||||
public void setList(List<String> list){ |
||||
ed.setList(list); |
||||
} |
||||
|
||||
public int getNumElements(){ |
||||
return ed.getNumElements(); |
||||
} |
||||
|
||||
@Override |
||||
public String getAsText() { |
||||
return ed.getValue().toString(); |
||||
} |
||||
|
||||
@Override |
||||
public void setAsText(String s) { |
||||
Object o = ed.getValue(); |
||||
((ComboInplaceEditor) ed).setAsText(s); |
||||
notifyListeners(o, ed.getValue()); |
||||
} |
||||
|
||||
|
||||
public InplaceEditor getInplaceEditor() { |
||||
return ed; |
||||
} |
||||
|
||||
@Override |
||||
public void setValue(Object value) { |
||||
ed.setValue(value); |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public Object getValue() { |
||||
return ed.getValue(); |
||||
} |
||||
|
||||
public PropertyEnv getEnv() { |
||||
return env; |
||||
} |
||||
|
||||
@Override |
||||
public void addPropertyChangeListener(PropertyChangeListener listener) { |
||||
listeners.add(listener); |
||||
} |
||||
|
||||
@Override |
||||
public void removePropertyChangeListener(PropertyChangeListener listener) { |
||||
listeners.remove(listener); |
||||
} |
||||
|
||||
private void notifyListeners(Object before, Object after) { |
||||
for (Iterator<PropertyChangeListener> it = listeners.iterator(); it.hasNext();) { |
||||
PropertyChangeListener propertyChangeListener = it.next(); |
||||
//TODO: check what the "programmatic name" is supposed to be here.. for now its Quaternion
|
||||
propertyChangeListener.propertyChange(new PropertyChangeEvent(this, null, before, after)); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,124 @@ |
||||
/* |
||||
* 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.core.properties; |
||||
|
||||
import com.jme3.gde.core.scene.SceneApplication; |
||||
import com.jme3.scene.Geometry; |
||||
import java.beans.PropertyEditor; |
||||
import java.lang.reflect.InvocationTargetException; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.concurrent.Callable; |
||||
|
||||
/** |
||||
* |
||||
* @author Nehon |
||||
*/ |
||||
public class LodLevelProperty extends SceneExplorerProperty { |
||||
|
||||
ComboBoxPropertyEditor editor = null; |
||||
int hash = 0; |
||||
private Geometry geometry; |
||||
|
||||
public LodLevelProperty(Object instance, Class valueType, String getter, String setter) throws NoSuchMethodException { |
||||
super(instance, valueType, getter, setter); |
||||
geometry = (Geometry) instance; |
||||
} |
||||
|
||||
public LodLevelProperty(Object instance, Class valueType, String getter, String setter, ScenePropertyChangeListener listener) throws NoSuchMethodException { |
||||
super(instance, valueType, getter, setter, listener); |
||||
geometry = (Geometry) instance; |
||||
} |
||||
|
||||
@Override |
||||
public PropertyEditor getPropertyEditor() { |
||||
if (editor == null) { |
||||
List<String> list = makeList(); |
||||
editor = new ComboBoxPropertyEditor(list); |
||||
} |
||||
return editor; |
||||
} |
||||
|
||||
private void refresh() { |
||||
List<String> list = makeList(); |
||||
editor.setList(list); |
||||
} |
||||
|
||||
@Override |
||||
public String getName() { |
||||
return "Lod Level"; |
||||
} |
||||
|
||||
@Override |
||||
public Object getValue() throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { |
||||
if (hash != computeHash()) { |
||||
refresh(); |
||||
} |
||||
return geometry.getLodLevel(); |
||||
} |
||||
|
||||
@Override |
||||
public void setValue(Object val) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { |
||||
final int level = Integer.parseInt(((String) val).split(" - ")[0]); |
||||
SceneApplication.getApplication().enqueue(new Callable<Void>() { |
||||
public Void call() throws Exception { |
||||
if (geometry.getMesh().getNumLodLevels() > level) { |
||||
geometry.setLodLevel(level); |
||||
} |
||||
return null; |
||||
} |
||||
}); |
||||
|
||||
} |
||||
|
||||
private List<String> makeList() { |
||||
List<String> list = new ArrayList<String>(); |
||||
if (geometry.getMesh().getNumLodLevels() > 0) { |
||||
for (int i = 0; i < geometry.getMesh().getNumLodLevels(); i++) { |
||||
int triNum = geometry.getMesh().getLodLevel(i).getNumElements(); |
||||
list.add(i + " - " + triNum + " triangles"); |
||||
} |
||||
} else { |
||||
list.add("0 - " + geometry.getMesh().getTriangleCount() + " triangles"); |
||||
} |
||||
|
||||
hash = computeHash(); |
||||
return list; |
||||
} |
||||
|
||||
private int computeHash() { |
||||
if (geometry.getMesh().getNumLodLevels() > 0) { |
||||
return geometry.getMesh().getLodLevel(geometry.getMesh().getNumLodLevels() - 1).hashCode(); |
||||
} |
||||
return 0; |
||||
} |
||||
} |
@ -0,0 +1,141 @@ |
||||
/* |
||||
* 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.core.sceneexplorer.nodes.actions.impl; |
||||
|
||||
import com.jme3.gde.core.sceneexplorer.nodes.AbstractSceneExplorerNode; |
||||
import com.jme3.gde.core.sceneexplorer.nodes.JmeGeometry; |
||||
import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractToolWizardAction; |
||||
import com.jme3.gde.core.sceneexplorer.nodes.actions.ToolAction; |
||||
import com.jme3.scene.Geometry; |
||||
import com.jme3.scene.Mesh; |
||||
import com.jme3.scene.VertexBuffer; |
||||
import java.awt.Component; |
||||
import java.text.MessageFormat; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import javax.swing.JComponent; |
||||
import jme3tools.optimize.LodGenerator; |
||||
import org.openide.DialogDisplayer; |
||||
import org.openide.WizardDescriptor; |
||||
import org.openide.nodes.Node; |
||||
|
||||
/** |
||||
* |
||||
* @author nehon |
||||
*/ |
||||
@org.openide.util.lookup.ServiceProvider(service = ToolAction.class) |
||||
public class GenerateLODTool extends AbstractToolWizardAction { |
||||
|
||||
public GenerateLODTool() { |
||||
name = "Generate Levels of Detail"; |
||||
} |
||||
|
||||
@Override |
||||
protected void doUndoTool(AbstractSceneExplorerNode rootNode, Object undoObject) { |
||||
|
||||
Geometry geom = rootNode.getLookup().lookup(Geometry.class); |
||||
Mesh mesh = geom.getMesh(); |
||||
if (mesh != null) { |
||||
mesh.setLodLevels((VertexBuffer[]) undoObject); |
||||
} |
||||
|
||||
} |
||||
|
||||
public Class<?> getNodeClass() { |
||||
return JmeGeometry.class; |
||||
} |
||||
|
||||
@Override |
||||
protected Object showWizard(Node node) { |
||||
AbstractSceneExplorerNode rootNode = (AbstractSceneExplorerNode) node; |
||||
Geometry geom = rootNode.getLookup().lookup(Geometry.class); |
||||
int triSize = geom.getMesh().getTriangleCount(); |
||||
|
||||
List<WizardDescriptor.Panel<WizardDescriptor>> panels = new ArrayList<WizardDescriptor.Panel<WizardDescriptor>>(); |
||||
panels.add(new GenerateLODWizardPanel1()); |
||||
for (int i = 0; i < panels.size(); i++) { |
||||
Component c = panels.get(i).getComponent(); |
||||
if (c instanceof JComponent) { // assume Swing components
|
||||
JComponent jc = (JComponent) c; |
||||
jc.putClientProperty(WizardDescriptor.PROP_CONTENT_SELECTED_INDEX, i); |
||||
jc.putClientProperty(WizardDescriptor.PROP_AUTO_WIZARD_STYLE, true); |
||||
jc.putClientProperty(WizardDescriptor.PROP_CONTENT_DISPLAYED, true); |
||||
jc.putClientProperty(WizardDescriptor.PROP_CONTENT_NUMBERED, true); |
||||
} |
||||
} |
||||
WizardDescriptor wiz = new WizardDescriptor(new WizardDescriptor.ArrayIterator<WizardDescriptor>(panels)); |
||||
// {0} will be replaced by WizardDesriptor.Panel.getComponent().getName()
|
||||
wiz.setTitleFormat(new MessageFormat("{0}")); |
||||
wiz.setTitle("Generate Levels of Detail for this model"); |
||||
wiz.putProperty("triSize", triSize); |
||||
|
||||
if (DialogDisplayer.getDefault().notify(wiz) == WizardDescriptor.FINISH_OPTION) { |
||||
return wiz; |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
protected Object doApplyTool(AbstractSceneExplorerNode rootNode, Object settings) { |
||||
WizardDescriptor wiz = (WizardDescriptor) settings; |
||||
|
||||
Geometry geom = rootNode.getLookup().lookup(Geometry.class); |
||||
Mesh mesh = geom.getMesh(); |
||||
if (mesh != null) { |
||||
//save old lods
|
||||
VertexBuffer[] lods = null; |
||||
if (geom.getMesh().getNumLodLevels() > 0) { |
||||
lods = new VertexBuffer[geom.getMesh().getNumLodLevels()]; |
||||
for (int i = 0; i < lods.length; i++) { |
||||
lods[i] = geom.getMesh().getLodLevel(i); |
||||
} |
||||
} |
||||
|
||||
|
||||
if (wiz != null) { |
||||
float[] values = (float[]) wiz.getProperties().get("reductionValues"); |
||||
if (values != null) { |
||||
//generate lods
|
||||
LodGenerator generator = new LodGenerator(geom); |
||||
LodGenerator.TriangleReductionMethod method = (LodGenerator.TriangleReductionMethod) wiz.getProperties().get("reductionMethod"); |
||||
generator.bakeLods(method, values); |
||||
}else{ |
||||
mesh.setLodLevels(null); |
||||
} |
||||
} |
||||
|
||||
return lods; |
||||
} |
||||
return null; |
||||
|
||||
} |
||||
} |
@ -0,0 +1,572 @@ |
||||
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
||||
<Form version="1.5" maxVersion="1.8" type="org.netbeans.modules.form.forminfo.JPanelFormInfo"> |
||||
<AuxValues> |
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/> |
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> |
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> |
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/> |
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/> |
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> |
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> |
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> |
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> |
||||
</AuxValues> |
||||
|
||||
<Layout> |
||||
<DimensionLayout dim="0"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" alignment="1" attributes="0"> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="1" attributes="0"> |
||||
<Component id="jPanel2" max="32767" attributes="0"/> |
||||
<Component id="jPanel1" max="32767" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</Group> |
||||
</DimensionLayout> |
||||
<DimensionLayout dim="1"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="jPanel1" min="-2" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="jPanel2" max="32767" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</DimensionLayout> |
||||
</Layout> |
||||
<SubComponents> |
||||
<Container class="javax.swing.JPanel" name="jPanel1"> |
||||
<Properties> |
||||
<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 title="Reduction method"> |
||||
<ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.jPanel1.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</TitledBorder> |
||||
</Border> |
||||
</Property> |
||||
</Properties> |
||||
|
||||
<Layout> |
||||
<DimensionLayout dim="0"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" alignment="1" attributes="0"> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="1" attributes="0"> |
||||
<Component id="jScrollPane1" max="32767" attributes="0"/> |
||||
<Component id="reductionMethod" max="32767" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</DimensionLayout> |
||||
<DimensionLayout dim="1"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="reductionMethod" min="-2" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="jScrollPane1" pref="74" max="32767" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</DimensionLayout> |
||||
</Layout> |
||||
<SubComponents> |
||||
<Component class="javax.swing.JComboBox" name="reductionMethod"> |
||||
<Properties> |
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor"> |
||||
<StringArray count="4"> |
||||
<StringItem index="0" value="Item 1"/> |
||||
<StringItem index="1" value="Item 2"/> |
||||
<StringItem index="2" value="Item 3"/> |
||||
<StringItem index="3" value="Item 4"/> |
||||
</StringArray> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="reductionMethodActionPerformed"/> |
||||
</Events> |
||||
</Component> |
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane1"> |
||||
<AuxValues> |
||||
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> |
||||
</AuxValues> |
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> |
||||
<SubComponents> |
||||
<Component class="javax.swing.JTextPane" name="reductionDescription"> |
||||
<Properties> |
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor"> |
||||
<Color blue="f0" green="f0" red="f0" type="rgb"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
</SubComponents> |
||||
</Container> |
||||
</SubComponents> |
||||
</Container> |
||||
<Container class="javax.swing.JPanel" name="jPanel2"> |
||||
<Properties> |
||||
<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 title="Reduction values"> |
||||
<ResourceString PropertyName="titleX" bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.jPanel2.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</TitledBorder> |
||||
</Border> |
||||
</Property> |
||||
</Properties> |
||||
|
||||
<Layout> |
||||
<DimensionLayout dim="0"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Component id="valuePanel" max="32767" attributes="0"/> |
||||
<Component id="jLabel1" alignment="0" pref="506" max="32767" attributes="0"/> |
||||
</Group> |
||||
</DimensionLayout> |
||||
<DimensionLayout dim="1"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" attributes="0"> |
||||
<Component id="jLabel1" min="-2" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valuePanel" max="32767" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</DimensionLayout> |
||||
</Layout> |
||||
<SubComponents> |
||||
<Component class="javax.swing.JLabel" name="jLabel1"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.jLabel1.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="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.jLabel1.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Container class="javax.swing.JPanel" name="valuePanel"> |
||||
<Properties> |
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> |
||||
<Border info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo"> |
||||
<EtchetBorder/> |
||||
</Border> |
||||
</Property> |
||||
</Properties> |
||||
|
||||
<Layout> |
||||
<DimensionLayout dim="0"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" attributes="0"> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel1" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel1" max="32767" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="estLabel1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" attributes="0"> |
||||
<Group type="103" groupAlignment="1" attributes="0"> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel10" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel10" max="32767" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel9" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel9" max="32767" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Component id="estLabel9" alignment="1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
<Component id="estLabel10" alignment="1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel2" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel2" max="32767" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="estLabel2" min="-2" pref="91" max="-2" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel3" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel3" max="32767" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="estLabel3" min="-2" pref="91" max="-2" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Group type="103" groupAlignment="1" attributes="0"> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel8" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel8" max="32767" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel7" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel7" max="32767" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel6" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel6" max="32767" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel5" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel5" max="32767" attributes="0"/> |
||||
</Group> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<Component id="labelLevel4" min="-2" pref="81" max="-2" attributes="0"/> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Component id="valueLevel4" max="32767" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Component id="estLabel4" alignment="1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
<Component id="estLabel5" alignment="1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
<Component id="estLabel6" alignment="1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
<Component id="estLabel7" alignment="1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
<Component id="estLabel8" alignment="1" min="-2" pref="91" max="-2" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</DimensionLayout> |
||||
<DimensionLayout dim="1"> |
||||
<Group type="103" groupAlignment="0" attributes="0"> |
||||
<Group type="102" alignment="0" attributes="0"> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel1" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel1" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel1" alignment="0" max="32767" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel2" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel2" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel2" alignment="1" min="-2" pref="20" max="-2" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel3" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel3" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel3" alignment="0" max="32767" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel4" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel4" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel4" alignment="1" min="-2" pref="20" max="-2" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel5" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel5" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel5" alignment="0" max="32767" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel6" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel6" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel6" alignment="1" min="-2" pref="20" max="-2" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel7" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel7" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel7" alignment="1" min="-2" pref="20" max="-2" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel8" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel8" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel8" alignment="0" max="32767" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel9" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel9" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel9" alignment="0" max="32767" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace max="-2" attributes="0"/> |
||||
<Group type="103" groupAlignment="3" attributes="0"> |
||||
<Component id="labelLevel10" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="valueLevel10" alignment="3" min="-2" max="-2" attributes="0"/> |
||||
<Component id="estLabel10" alignment="3" min="-2" pref="20" max="-2" attributes="0"/> |
||||
</Group> |
||||
<EmptySpace min="-2" pref="15" max="-2" attributes="0"/> |
||||
</Group> |
||||
</Group> |
||||
</DimensionLayout> |
||||
</Layout> |
||||
<SubComponents> |
||||
<Component class="javax.swing.JLabel" name="labelLevel1"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel1"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel1KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel2"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel2"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel2KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel3"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel3KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel3"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel4"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel4.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel4KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel4"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel4.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel5"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel5.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel5KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel5"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel5.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="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel5.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel6"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel6.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel6KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel6"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel6.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel7"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel7.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel7KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel7"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel7.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel8"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel8.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel8KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel8"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel8.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel9"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel9.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel9KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel9"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel9.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JTextField" name="valueLevel10"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.valueLevel10.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
<Events> |
||||
<EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="valueLevel10KeyReleased"/> |
||||
</Events> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="labelLevel10"> |
||||
<Properties> |
||||
<Property name="horizontalAlignment" type="int" value="11"/> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.labelLevel10.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel1"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel2"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel3"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel4"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel4.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel5"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel5.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel6"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel6.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel7"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel7.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel8"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel8.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel9"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel9.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
<Component class="javax.swing.JLabel" name="estLabel10"> |
||||
<Properties> |
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> |
||||
<ResourceString bundle="com/jme3/gde/core/sceneexplorer/nodes/actions/impl/Bundle.properties" key="GenerateLODVisualPanel1.estLabel10.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> |
||||
</Property> |
||||
</Properties> |
||||
</Component> |
||||
</SubComponents> |
||||
</Container> |
||||
</SubComponents> |
||||
</Container> |
||||
</SubComponents> |
||||
</Form> |
@ -0,0 +1,596 @@ |
||||
/* |
||||
* 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.core.sceneexplorer.nodes.actions.impl; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import javax.swing.DefaultComboBoxModel; |
||||
import javax.swing.JLabel; |
||||
import javax.swing.JPanel; |
||||
import javax.swing.JTextField; |
||||
import jme3tools.optimize.LodGenerator; |
||||
|
||||
public final class GenerateLODVisualPanel1 extends JPanel { |
||||
|
||||
private List<JTextField> valuesFields = new ArrayList<JTextField>(); |
||||
private List<JLabel> estimationFields = new ArrayList<JLabel>(); |
||||
private int triSize; |
||||
|
||||
/** |
||||
* Creates new form GenerateLODVisualPanel1 |
||||
*/ |
||||
public GenerateLODVisualPanel1() { |
||||
initComponents(); |
||||
reductionMethod.setModel(new DefaultComboBoxModel()); |
||||
reductionMethod.addItem(LodGenerator.TriangleReductionMethod.PROPORTIONAL); |
||||
reductionMethod.addItem(LodGenerator.TriangleReductionMethod.CONSTANT); |
||||
|
||||
valuesFields.add(valueLevel1); |
||||
valuesFields.add(valueLevel2); |
||||
valuesFields.add(valueLevel3); |
||||
valuesFields.add(valueLevel4); |
||||
valuesFields.add(valueLevel5); |
||||
valuesFields.add(valueLevel6); |
||||
valuesFields.add(valueLevel7); |
||||
valuesFields.add(valueLevel8); |
||||
valuesFields.add(valueLevel9); |
||||
valuesFields.add(valueLevel10); |
||||
|
||||
estimationFields.add(estLabel1); |
||||
estimationFields.add(estLabel2); |
||||
estimationFields.add(estLabel3); |
||||
estimationFields.add(estLabel4); |
||||
estimationFields.add(estLabel5); |
||||
estimationFields.add(estLabel6); |
||||
estimationFields.add(estLabel7); |
||||
estimationFields.add(estLabel8); |
||||
estimationFields.add(estLabel9); |
||||
estimationFields.add(estLabel10); |
||||
} |
||||
|
||||
@Override |
||||
public String getName() { |
||||
return "Step #1"; |
||||
} |
||||
|
||||
public LodGenerator.TriangleReductionMethod getReducitonMethod() { |
||||
return (LodGenerator.TriangleReductionMethod) reductionMethod.getSelectedItem(); |
||||
} |
||||
|
||||
public List<JTextField> getValuesFields() { |
||||
return valuesFields; |
||||
} |
||||
|
||||
/** |
||||
* This method is called from within the constructor to initialize the form. |
||||
* WARNING: Do NOT modify this code. The content of this method is always |
||||
* regenerated by the Form Editor. |
||||
*/ |
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() { |
||||
|
||||
jPanel1 = new javax.swing.JPanel(); |
||||
reductionMethod = new javax.swing.JComboBox(); |
||||
jScrollPane1 = new javax.swing.JScrollPane(); |
||||
reductionDescription = new javax.swing.JTextPane(); |
||||
jPanel2 = new javax.swing.JPanel(); |
||||
jLabel1 = new javax.swing.JLabel(); |
||||
valuePanel = new javax.swing.JPanel(); |
||||
labelLevel1 = new javax.swing.JLabel(); |
||||
valueLevel1 = new javax.swing.JTextField(); |
||||
labelLevel2 = new javax.swing.JLabel(); |
||||
valueLevel2 = new javax.swing.JTextField(); |
||||
valueLevel3 = new javax.swing.JTextField(); |
||||
labelLevel3 = new javax.swing.JLabel(); |
||||
valueLevel4 = new javax.swing.JTextField(); |
||||
labelLevel4 = new javax.swing.JLabel(); |
||||
valueLevel5 = new javax.swing.JTextField(); |
||||
labelLevel5 = new javax.swing.JLabel(); |
||||
valueLevel6 = new javax.swing.JTextField(); |
||||
labelLevel6 = new javax.swing.JLabel(); |
||||
valueLevel7 = new javax.swing.JTextField(); |
||||
labelLevel7 = new javax.swing.JLabel(); |
||||
valueLevel8 = new javax.swing.JTextField(); |
||||
labelLevel8 = new javax.swing.JLabel(); |
||||
valueLevel9 = new javax.swing.JTextField(); |
||||
labelLevel9 = new javax.swing.JLabel(); |
||||
valueLevel10 = new javax.swing.JTextField(); |
||||
labelLevel10 = new javax.swing.JLabel(); |
||||
estLabel1 = new javax.swing.JLabel(); |
||||
estLabel2 = new javax.swing.JLabel(); |
||||
estLabel3 = new javax.swing.JLabel(); |
||||
estLabel4 = new javax.swing.JLabel(); |
||||
estLabel5 = new javax.swing.JLabel(); |
||||
estLabel6 = new javax.swing.JLabel(); |
||||
estLabel7 = new javax.swing.JLabel(); |
||||
estLabel8 = new javax.swing.JLabel(); |
||||
estLabel9 = new javax.swing.JLabel(); |
||||
estLabel10 = new javax.swing.JLabel(); |
||||
|
||||
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.jPanel1.border.title"))); // NOI18N
|
||||
|
||||
reductionMethod.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); |
||||
reductionMethod.addActionListener(new java.awt.event.ActionListener() { |
||||
public void actionPerformed(java.awt.event.ActionEvent evt) { |
||||
reductionMethodActionPerformed(evt); |
||||
} |
||||
}); |
||||
|
||||
reductionDescription.setBackground(new java.awt.Color(240, 240, 240)); |
||||
jScrollPane1.setViewportView(reductionDescription); |
||||
|
||||
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); |
||||
jPanel1.setLayout(jPanel1Layout); |
||||
jPanel1Layout.setHorizontalGroup( |
||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() |
||||
.addContainerGap() |
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) |
||||
.addComponent(jScrollPane1) |
||||
.addComponent(reductionMethod, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
||||
.addContainerGap()) |
||||
); |
||||
jPanel1Layout.setVerticalGroup( |
||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(jPanel1Layout.createSequentialGroup() |
||||
.addComponent(reductionMethod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 74, Short.MAX_VALUE)) |
||||
); |
||||
|
||||
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.jPanel2.border.title"))); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.jLabel1.text")); // NOI18N
|
||||
jLabel1.setToolTipText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.jLabel1.toolTipText")); // NOI18N
|
||||
|
||||
valuePanel.setBorder(javax.swing.BorderFactory.createEtchedBorder()); |
||||
|
||||
labelLevel1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel1, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel1.text")); // NOI18N
|
||||
|
||||
valueLevel1.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel1.text")); // NOI18N
|
||||
valueLevel1.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel1KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel2, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel2.text")); // NOI18N
|
||||
|
||||
valueLevel2.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel2.text")); // NOI18N
|
||||
valueLevel2.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel2KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
valueLevel3.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel3.text")); // NOI18N
|
||||
valueLevel3.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel3KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel3, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel3.text")); // NOI18N
|
||||
|
||||
valueLevel4.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel4.text")); // NOI18N
|
||||
valueLevel4.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel4KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel4, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel4.text")); // NOI18N
|
||||
|
||||
valueLevel5.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel5.text")); // NOI18N
|
||||
valueLevel5.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel5KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel5.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel5, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel5.text")); // NOI18N
|
||||
labelLevel5.setToolTipText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel5.toolTipText")); // NOI18N
|
||||
|
||||
valueLevel6.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel6.text")); // NOI18N
|
||||
valueLevel6.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel6KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel6.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel6, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel6.text")); // NOI18N
|
||||
|
||||
valueLevel7.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel7.text")); // NOI18N
|
||||
valueLevel7.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel7KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel7.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel7, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel7.text")); // NOI18N
|
||||
|
||||
valueLevel8.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel8.text")); // NOI18N
|
||||
valueLevel8.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel8KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel8.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel8, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel8.text")); // NOI18N
|
||||
|
||||
valueLevel9.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel9.text")); // NOI18N
|
||||
valueLevel9.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel9KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel9, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel9.text")); // NOI18N
|
||||
|
||||
valueLevel10.setText(org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.valueLevel10.text")); // NOI18N
|
||||
valueLevel10.addKeyListener(new java.awt.event.KeyAdapter() { |
||||
public void keyReleased(java.awt.event.KeyEvent evt) { |
||||
valueLevel10KeyReleased(evt); |
||||
} |
||||
}); |
||||
|
||||
labelLevel10.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); |
||||
org.openide.awt.Mnemonics.setLocalizedText(labelLevel10, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.labelLevel10.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel1, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel1.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel2, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel2.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel3, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel3.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel4, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel4.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel5, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel5.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel6, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel6.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel7, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel7.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel8, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel8.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel9, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel9.text")); // NOI18N
|
||||
|
||||
org.openide.awt.Mnemonics.setLocalizedText(estLabel10, org.openide.util.NbBundle.getMessage(GenerateLODVisualPanel1.class, "GenerateLODVisualPanel1.estLabel10.text")); // NOI18N
|
||||
|
||||
javax.swing.GroupLayout valuePanelLayout = new javax.swing.GroupLayout(valuePanel); |
||||
valuePanel.setLayout(valuePanelLayout); |
||||
valuePanelLayout.setHorizontalGroup( |
||||
valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(valuePanelLayout.createSequentialGroup() |
||||
.addContainerGap() |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel1, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel1) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(estLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addGroup(valuePanelLayout.createSequentialGroup() |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel10, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel10)) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel9, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel9))) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addComponent(estLabel9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE))) |
||||
.addGroup(valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel2, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel2) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(estLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addGroup(valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel3, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel3) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(estLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addGroup(valuePanelLayout.createSequentialGroup() |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel8, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel8)) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel7, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel7)) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel6, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel6)) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel5, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel5)) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, valuePanelLayout.createSequentialGroup() |
||||
.addComponent(labelLevel4, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valueLevel4))) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addComponent(estLabel4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel7, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel8, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)))) |
||||
.addContainerGap()) |
||||
); |
||||
valuePanelLayout.setVerticalGroup( |
||||
valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(valuePanelLayout.createSequentialGroup() |
||||
.addContainerGap() |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel1) |
||||
.addComponent(valueLevel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel2) |
||||
.addComponent(valueLevel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel3) |
||||
.addComponent(valueLevel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel4) |
||||
.addComponent(valueLevel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel5) |
||||
.addComponent(valueLevel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel6) |
||||
.addComponent(valueLevel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel7) |
||||
.addComponent(valueLevel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel8) |
||||
.addComponent(valueLevel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel9) |
||||
.addComponent(valueLevel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addGroup(valuePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
||||
.addComponent(labelLevel10) |
||||
.addComponent(valueLevel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addComponent(estLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) |
||||
.addGap(15, 15, 15)) |
||||
); |
||||
|
||||
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); |
||||
jPanel2.setLayout(jPanel2Layout); |
||||
jPanel2Layout.setHorizontalGroup( |
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addComponent(valuePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
||||
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 506, Short.MAX_VALUE) |
||||
); |
||||
jPanel2Layout.setVerticalGroup( |
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(jPanel2Layout.createSequentialGroup() |
||||
.addComponent(jLabel1) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(valuePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
||||
); |
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); |
||||
this.setLayout(layout); |
||||
layout.setHorizontalGroup( |
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() |
||||
.addContainerGap() |
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) |
||||
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) |
||||
); |
||||
layout.setVerticalGroup( |
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
||||
.addGroup(layout.createSequentialGroup() |
||||
.addContainerGap() |
||||
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
||||
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
||||
.addContainerGap()) |
||||
); |
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
public void setTriSize(int triSize) { |
||||
this.triSize = triSize; |
||||
} |
||||
|
||||
private int getIndex(JTextField field) { |
||||
for (int i = 0; i < valuesFields.size(); i++) { |
||||
if (valuesFields.get(i) == field) { |
||||
return i; |
||||
} |
||||
} |
||||
return -1; |
||||
} |
||||
|
||||
private void estimate(int index) { |
||||
JTextField field = valuesFields.get(index); |
||||
JLabel est = estimationFields.get(index); |
||||
|
||||
float value = 0; |
||||
try { |
||||
value = Float.parseFloat(field.getText()); |
||||
int trinum = 0; |
||||
if (reductionMethod.getSelectedItem() == LodGenerator.TriangleReductionMethod.PROPORTIONAL) { |
||||
trinum = (int) (triSize - (triSize * value)); |
||||
} else { |
||||
trinum = (int) (triSize - value); |
||||
} |
||||
est.setText("~ " + trinum + " triangles"); |
||||
} catch (NumberFormatException e) { |
||||
est.setText("-"); |
||||
return; |
||||
} |
||||
} |
||||
|
||||
private void clear(){ |
||||
for (JTextField text : valuesFields) { |
||||
text.setText(""); |
||||
} |
||||
for (JLabel label : estimationFields) { |
||||
label.setText(""); |
||||
} |
||||
} |
||||
|
||||
private void reductionMethodActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_reductionMethodActionPerformed
|
||||
switch ((LodGenerator.TriangleReductionMethod) reductionMethod.getSelectedItem()) { |
||||
case PROPORTIONAL: |
||||
reductionDescription.setText("Enter float values from 0 to 1.\n each values represent the proportion of triangle to remove from the full mesh."); |
||||
break; |
||||
case CONSTANT: |
||||
reductionDescription.setText("Enter integrer values from 0 to " + triSize + " of the mesh.\n each values represent the number of triangle to remove from the full mesh. "); |
||||
break; |
||||
case COLLAPSE_COST: |
||||
reductionDescription.setText("Don't use this"); |
||||
break; |
||||
} |
||||
clear(); |
||||
}//GEN-LAST:event_reductionMethodActionPerformed
|
||||
|
||||
private void valueLevel1KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel1KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel1KeyReleased
|
||||
|
||||
private void valueLevel2KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel2KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel2KeyReleased
|
||||
|
||||
private void valueLevel3KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel3KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel3KeyReleased
|
||||
|
||||
private void valueLevel4KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel4KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel4KeyReleased
|
||||
|
||||
private void valueLevel5KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel5KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel5KeyReleased
|
||||
|
||||
private void valueLevel6KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel6KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel6KeyReleased
|
||||
|
||||
private void valueLevel7KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel7KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel7KeyReleased
|
||||
|
||||
private void valueLevel8KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel8KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel8KeyReleased
|
||||
|
||||
private void valueLevel9KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel9KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel9KeyReleased
|
||||
|
||||
private void valueLevel10KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_valueLevel10KeyReleased
|
||||
estimate(getIndex((JTextField) evt.getSource())); // TODO add your handling code here:
|
||||
}//GEN-LAST:event_valueLevel10KeyReleased
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JLabel estLabel1; |
||||
private javax.swing.JLabel estLabel10; |
||||
private javax.swing.JLabel estLabel2; |
||||
private javax.swing.JLabel estLabel3; |
||||
private javax.swing.JLabel estLabel4; |
||||
private javax.swing.JLabel estLabel5; |
||||
private javax.swing.JLabel estLabel6; |
||||
private javax.swing.JLabel estLabel7; |
||||
private javax.swing.JLabel estLabel8; |
||||
private javax.swing.JLabel estLabel9; |
||||
private javax.swing.JLabel jLabel1; |
||||
private javax.swing.JPanel jPanel1; |
||||
private javax.swing.JPanel jPanel2; |
||||
private javax.swing.JScrollPane jScrollPane1; |
||||
private javax.swing.JLabel labelLevel1; |
||||
private javax.swing.JLabel labelLevel10; |
||||
private javax.swing.JLabel labelLevel2; |
||||
private javax.swing.JLabel labelLevel3; |
||||
private javax.swing.JLabel labelLevel4; |
||||
private javax.swing.JLabel labelLevel5; |
||||
private javax.swing.JLabel labelLevel6; |
||||
private javax.swing.JLabel labelLevel7; |
||||
private javax.swing.JLabel labelLevel8; |
||||
private javax.swing.JLabel labelLevel9; |
||||
private javax.swing.JTextPane reductionDescription; |
||||
private javax.swing.JComboBox reductionMethod; |
||||
private javax.swing.JTextField valueLevel1; |
||||
private javax.swing.JTextField valueLevel10; |
||||
private javax.swing.JTextField valueLevel2; |
||||
private javax.swing.JTextField valueLevel3; |
||||
private javax.swing.JTextField valueLevel4; |
||||
private javax.swing.JTextField valueLevel5; |
||||
private javax.swing.JTextField valueLevel6; |
||||
private javax.swing.JTextField valueLevel7; |
||||
private javax.swing.JTextField valueLevel8; |
||||
private javax.swing.JTextField valueLevel9; |
||||
private javax.swing.JPanel valuePanel; |
||||
// End of variables declaration//GEN-END:variables
|
||||
} |
@ -0,0 +1,131 @@ |
||||
/* |
||||
* 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.core.sceneexplorer.nodes.actions.impl; |
||||
|
||||
import javax.swing.JOptionPane; |
||||
import javax.swing.event.ChangeListener; |
||||
import org.openide.WizardDescriptor; |
||||
import org.openide.WizardValidationException; |
||||
import org.openide.util.HelpCtx; |
||||
|
||||
public class GenerateLODWizardPanel1 implements WizardDescriptor.ValidatingPanel<WizardDescriptor> { |
||||
|
||||
private float[] values; |
||||
/** |
||||
* The visual component that displays this panel. If you need to access the |
||||
* component from this class, just use getComponent(). |
||||
*/ |
||||
private GenerateLODVisualPanel1 component; |
||||
|
||||
// Get the visual component for the panel. In this template, the component
|
||||
// is kept separate. This can be more efficient: if the wizard is created
|
||||
// but never displayed, or not all panels are displayed, it is better to
|
||||
// create only those which really need to be visible.
|
||||
@Override |
||||
public GenerateLODVisualPanel1 getComponent() { |
||||
if (component == null) { |
||||
component = new GenerateLODVisualPanel1(); |
||||
} |
||||
return component; |
||||
} |
||||
|
||||
@Override |
||||
public HelpCtx getHelp() { |
||||
// Show no Help button for this panel:
|
||||
return HelpCtx.DEFAULT_HELP; |
||||
// If you have context help:
|
||||
// return new HelpCtx("help.key.here");
|
||||
} |
||||
|
||||
@Override |
||||
public boolean isValid() { |
||||
|
||||
|
||||
// If it is always OK to press Next or Finish, then:
|
||||
return true; |
||||
// If it depends on some condition (form filled out...) and
|
||||
// this condition changes (last form field filled in...) then
|
||||
// use ChangeSupport to implement add/removeChangeListener below.
|
||||
// WizardDescriptor.ERROR/WARNING/INFORMATION_MESSAGE will also be useful.
|
||||
} |
||||
|
||||
@Override |
||||
public void addChangeListener(ChangeListener l) { |
||||
} |
||||
|
||||
@Override |
||||
public void removeChangeListener(ChangeListener l) { |
||||
} |
||||
|
||||
@Override |
||||
public void readSettings(WizardDescriptor wiz) { |
||||
component.setTriSize((Integer)wiz.getProperty("triSize")); |
||||
} |
||||
|
||||
@Override |
||||
public void storeSettings(WizardDescriptor wiz) { |
||||
wiz.putProperty("reductionMethod", component.getReducitonMethod()); |
||||
wiz.putProperty("reductionValues", values); |
||||
} |
||||
|
||||
public void validate() throws WizardValidationException { |
||||
|
||||
|
||||
float[] vals = new float[component.getValuesFields().size()]; |
||||
|
||||
for (int i = 0; i < component.getValuesFields().size(); i++) { |
||||
try { |
||||
String text = component.getValuesFields().get(i).getText(); |
||||
if(!text.trim().equals("")){ |
||||
vals[i] = Float.parseFloat(text); |
||||
}else{ |
||||
if (i == 0) { |
||||
if (JOptionPane.showConfirmDialog(getComponent(), |
||||
"Warning there is no level value set.\nThis will remove all existing Level of detail from this model.\nDo you wish to continue?", |
||||
"Deleting LOD", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { |
||||
values = null; |
||||
} else { |
||||
throw new WizardValidationException(null, "No reduction value set", null); |
||||
} |
||||
}else{ |
||||
values = new float[i]; |
||||
System.arraycopy(vals, 0, values, 0, i); |
||||
} |
||||
return; |
||||
} |
||||
} catch (NumberFormatException e) { |
||||
throw new WizardValidationException( component.getValuesFields().get(i), "Invalid value for level "+(i+1), null); |
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,147 @@ |
||||
/* |
||||
* 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.core.util; |
||||
|
||||
import java.awt.Component; |
||||
import java.awt.event.ActionListener; |
||||
import java.beans.PropertyEditor; |
||||
import java.util.List; |
||||
import javax.swing.JComboBox; |
||||
import javax.swing.JComponent; |
||||
import javax.swing.KeyStroke; |
||||
import org.openide.explorer.propertysheet.InplaceEditor; |
||||
import org.openide.explorer.propertysheet.PropertyEnv; |
||||
import org.openide.explorer.propertysheet.PropertyModel; |
||||
|
||||
/** |
||||
* |
||||
* @author Nehon |
||||
*/ |
||||
public class ComboInplaceEditor implements InplaceEditor { |
||||
|
||||
private PropertyEditor editor = null; |
||||
private PropertyModel model; |
||||
private PropertyEnv env; |
||||
private JComboBox combo = new JComboBox(); |
||||
|
||||
public ComboInplaceEditor(List<String> list) { |
||||
super(); |
||||
setList(list); |
||||
} |
||||
|
||||
public final void setList(List<String> list) { |
||||
combo.removeAllItems(); |
||||
for (String string : list) { |
||||
combo.addItem(string); |
||||
} |
||||
} |
||||
|
||||
public int getNumElements(){ |
||||
return combo.getItemCount(); |
||||
} |
||||
|
||||
public void connect(PropertyEditor pe, PropertyEnv pe1) { |
||||
editor = pe; |
||||
env = pe1; |
||||
reset(); |
||||
} |
||||
|
||||
public JComponent getComponent() { |
||||
return combo; |
||||
} |
||||
|
||||
public void setAsText(String s) { |
||||
for (int i = 0; i < combo.getItemCount(); i++) { |
||||
if (((String) combo.getItemAt(i)).equals(s)) { |
||||
combo.setSelectedIndex(i); |
||||
return; |
||||
} |
||||
} |
||||
} |
||||
|
||||
public void clear() { |
||||
editor = null; |
||||
model = null; |
||||
} |
||||
|
||||
public Object getValue() { |
||||
return combo.getSelectedItem(); |
||||
|
||||
} |
||||
|
||||
public void setValue(Object o) { |
||||
for (int i = 0; i < combo.getItemCount(); i++) { |
||||
if ((combo.getItemAt(i)).equals(o)) { |
||||
combo.setSelectedIndex(i); |
||||
return; |
||||
} |
||||
} |
||||
} |
||||
|
||||
public boolean supportsTextEntry() { |
||||
return true; |
||||
} |
||||
|
||||
public void reset() { |
||||
|
||||
|
||||
} |
||||
|
||||
public KeyStroke[] getKeyStrokes() { |
||||
return new KeyStroke[0]; |
||||
} |
||||
|
||||
public PropertyEditor getPropertyEditor() { |
||||
return editor; |
||||
} |
||||
|
||||
public PropertyModel getPropertyModel() { |
||||
return model; |
||||
} |
||||
|
||||
public void setPropertyModel(PropertyModel pm) { |
||||
|
||||
this.model = pm; |
||||
} |
||||
|
||||
public boolean isKnownComponent(Component cmpnt) { |
||||
return cmpnt == combo || combo.isAncestorOf(cmpnt); |
||||
} |
||||
|
||||
public void addActionListener(ActionListener al) { |
||||
combo.addActionListener(al); |
||||
} |
||||
|
||||
public void removeActionListener(ActionListener al) { |
||||
combo.removeActionListener(al); |
||||
} |
||||
} |
Loading…
Reference in new issue