From: <bma...@us...> - 2015-04-20 09:44:43
|
Revision: 9114 http://sourceforge.net/p/fudaa/svn/9114 Author: bmarchan Date: 2015-04-20 09:44:41 +0000 (Mon, 20 Apr 2015) Log Message: ----------- Nouveaux outils Deplacement et rotation. Modified Paths: -------------- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFille2d.java trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivShow3DTransectAction.java trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectLayer.java Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFille2d.java =================================================================== --- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFille2d.java 2015-04-20 09:14:18 UTC (rev 9113) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFille2d.java 2015-04-20 09:44:41 UTC (rev 9114) @@ -40,7 +40,7 @@ JComponent[] cmps=getVisuPanel().getSpecificTools(); JComponent[] tools=new JComponent[cmps.length+superCmps.length]; System.arraycopy(superCmps, 0, tools, 0, superCmps.length); - System.arraycopy(cmps, 0, tools, superCmps.length-1, cmps.length); + System.arraycopy(cmps, 0, tools, superCmps.length, cmps.length); return tools; } 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 2015-04-20 09:14:18 UTC (rev 9113) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-04-20 09:44:41 UTC (rev 9114) @@ -25,8 +25,10 @@ import javax.imageio.ImageReader; import javax.swing.AbstractButton; import javax.swing.ButtonGroup; +import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JFrame; +import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import javax.swing.TransferHandler; @@ -696,11 +698,22 @@ mr.setResource(PivResource.PIV); } + // Le menu Editer + BuMenu mn= (BuMenu)mb.getMenu("MENU_EDITION"); + int idx=mn.indexOf("COPIER"); + // Au cas ou... + if (idx==-1) + idx=mn.getComponentCount(); + mn.add(get2dFrame().getVisuPanel().getEditAction().buildMenuItem(EbliComponentFactory.INSTANCE),idx++); + mn.add(get2dFrame().getVisuPanel().getDeplacementAction().buildMenuItem(EbliComponentFactory.INSTANCE),idx++); + mn.add(get2dFrame().getVisuPanel().getRotationAction().buildMenuItem(EbliComponentFactory.INSTANCE),idx++); + mn.insertSeparator(idx++); + // les menus exporter et importer sont construit dynamiquement // buildImportMenu(); setEnabledForAction("IMPORTER", false); buildExportMenu(); - BuMenu mn=buildPivMenu(); + mn=buildPivMenu(); mb.addMenu(mn); } @@ -808,7 +821,7 @@ mn.add(sm); mn.add(get2dFrame().getVisuPanel().getRealView().getParamsTransectAction().buildMenuItem(EbliComponentFactory.INSTANCE)); mn.add(new PivComputeFlowAction(this)); - mn.add(get2dFrame().getVisuPanel().getShowFlowAction().buildMenuItem(EbliComponentFactory.INSTANCE)); +// mn.add(get2dFrame().getVisuPanel().getShowFlowAction().buildMenuItem(EbliComponentFactory.INSTANCE)); mn.add(new PivShow3DTransectAction(this)); mn.addSeparator(PivResource.getS("Vue")); @@ -822,8 +835,6 @@ mn.add(itOriginalView); mn.add(itRealView); mn.add(itTransfView); - mn.addSeparator(); - mn.add(get2dFrame().getVisuPanel().getEditAction()); mn.setVisible(true); return mn; 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 2015-04-20 09:14:18 UTC (rev 9113) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2015-04-20 09:44:41 UTC (rev 9114) @@ -8,6 +8,7 @@ package org.fudaa.fudaa.piv; import java.awt.Color; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -15,18 +16,22 @@ import javax.swing.Action; import javax.swing.JComponent; import javax.swing.JMenu; +import javax.swing.SwingUtilities; 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.action.SceneDeplacementAction; +import org.fudaa.ebli.calque.action.SceneRotationAction; import org.fudaa.ebli.calque.edition.ZCalqueEditable; 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.EbliComponentFactory; import org.fudaa.ebli.commun.EbliUIProperties; import org.fudaa.ebli.trace.TraceIcon; import org.fudaa.ebli.trace.TraceIconModel; @@ -121,6 +126,8 @@ private PivShowVelocityAction actShowVelocities_; private PivShowFlowAction actShowFlow_; private PivEditAction actEdit_; + private SceneRotationAction actRotation_; + private SceneDeplacementAction actDeplacement_; /** * Construction des calques. Une partie est d\xE9j\xE0 construite par d\xE9faut dans @@ -272,9 +279,8 @@ actShowFlow_=new PivShowFlowAction((PivImplementation)getCtuluUI()); actEdit_=new PivEditAction(this); getScene().addSelectionListener(actEdit_); - // Les actions affich\xE9es dans le menu contextuel. - getEditor().getSceneEditor().setActions(new EbliActionInterface[]{actEdit_,null}); + getEditor().getSceneEditor().setActions(new EbliActionInterface[]{actEdit_}); } /** @@ -349,6 +355,50 @@ return actEdit_; } + public SceneRotationAction getRotationAction() { + if (actRotation_==null) { + actRotation_=new SceneRotationAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_, gisEditor_.getSceneEditor(),getEbliFormatter()) { + + /** + * Surchag\xE9 pour d\xE9finir le desktop au moment de l'affichage. + */ + @Override + public void showWindow() { + // Necessaire, sinon la palette est visualis\xE9e en externe. Ne peut \xEAtre fait avant, car le desktop n'est pas + // encore existant. + BuDesktop desk=(BuDesktop)SwingUtilities.getAncestorOfClass(BuDesktop.class,PivVisuPanel.this); + if (desk!=null) + setDesktop(desk); + super.showWindow(); + } + }; + } + + return actRotation_; + } + + public SceneDeplacementAction getDeplacementAction() { + if (actDeplacement_==null) { + actDeplacement_=new SceneDeplacementAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_, getEbliFormatter(), null) { + + /** + * Surchag\xE9 pour d\xE9finir le desktop au moment de l'affichage. + */ + @Override + public void showWindow() { + // Necessaire, sinon la palette est visualis\xE9e en externe. Ne peut \xEAtre fait avant, car le desktop n'est pas + // encore existant. + BuDesktop desk=(BuDesktop)SwingUtilities.getAncestorOfClass(BuDesktop.class,PivVisuPanel.this); + if (desk!=null) + setDesktop(desk); + super.showWindow(); + } + }; + } + + return actDeplacement_; + } + /** * @return Le calque d'edition de formes. */ @@ -483,10 +533,27 @@ return new EbliActionInterface[0]; } + AbstractButton btRotation_; + AbstractButton btDeplacement_; + + /** + * @return Les actions sp\xE9cifiques de la vue affich\xE9es dans la barre d'actions. + */ public JComponent[] getSpecificTools() { BuDesktop desk=((PivImplementation)getCtuluUI()).getMainPanel().getDesktop(); - JComponent[] cps=getCurrentView().getSpecificTools(); + JComponent[] cpsView=getCurrentView().getSpecificTools(); + JComponent[] cps=new JComponent[cpsView.length+2]; + System.arraycopy(cpsView, 0, cps, 2, cpsView.length); + + if (btRotation_==null) + btRotation_=getRotationAction().buildToolButton(EbliComponentFactory.INSTANCE); + if (btDeplacement_==null) + btDeplacement_=getDeplacementAction().buildToolButton(EbliComponentFactory.INSTANCE); + + cps[0]=btRotation_; + cps[1]=btDeplacement_; + for (JComponent cp : cps) { if (cp instanceof AbstractButton) { AbstractButton bt=(AbstractButton)cp; Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivShow3DTransectAction.java =================================================================== --- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivShow3DTransectAction.java 2015-04-20 09:14:18 UTC (rev 9113) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivShow3DTransectAction.java 2015-04-20 09:44:41 UTC (rev 9114) @@ -30,7 +30,7 @@ PivShow3DTransectPanel pn; public PivShow3DTransectAction(PivImplementation _impl) { - super(PivResource.getS("Graphe 3D du(des) transect(s)..."), null, "SHOW_3D_GRAPH_TRANS"); + super(PivResource.getS("Vue 3D du(des) transect(s)..."), null, "SHOW_3D_GRAPH_TRANS"); impl=_impl; _impl.get2dFrame().getVisuPanel().getScene().addSelectionListener(this); Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectLayer.java =================================================================== --- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectLayer.java 2015-04-20 09:14:18 UTC (rev 9113) +++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectLayer.java 2015-04-20 09:44:41 UTC (rev 9114) @@ -3,7 +3,6 @@ import java.awt.Graphics2D; import org.fudaa.ebli.calque.edition.ZCalqueLigneBriseeEditable; -import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.geometrie.GrMorphisme; import org.fudaa.ebli.geometrie.GrPoint; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |