|
From: <bma...@us...> - 2011-12-04 18:30:33
|
Revision: 6781
http://fudaa.svn.sourceforge.net/fudaa/?rev=6781&view=rev
Author: bmarchan
Date: 2011-12-04 18:30:26 +0000 (Sun, 04 Dec 2011)
Log Message:
-----------
Add : Bouton d'animation pour les r?\195?\169sultats
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2011-12-04 18:23:09 UTC (rev 6780)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2011-12-04 18:30:26 UTC (rev 6781)
@@ -851,6 +851,44 @@
*/
@Override
public void start() {
+// ((JFrame)getFrame()).setTransferHandler(new TransferHandler() {
+//
+// @Override
+// public boolean canImport(TransferSupport support) {
+// for (DataFlavor df : support.getDataFlavors()) {
+// if (df.equals(DataFlavor.javaFileListFlavor)) {
+// return true;
+// }
+// }
+// return false;
+// }
+//
+// /**
+// * L'importation de donn\xE9es.
+// */
+// @Override
+// public boolean importData(TransferSupport support) {
+// if (canImport(support)) {
+// try {
+// List<File> files = (List<File>) support.getTransferable().getTransferData(DataFlavor.javaFileListFlavor);
+// if (files.size() > 1) {
+// error(PivResource.getS("Un seul fichier projet est autoris\xE9 pour le transfert"));
+// return false;
+// }
+// ouvrir(files.get(0));
+// return true;
+// }
+// catch (UnsupportedFlavorException ufe) {
+// ufe.printStackTrace();
+// }
+// catch (IOException ioe) {
+// ioe.printStackTrace();
+// }
+// }
+// return false;
+// }
+// });
+
super.start();
super.addFrameListLeft();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2011-12-04 18:23:09 UTC (rev 6780)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2011-12-04 18:30:26 UTC (rev 6781)
@@ -15,16 +15,20 @@
import java.util.List;
import java.util.Map;
+import javax.swing.AbstractButton;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.units.SI;
+import org.fudaa.ebli.animation.EbliAnimationAction;
+import org.fudaa.ebli.animation.EbliAnimationAdapterInterface;
import org.fudaa.ebli.calque.BCalqueAffichage;
import org.fudaa.ebli.calque.ZCalqueFleche;
import org.fudaa.ebli.calque.dessin.DeForme;
import org.fudaa.ebli.calque.edition.ZCalqueLigneBriseeEditable;
import org.fudaa.ebli.calque.edition.ZCalqueMultiPointEditable;
import org.fudaa.ebli.commun.EbliActionAbstract;
+import org.fudaa.ebli.commun.EbliComponentFactory;
import org.fudaa.ebli.commun.EbliCoordinateDefinition;
import org.fudaa.ebli.commun.EbliFormatter;
import org.fudaa.ebli.commun.EbliUIProperties;
@@ -71,6 +75,8 @@
private BuComboBox cbImg_;
private BuTransparentToggleButton btLock_;
private BuComboBox cbVel_;
+ private EbliAnimationAction actAnim_;
+ private AbstractButton btAnim_;
private PivProject prj_;
private List<BCalqueAffichage> layers_=new ArrayList<BCalqueAffichage>();
@@ -94,6 +100,37 @@
PivFlowResultsModel mdlFlowResults;
PivInstantVelResultsModel mdlInstantVelResults;
+ /**
+ * Une classe de d\xE9finition de la s\xE9quence d'animation.
+ * @author Bertrand Marchand (mar...@de...)
+ */
+ class SequenceAnimationAdapter implements EbliAnimationAdapterInterface {
+
+ @Override
+ public int getNbTimeStep() {
+ return prj_.getTransfImageFiles().length;
+ }
+
+ @Override
+ public String getTimeStep(int _idx) {
+ return prj_.getTransfImageFiles()[_idx].getName();
+ }
+
+ @Override
+ public double getTimeStepValueSec(int _idx) {
+ return _idx;
+ }
+
+ @Override
+ public void setTimeStep(int _idx) {
+ cbImg_.setSelectedIndex(_idx);
+ }
+
+ @Override
+ public String getTitle() {
+ return cqInstantVelResults_.getTitle();
+ }
+ }
/**
* Constructeur.
@@ -289,6 +326,11 @@
* Construction des outils sp\xE9cifiques \xE0 cette vue.
*/
private void buildTools() {
+ // Le bouton d'animation
+ actAnim_=new EbliAnimationAction(pnLayers_.createAnimSource());
+ btAnim_=actAnim_.buildToolButton(EbliComponentFactory.INSTANCE);
+ btAnim_.setEnabled(true);
+
// La liste d\xE9roulante des images
cbImg_ = new BuComboBox();
cbImg_.addItemListener(new ItemListener() {
@@ -364,6 +406,9 @@
* Mise a jour les outils.
*/
private void majTools() {
+ // Force la mise a jour du composant d'animation
+ actAnim_.setAnimAdapterInterface(new SequenceAnimationAdapter());
+
Object itImgSel=cbImg_.getSelectedItem();
cbImg_.removeAllItems();
cbImg_.setEnabled(false);
@@ -436,7 +481,7 @@
@Override
public JComponent[] getSpecificTools() {
- return new JComponent[]{cbImg_,btLock_,cbVel_};
+ return new JComponent[]{btAnim_,cbImg_,btLock_,cbVel_};
}
@Override
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2011-12-04 18:23:09 UTC (rev 6780)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2011-12-04 18:30:26 UTC (rev 6781)
@@ -11,18 +11,20 @@
import java.util.HashMap;
import java.util.Map;
+import javax.swing.AbstractButton;
import javax.swing.Action;
import javax.swing.JComponent;
import javax.swing.JMenu;
import org.fudaa.ctulu.gis.GISAttributeDouble;
import org.fudaa.ctulu.gis.GISAttributeString;
+import org.fudaa.ebli.animation.EbliAnimationSourceInterface;
import org.fudaa.ebli.calque.BCalqueAffichage;
import org.fudaa.ebli.calque.ZEbliCalquesPanel;
import org.fudaa.ebli.calque.edition.ZCalqueEditionInteraction;
-import org.fudaa.ebli.calque.edition.ZEditorDefault;
import org.fudaa.ebli.commun.EbliActionAbstract;
import org.fudaa.ebli.commun.EbliActionInterface;
+import org.fudaa.ebli.commun.EbliActionPaletteAbstract;
import org.fudaa.ebli.commun.EbliUIProperties;
import org.fudaa.ebli.trace.TraceIcon;
import org.fudaa.ebli.trace.TraceIconModel;
@@ -36,6 +38,7 @@
import org.fudaa.fudaa.piv.action.PivShowVelocityAction;
import org.fudaa.fudaa.piv.metier.PivProject;
+import com.memoire.bu.BuDesktop;
import com.memoire.bu.BuSpecificBar;
/**
@@ -302,6 +305,14 @@
return cqEdition_;
}
+ /**
+ * Cr\xE9e un source pour l'animation.
+ * @return La source
+ */
+ public EbliAnimationSourceInterface createAnimSource() {
+ return new AnimAdapter();
+ }
+
protected PivViewI getCurrentView() {
return getViews()[viewMode_];
}
@@ -439,7 +450,18 @@
}
public JComponent[] getSpecificTools() {
- return getCurrentView().getSpecificTools();
+ BuDesktop desk=((PivImplementation)getCtuluUI()).getMainPanel().getDesktop();
+
+ JComponent[] cps=getCurrentView().getSpecificTools();
+ for (JComponent cp : cps) {
+ if (cp instanceof AbstractButton) {
+ AbstractButton bt=(AbstractButton)cp;
+ if (bt.getAction() instanceof EbliActionPaletteAbstract) {
+ ((EbliActionPaletteAbstract)bt.getAction()).setDesktop(desk);
+ }
+ }
+ }
+ return cps;
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|