added terrain material params to terrain editor window
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8809 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
9da184fcd7
commit
6ef11723a3
@ -152,6 +152,7 @@ public class AddTerrainAction extends AbstractNewSpatialWizardAction {
|
|||||||
mat.setTexture("DiffuseMap", dirtTexture);
|
mat.setTexture("DiffuseMap", dirtTexture);
|
||||||
mat.setFloat("DiffuseMap_0_scale", TerrainEditorController.DEFAULT_TEXTURE_SCALE);
|
mat.setFloat("DiffuseMap_0_scale", TerrainEditorController.DEFAULT_TEXTURE_SCALE);
|
||||||
mat.setBoolean("WardIso", true);
|
mat.setBoolean("WardIso", true);
|
||||||
|
mat.setFloat("Shininess", 0.01f);
|
||||||
|
|
||||||
((Node)terrain).setMaterial(mat);
|
((Node)terrain).setMaterial(mat);
|
||||||
((Node)terrain).setModelBound(new BoundingBox());
|
((Node)terrain).setModelBound(new BoundingBox());
|
||||||
|
@ -105,3 +105,8 @@ TerrainEditorTopComponent.toolHint.none=
|
|||||||
TerrainEditorTopComponent.toolHint.default=Switch between camera and tool controls by holding down SHIFT
|
TerrainEditorTopComponent.toolHint.default=Switch between camera and tool controls by holding down SHIFT
|
||||||
TerrainEditorTopComponent.toolHint.level=Right click to set desired height value, left click to adjust height to that desired value.
|
TerrainEditorTopComponent.toolHint.level=Right click to set desired height value, left click to adjust height to that desired value.
|
||||||
|
|
||||||
|
TerrainEditorTopComponent.jPanel2.border.title=Material
|
||||||
|
TerrainEditorTopComponent.jLabel1.text=Shininess
|
||||||
|
TerrainEditorTopComponent.wardIsoCheckBox.text=WardIso
|
||||||
|
TerrainEditorTopComponent.shininessField.text=0.001
|
||||||
|
TerrainEditorTopComponent.shininessField.toolTipText=0 or greater
|
||||||
|
@ -53,6 +53,7 @@ import com.jme3.terrain.Terrain;
|
|||||||
import com.jme3.texture.Texture;
|
import com.jme3.texture.Texture;
|
||||||
import com.jme3.texture.Texture.WrapMode;
|
import com.jme3.texture.Texture.WrapMode;
|
||||||
import com.jme3.util.SkyFactory;
|
import com.jme3.util.SkyFactory;
|
||||||
|
import com.sun.imageio.plugins.common.ImageUtil;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -1025,6 +1026,108 @@ public class TerrainEditorController implements NodeListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void setShininess(final float shininess) {
|
||||||
|
if (SceneApplication.getApplication().isOgl()) {
|
||||||
|
Terrain terrain = (Terrain) getTerrain(null);
|
||||||
|
if (terrain == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
terrain.getMaterial().setFloat("Shininess", shininess);
|
||||||
|
|
||||||
|
setNeedsSave(true);
|
||||||
|
} else {
|
||||||
|
SceneApplication.getApplication().enqueue(new Callable<Object>() {
|
||||||
|
|
||||||
|
public Object call() throws Exception {
|
||||||
|
setShininess(shininess);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected float getShininess() {
|
||||||
|
if (SceneApplication.getApplication().isOgl()) {
|
||||||
|
Terrain terrain = (Terrain) getTerrain(null);
|
||||||
|
if (terrain == null)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
MatParam param = terrain.getMaterial().getParam("Shininess");
|
||||||
|
if (param != null)
|
||||||
|
return (Float)param.getValue();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
Float shininess = SceneApplication.getApplication().enqueue(new Callable<Float>() {
|
||||||
|
|
||||||
|
public Float call() throws Exception {
|
||||||
|
return getShininess();
|
||||||
|
}
|
||||||
|
}).get();
|
||||||
|
return shininess;
|
||||||
|
} catch (InterruptedException ex) {
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
} catch (ExecutionException ex) {
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setWardIsoEnabled(final boolean enabled) {
|
||||||
|
if (SceneApplication.getApplication().isOgl()) {
|
||||||
|
Terrain terrain = (Terrain) getTerrain(null);
|
||||||
|
if (terrain == null)
|
||||||
|
return;
|
||||||
|
terrain.getMaterial().setBoolean("WardIso", enabled);
|
||||||
|
|
||||||
|
setNeedsSave(true);
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
SceneApplication.getApplication().enqueue(new Callable() {
|
||||||
|
public Object call() throws Exception {
|
||||||
|
setWardIsoEnabled(enabled);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}).get();
|
||||||
|
} catch (InterruptedException ex) {
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
} catch (ExecutionException ex) {
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected boolean isWardIsoEnabled() {
|
||||||
|
if (SceneApplication.getApplication().isOgl()) {
|
||||||
|
Terrain terrain = (Terrain) getTerrain(null);
|
||||||
|
if (terrain == null)
|
||||||
|
return false;
|
||||||
|
MatParam param = terrain.getMaterial().getParam("WardIso");
|
||||||
|
if (param != null)
|
||||||
|
return (Boolean)param.getValue();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
Boolean isEnabled =
|
||||||
|
SceneApplication.getApplication().enqueue(new Callable<Boolean>() {
|
||||||
|
public Boolean call() throws Exception {
|
||||||
|
return isWardIsoEnabled();
|
||||||
|
}
|
||||||
|
}).get();
|
||||||
|
return isEnabled;
|
||||||
|
} catch (InterruptedException ex) {
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
} catch (ExecutionException ex) {
|
||||||
|
Exceptions.printStackTrace(ex);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void propertyChange(PropertyChangeEvent ev) {
|
public void propertyChange(PropertyChangeEvent ev) {
|
||||||
if (ev.getNewValue() == null && ev.getOldValue() != null) {
|
if (ev.getNewValue() == null && ev.getOldValue() != null) {
|
||||||
topComponent.clearTextureTable(); // terrain deleted
|
topComponent.clearTextureTable(); // terrain deleted
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<ResourceString bundle="com/jme3/gde/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.textureFileChooser.approveButtonText_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="com/jme3/gde/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.textureFileChooser.approveButtonText_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="currentDirectory" type="java.io.File" editor="org.netbeans.beaninfo.editors.FileEditor">
|
<Property name="currentDirectory" type="java.io.File" editor="org.netbeans.beaninfo.editors.FileEditor">
|
||||||
<SerializedValue value="-84,-19,0,5,115,114,0,12,106,97,118,97,46,105,111,46,70,105,108,101,4,45,-92,69,14,13,-28,-1,3,0,1,76,0,4,112,97,116,104,116,0,18,76,106,97,118,97,47,108,97,110,103,47,83,116,114,105,110,103,59,120,112,116,0,16,47,65,115,115,101,116,115,47,84,101,120,116,117,114,101,115,119,2,0,47,120"/>
|
<SerializedValue value="-84,-19,0,5,115,114,0,12,106,97,118,97,46,105,111,46,70,105,108,101,4,45,-92,69,14,13,-28,-1,3,0,1,76,0,4,112,97,116,104,116,0,18,76,106,97,118,97,47,108,97,110,103,47,83,116,114,105,110,103,59,120,112,116,0,16,92,65,115,115,101,116,115,92,84,101,120,116,117,114,101,115,119,2,0,92,120"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="dialogTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="dialogTitle" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="com/jme3/gde/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.textureFileChooser.dialogTitle_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="com/jme3/gde/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.textureFileChooser.dialogTitle_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
@ -39,17 +39,29 @@
|
|||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="jPanel1" alignment="0" max="32767" attributes="0"/>
|
<Component id="jScrollPane3" alignment="1" pref="920" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="jPanel1" alignment="0" max="32767" attributes="0"/>
|
<Component id="jScrollPane3" alignment="1" pref="253" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
</Layout>
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane3">
|
||||||
|
<Properties>
|
||||||
|
<Property name="verticalScrollBarPolicy" type="int" value="22"/>
|
||||||
|
</Properties>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
<SubComponents>
|
<SubComponents>
|
||||||
<Container class="javax.swing.JPanel" name="jPanel1">
|
<Container class="javax.swing.JPanel" name="jPanel1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[32767, 300]"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
@ -59,11 +71,14 @@
|
|||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="paintingPanel" max="32767" attributes="0"/>
|
<Component id="paintingPanel" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="terrainOpsPanel" min="-2" max="-2" attributes="0"/>
|
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<Component id="jPanel2" max="32767" attributes="1"/>
|
||||||
|
<Component id="terrainOpsPanel" alignment="0" max="32767" attributes="1"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace pref="20" max="32767" attributes="0"/>
|
||||||
<Component id="hintPanel" max="32767" attributes="0"/>
|
<Component id="hintPanel" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="jToolBar1" alignment="0" pref="891" max="32767" attributes="0"/>
|
<Component id="jToolBar1" alignment="0" pref="901" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
@ -72,10 +87,14 @@
|
|||||||
<Component id="jToolBar1" min="-2" pref="27" max="-2" attributes="0"/>
|
<Component id="jToolBar1" min="-2" pref="27" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="1" attributes="0">
|
<Group type="103" groupAlignment="1" attributes="0">
|
||||||
<Component id="toolSettingsPanel" pref="186" max="32767" attributes="1"/>
|
<Component id="toolSettingsPanel" pref="218" max="32767" attributes="1"/>
|
||||||
<Component id="paintingPanel" max="32767" attributes="1"/>
|
<Component id="paintingPanel" max="32767" attributes="1"/>
|
||||||
<Component id="hintPanel" alignment="1" max="32767" attributes="1"/>
|
<Component id="hintPanel" alignment="1" max="32767" attributes="1"/>
|
||||||
<Component id="terrainOpsPanel" alignment="1" max="32767" attributes="1"/>
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Component id="terrainOpsPanel" min="-2" max="-2" attributes="1"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jPanel2" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
@ -96,12 +115,12 @@
|
|||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="jScrollPane1" alignment="0" pref="139" max="32767" attributes="0"/>
|
<Component id="jScrollPane1" alignment="0" pref="147" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="jScrollPane1" alignment="0" pref="158" max="32767" attributes="0"/>
|
<Component id="jScrollPane1" alignment="0" pref="191" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
</Layout>
|
</Layout>
|
||||||
@ -203,7 +222,7 @@
|
|||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="1" attributes="0">
|
<Group type="102" alignment="1" attributes="0">
|
||||||
<Component id="jScrollPane2" pref="291" max="32767" attributes="0"/>
|
<Component id="jScrollPane2" pref="303" max="32767" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="1" max="-2" attributes="0">
|
<Group type="103" groupAlignment="1" max="-2" attributes="0">
|
||||||
<Component id="removeTextureButton" min="0" pref="0" max="32767" attributes="1"/>
|
<Component id="removeTextureButton" min="0" pref="0" max="32767" attributes="1"/>
|
||||||
@ -214,7 +233,7 @@
|
|||||||
<Component id="remainingTexTitleLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="remainingTexTitleLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="remainingTexturesLabel" min="-2" pref="24" max="-2" attributes="0"/>
|
<Component id="remainingTexturesLabel" min="-2" pref="24" max="-2" attributes="0"/>
|
||||||
<EmptySpace pref="19" max="32767" attributes="0"/>
|
<EmptySpace pref="106" max="32767" attributes="0"/>
|
||||||
<Component id="triPlanarCheckBox" min="-2" max="-2" attributes="0"/>
|
<Component id="triPlanarCheckBox" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
@ -231,7 +250,7 @@
|
|||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="removeTextureButton" min="-2" max="-2" attributes="0"/>
|
<Component id="removeTextureButton" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="jScrollPane2" pref="131" max="32767" attributes="0"/>
|
<Component id="jScrollPane2" pref="166" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
@ -364,7 +383,7 @@
|
|||||||
<Component id="genEntropiesButton" min="-2" max="-2" attributes="1"/>
|
<Component id="genEntropiesButton" min="-2" max="-2" attributes="1"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
|
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace pref="96" max="32767" attributes="0"/>
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -577,6 +596,90 @@
|
|||||||
</Component>
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</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="Material">
|
||||||
|
<ResourceString PropertyName="titleX" bundle="com/jme3/gde/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.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">
|
||||||
|
<Group type="102" attributes="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" attributes="0">
|
||||||
|
<Component id="shininessField" min="-2" pref="41" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jLabel1" min="-2" pref="60" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="24" max="-2" attributes="0"/>
|
||||||
|
<Component id="wardIsoCheckBox" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace pref="51" max="32767" 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"/>
|
||||||
|
<Component id="wardIsoCheckBox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="shininessField" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace pref="43" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="wardIsoCheckBox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="com/jme3/gde/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.wardIsoCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="wardIsoCheckBoxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JTextField" name="shininessField">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="com/jme3/gde/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.shininessField.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/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.shininessField.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
|
<Connection code="new ShininessVerifier()" type="code"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="shininessFieldActionPerformed"/>
|
||||||
|
<EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="shininessFieldKeyTyped"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<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/terraineditor/Bundle.properties" key="TerrainEditorTopComponent.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
|
@ -64,6 +64,7 @@ import com.jme3.texture.Texture;
|
|||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -75,7 +76,9 @@ import javax.swing.AbstractCellEditor;
|
|||||||
import javax.swing.DefaultListSelectionModel;
|
import javax.swing.DefaultListSelectionModel;
|
||||||
import javax.swing.Icon;
|
import javax.swing.Icon;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.InputVerifier;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
import javax.swing.ListSelectionModel;
|
import javax.swing.ListSelectionModel;
|
||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
@ -207,6 +210,7 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
|
|
||||||
terrainModButtonGroup = new ToggleButtonGroup();
|
terrainModButtonGroup = new ToggleButtonGroup();
|
||||||
textureFileChooser = new javax.swing.JFileChooser();
|
textureFileChooser = new javax.swing.JFileChooser();
|
||||||
|
jScrollPane3 = new javax.swing.JScrollPane();
|
||||||
jPanel1 = new javax.swing.JPanel();
|
jPanel1 = new javax.swing.JPanel();
|
||||||
hintPanel = new javax.swing.JPanel();
|
hintPanel = new javax.swing.JPanel();
|
||||||
jScrollPane1 = new javax.swing.JScrollPane();
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
@ -238,12 +242,20 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
jSeparator2 = new javax.swing.JToolBar.Separator();
|
jSeparator2 = new javax.swing.JToolBar.Separator();
|
||||||
paintButton = new javax.swing.JToggleButton();
|
paintButton = new javax.swing.JToggleButton();
|
||||||
eraseButton = new javax.swing.JToggleButton();
|
eraseButton = new javax.swing.JToggleButton();
|
||||||
|
jPanel2 = new javax.swing.JPanel();
|
||||||
|
wardIsoCheckBox = new javax.swing.JCheckBox();
|
||||||
|
shininessField = new javax.swing.JTextField();
|
||||||
|
jLabel1 = new javax.swing.JLabel();
|
||||||
|
|
||||||
textureFileChooser.setApproveButtonText(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.textureFileChooser.approveButtonText_1")); // NOI18N
|
textureFileChooser.setApproveButtonText(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.textureFileChooser.approveButtonText_1")); // NOI18N
|
||||||
textureFileChooser.setCurrentDirectory(new java.io.File("/Assets/Textures"));
|
textureFileChooser.setCurrentDirectory(new java.io.File("C:\\Assets\\Textures"));
|
||||||
textureFileChooser.setDialogTitle(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.textureFileChooser.dialogTitle_1")); // NOI18N
|
textureFileChooser.setDialogTitle(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.textureFileChooser.dialogTitle_1")); // NOI18N
|
||||||
textureFileChooser.setFileFilter(new ImageFilter());
|
textureFileChooser.setFileFilter(new ImageFilter());
|
||||||
|
|
||||||
|
jScrollPane3.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
||||||
|
|
||||||
|
jPanel1.setMaximumSize(new java.awt.Dimension(32767, 300));
|
||||||
|
|
||||||
hintPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.hintPanel.border.title"))); // NOI18N
|
hintPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.hintPanel.border.title"))); // NOI18N
|
||||||
|
|
||||||
hintTextArea.setColumns(20);
|
hintTextArea.setColumns(20);
|
||||||
@ -260,11 +272,11 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
hintPanel.setLayout(hintPanelLayout);
|
hintPanel.setLayout(hintPanelLayout);
|
||||||
hintPanelLayout.setHorizontalGroup(
|
hintPanelLayout.setHorizontalGroup(
|
||||||
hintPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
hintPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 139, Short.MAX_VALUE)
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 147, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
hintPanelLayout.setVerticalGroup(
|
hintPanelLayout.setVerticalGroup(
|
||||||
hintPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
hintPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 158, Short.MAX_VALUE)
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
|
|
||||||
toolSettingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.toolSettingsPanel.border.title"))); // NOI18N
|
toolSettingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.toolSettingsPanel.border.title"))); // NOI18N
|
||||||
@ -348,7 +360,7 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
.addGroup(paintingPanelLayout.createSequentialGroup()
|
.addGroup(paintingPanelLayout.createSequentialGroup()
|
||||||
.addGroup(paintingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(paintingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, paintingPanelLayout.createSequentialGroup()
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, paintingPanelLayout.createSequentialGroup()
|
||||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 291, Short.MAX_VALUE)
|
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 303, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addGroup(paintingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
.addGroup(paintingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||||
.addComponent(removeTextureButton, 0, 0, Short.MAX_VALUE)
|
.addComponent(removeTextureButton, 0, 0, Short.MAX_VALUE)
|
||||||
@ -357,7 +369,7 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
.addComponent(remainingTexTitleLabel)
|
.addComponent(remainingTexTitleLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(remainingTexturesLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(remainingTexturesLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 19, Short.MAX_VALUE)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 106, Short.MAX_VALUE)
|
||||||
.addComponent(triPlanarCheckBox)))
|
.addComponent(triPlanarCheckBox)))
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
@ -369,7 +381,7 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
.addComponent(addTextureButton)
|
.addComponent(addTextureButton)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(removeTextureButton))
|
.addComponent(removeTextureButton))
|
||||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 131, Short.MAX_VALUE))
|
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 166, Short.MAX_VALUE))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(paintingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(paintingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(remainingTexTitleLabel)
|
.addComponent(remainingTexTitleLabel)
|
||||||
@ -410,7 +422,7 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
.addComponent(genEntropiesButton)
|
.addComponent(genEntropiesButton)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(jButton1)
|
.addComponent(jButton1)
|
||||||
.addContainerGap(96, Short.MAX_VALUE))
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
|
|
||||||
jToolBar1.setFloatable(false);
|
jToolBar1.setFloatable(false);
|
||||||
@ -514,6 +526,58 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
});
|
});
|
||||||
jToolBar1.add(eraseButton);
|
jToolBar1.add(eraseButton);
|
||||||
|
|
||||||
|
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.jPanel2.border.title"))); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(wardIsoCheckBox, org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.wardIsoCheckBox.text")); // NOI18N
|
||||||
|
wardIsoCheckBox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
wardIsoCheckBoxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
shininessField.setText(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.shininessField.text")); // NOI18N
|
||||||
|
shininessField.setToolTipText(org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.shininessField.toolTipText")); // NOI18N
|
||||||
|
shininessField.setInputVerifier(new ShininessVerifier());
|
||||||
|
shininessField.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
shininessFieldActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
shininessField.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||||
|
public void keyTyped(java.awt.event.KeyEvent evt) {
|
||||||
|
shininessFieldKeyTyped(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(TerrainEditorTopComponent.class, "TerrainEditorTopComponent.jLabel1.text")); // NOI18N
|
||||||
|
|
||||||
|
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
|
||||||
|
jPanel2.setLayout(jPanel2Layout);
|
||||||
|
jPanel2Layout.setHorizontalGroup(
|
||||||
|
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||||
|
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||||
|
.addComponent(shininessField, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
|
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||||
|
.addGap(24, 24, 24)
|
||||||
|
.addComponent(wardIsoCheckBox)))
|
||||||
|
.addContainerGap(51, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
jPanel2Layout.setVerticalGroup(
|
||||||
|
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(wardIsoCheckBox)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
|
.addComponent(shininessField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addComponent(jLabel1))
|
||||||
|
.addContainerGap(43, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
||||||
jPanel1.setLayout(jPanel1Layout);
|
jPanel1.setLayout(jPanel1Layout);
|
||||||
jPanel1Layout.setHorizontalGroup(
|
jPanel1Layout.setHorizontalGroup(
|
||||||
@ -523,10 +587,12 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(paintingPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(paintingPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(terrainOpsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addComponent(terrainOpsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
|
||||||
.addComponent(hintPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
.addComponent(hintPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
.addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 891, Short.MAX_VALUE)
|
.addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 901, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
jPanel1Layout.setVerticalGroup(
|
jPanel1Layout.setVerticalGroup(
|
||||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
@ -534,21 +600,26 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
.addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||||
.addComponent(toolSettingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 186, Short.MAX_VALUE)
|
.addComponent(toolSettingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 218, Short.MAX_VALUE)
|
||||||
.addComponent(paintingPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(paintingPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addComponent(hintPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(hintPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addComponent(terrainOpsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
|
||||||
|
.addComponent(terrainOpsPanel, 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))))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
jScrollPane3.setViewportView(jPanel1);
|
||||||
|
|
||||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
this.setLayout(layout);
|
this.setLayout(layout);
|
||||||
layout.setHorizontalGroup(
|
layout.setHorizontalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 920, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 253, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
@ -695,6 +766,28 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
setHintText((TerrainTool) null);
|
setHintText((TerrainTool) null);
|
||||||
}
|
}
|
||||||
}//GEN-LAST:event_smoothTerrainButtonActionPerformed
|
}//GEN-LAST:event_smoothTerrainButtonActionPerformed
|
||||||
|
|
||||||
|
private void shininessFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shininessFieldActionPerformed
|
||||||
|
try {
|
||||||
|
Float f = new Float(shininessField.getText());
|
||||||
|
editorController.setShininess(Math.max(0, f));
|
||||||
|
} catch (Exception e) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}//GEN-LAST:event_shininessFieldActionPerformed
|
||||||
|
|
||||||
|
private void wardIsoCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wardIsoCheckBoxActionPerformed
|
||||||
|
editorController.setWardIsoEnabled(wardIsoCheckBox.isSelected());
|
||||||
|
}//GEN-LAST:event_wardIsoCheckBoxActionPerformed
|
||||||
|
|
||||||
|
private void shininessFieldKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_shininessFieldKeyTyped
|
||||||
|
if (KeyEvent.VK_ENTER == evt.getKeyCode() ||
|
||||||
|
KeyEvent.VK_TAB == evt.getKeyCode() ){
|
||||||
|
shininessFieldActionPerformed(null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_shininessFieldKeyTyped
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JButton addTextureButton;
|
private javax.swing.JButton addTextureButton;
|
||||||
private javax.swing.JButton createTerrainButton;
|
private javax.swing.JButton createTerrainButton;
|
||||||
@ -705,9 +798,12 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
private javax.swing.JPanel hintPanel;
|
private javax.swing.JPanel hintPanel;
|
||||||
private javax.swing.JTextArea hintTextArea;
|
private javax.swing.JTextArea hintTextArea;
|
||||||
private javax.swing.JButton jButton1;
|
private javax.swing.JButton jButton1;
|
||||||
|
private javax.swing.JLabel jLabel1;
|
||||||
private javax.swing.JPanel jPanel1;
|
private javax.swing.JPanel jPanel1;
|
||||||
|
private javax.swing.JPanel jPanel2;
|
||||||
private javax.swing.JScrollPane jScrollPane1;
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
private javax.swing.JScrollPane jScrollPane2;
|
private javax.swing.JScrollPane jScrollPane2;
|
||||||
|
private javax.swing.JScrollPane jScrollPane3;
|
||||||
private javax.swing.JToolBar.Separator jSeparator1;
|
private javax.swing.JToolBar.Separator jSeparator1;
|
||||||
private javax.swing.JToolBar.Separator jSeparator2;
|
private javax.swing.JToolBar.Separator jSeparator2;
|
||||||
private javax.swing.JToolBar jToolBar1;
|
private javax.swing.JToolBar jToolBar1;
|
||||||
@ -722,6 +818,7 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
private javax.swing.JLabel remainingTexturesLabel;
|
private javax.swing.JLabel remainingTexturesLabel;
|
||||||
private javax.swing.JButton removeTextureButton;
|
private javax.swing.JButton removeTextureButton;
|
||||||
private javax.swing.JToggleButton roughTerrainButton;
|
private javax.swing.JToggleButton roughTerrainButton;
|
||||||
|
private javax.swing.JTextField shininessField;
|
||||||
private javax.swing.JToggleButton smoothTerrainButton;
|
private javax.swing.JToggleButton smoothTerrainButton;
|
||||||
private javax.swing.ButtonGroup terrainModButtonGroup;
|
private javax.swing.ButtonGroup terrainModButtonGroup;
|
||||||
private javax.swing.JPanel terrainOpsPanel;
|
private javax.swing.JPanel terrainOpsPanel;
|
||||||
@ -729,8 +826,27 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
private javax.swing.JTable textureTable;
|
private javax.swing.JTable textureTable;
|
||||||
private javax.swing.JPanel toolSettingsPanel;
|
private javax.swing.JPanel toolSettingsPanel;
|
||||||
private javax.swing.JCheckBox triPlanarCheckBox;
|
private javax.swing.JCheckBox triPlanarCheckBox;
|
||||||
|
private javax.swing.JCheckBox wardIsoCheckBox;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
|
private class ShininessVerifier extends InputVerifier {
|
||||||
|
@Override
|
||||||
|
public boolean verify(JComponent input) {
|
||||||
|
if (input instanceof javax.swing.JTextField) {
|
||||||
|
String text = ((javax.swing.JTextField)input).getText();
|
||||||
|
try {
|
||||||
|
Float f = new Float(text);
|
||||||
|
if (f > 0)
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets default instance. Do not use directly: reserved for *.settings files only,
|
* Gets default instance. Do not use directly: reserved for *.settings files only,
|
||||||
* i.e. deserialization routines; otherwise you could get a non-deserialized instance.
|
* i.e. deserialization routines; otherwise you could get a non-deserialized instance.
|
||||||
@ -1147,6 +1263,8 @@ public final class TerrainEditorTopComponent extends TopComponent implements Sce
|
|||||||
|
|
||||||
editorController.enableTextureButtons();
|
editorController.enableTextureButtons();
|
||||||
triPlanarCheckBox.setSelected(editorController.isTriPlanarEnabled());
|
triPlanarCheckBox.setSelected(editorController.isTriPlanarEnabled());
|
||||||
|
wardIsoCheckBox.setSelected(editorController.isWardIsoEnabled());
|
||||||
|
shininessField.setText(""+editorController.getShininess());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void clearTextureTable() {
|
protected void clearTextureTable() {
|
||||||
|
@ -51,8 +51,6 @@ disabled.modules=\
|
|||||||
org.netbeans.modules.jellytools,\
|
org.netbeans.modules.jellytools,\
|
||||||
org.netbeans.modules.jellytools.ide,\
|
org.netbeans.modules.jellytools.ide,\
|
||||||
org.netbeans.modules.jellytools.java,\
|
org.netbeans.modules.jellytools.java,\
|
||||||
org.netbeans.modules.jellytools.platform,\
|
|
||||||
org.netbeans.modules.jemmy,\
|
|
||||||
org.netbeans.modules.maven,\
|
org.netbeans.modules.maven,\
|
||||||
org.netbeans.modules.maven.coverage,\
|
org.netbeans.modules.maven.coverage,\
|
||||||
org.netbeans.modules.maven.embedder,\
|
org.netbeans.modules.maven.embedder,\
|
||||||
|
Loading…
x
Reference in New Issue
Block a user