From ce80432d421dfc44e408260941e0e78d274039c7 Mon Sep 17 00:00:00 2001 From: "nor..67" Date: Tue, 17 Jan 2012 17:02:12 +0000 Subject: [PATCH] SDK: - add percentage progress to "generate terrain entropies" (broken?) git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9085 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../tools/GenerateTerrainEntropiesAction.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/sdk/jme3-terrain-editor/src/com/jme3/gde/terraineditor/tools/GenerateTerrainEntropiesAction.java b/sdk/jme3-terrain-editor/src/com/jme3/gde/terraineditor/tools/GenerateTerrainEntropiesAction.java index 1c43d256e..787676a89 100644 --- a/sdk/jme3-terrain-editor/src/com/jme3/gde/terraineditor/tools/GenerateTerrainEntropiesAction.java +++ b/sdk/jme3-terrain-editor/src/com/jme3/gde/terraineditor/tools/GenerateTerrainEntropiesAction.java @@ -9,6 +9,7 @@ import com.jme3.gde.core.sceneexplorer.nodes.JmeTerrainQuad; import com.jme3.gde.core.sceneexplorer.nodes.actions.AbstractToolAction; import com.jme3.gde.core.sceneexplorer.nodes.actions.ToolAction; import com.jme3.scene.Node; +import com.jme3.terrain.ProgressMonitor; import com.jme3.terrain.geomipmap.TerrainQuad; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressHandleFactory; @@ -27,11 +28,33 @@ public class GenerateTerrainEntropiesAction extends AbstractToolAction { @Override protected Object doApplyTool(AbstractSceneExplorerNode rootNode) { Node terrain = rootNode.getLookup().lookup(Node.class); - ProgressHandle progressHandle = ProgressHandleFactory.createHandle("Generating Entropies"); + final ProgressHandle progressHandle = ProgressHandleFactory.createHandle("Generating Terrain Entropies"); progressHandle.start(); try { if (terrain instanceof TerrainQuad) { // it should be terrain anyways - ((TerrainQuad) terrain).generateEntropy(null); //TODO hook up to progress monitor + ((TerrainQuad) terrain).generateEntropy(new ProgressMonitor() { + + private float progress = 0; + private float max = 0; + + public void incrementProgress(float f) { + progress += f; + progressHandle.progress((int) progress); + } + + public void setMonitorMax(float f) { + max = f; + progressHandle.switchToDeterminate((int) (f)); + } + + public float getMonitorMax() { + return max; + } + + public void progressComplete() { + progressHandle.finish(); + } + }); } } finally { progressHandle.finish();