From: <bma...@us...> - 2009-01-07 18:22:18
|
Revision: 4330 http://fudaa.svn.sourceforge.net/fudaa/?rev=4330&view=rev Author: bmarchan Date: 2009-01-07 18:22:13 +0000 (Wed, 07 Jan 2009) Log Message: ----------- Notification de l'appli que les Data ou UI 1D ont ?\195?\169t?\195?\169 modifi?\195?\169s. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -190,6 +190,13 @@ } /** + * @return La vue 1D, ou null si inexistante. + */ + public MdlFille1d get1dFrame() { + return mdl1dFrame_; + } + + /** * @return La vue 2D, ou null si inexistante. */ public MdlFille2d get2dFrame() { @@ -419,6 +426,8 @@ try { addInternalFrame(mdl2dFrame_); + if (swingRun != null) swingRun.run(); + // Met a jour la fenetre 1d FudaaSaveZipLoader loader=null; try { @@ -431,8 +440,6 @@ try { loader.close(); } catch (IOException _exc) {} } } - - if (swingRun != null) swingRun.run(); // le projet a ete install\xE9: on enl\xE8ve les flag de modification project_.setOpening(false); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -100,6 +100,7 @@ public void install(MdlImplementation _impl) { _impl.get2dFrame().getArbreCalqueModel().getObservable().addObserver(this); + _impl.get1dFrame().getController().getVueBief().getArbreCalqueModel().getObservable().addObserver(this); state_.addListener(new FudaaProjectStateFrameListener(_impl.getFrame(), this)); state_.addListener(_impl); state_.clearStates(); @@ -116,7 +117,10 @@ public void update(Observable _o, Object _arg) { if (opening_ || !isInstalled_) return; - state_.setParamModified(true); + if ((_arg instanceof String) && ((String)_arg).equals("UI")) + state_.setUiModified(true); + else + state_.setParamModified(true); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -58,7 +58,7 @@ /** Le controller 1d */ private Controller1d controller_; /** L'implementation */ - private BuCommonImplementation impl_=null; + private MdlImplementation impl_=null; public MdlFille1d(MdlImplementation _appli) { super("", true, false, true, true, _appli, null); @@ -114,6 +114,10 @@ public String getComponentTitle() { return FudaaLib.getS("Modules"); } + + public Controller1d getController() { + return controller_; + } public void majComponent(Object _o) { } @@ -257,8 +261,8 @@ private void restoreSpecificProps(final Properties _props) { if (_props==null) return; - SwingUtilities.invokeLater(new Runnable() { - public void run() { +// SwingUtilities.invokeLater(new Runnable() { +// public void run() { // Taille des vues try { int w=Integer.parseInt(_props.getProperty("viewBief.width")); @@ -299,7 +303,7 @@ controller_.getControllerProfil().getProfilSelectionModel().setSelectedProfil(idx); } catch (NumberFormatException _exc) {} - } - }); +// } +// }); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -11,6 +11,8 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Observable; +import java.util.Observer; import javax.swing.Action; import javax.swing.DefaultListModel; @@ -61,6 +63,12 @@ */ public class Controller1d extends InternalFrameAdapter implements ZSelectionListener, ListSelectionListener, CtuluListSelectionListener { + class SpecialObservable extends Observable { + protected synchronized void setChanged() { + super.setChanged(); + } + } + // Les vues \\ /** La vue d'un profil par tableau. */ private VueTableau vueTableau_; @@ -83,6 +91,9 @@ /** Le commande manager pour le undo/redo */ private CtuluCommandManager mng_; + /** La classe d\xE9l\xE9gu\xE9e servant d'observable */ + private SpecialObservable delegateObs=new SpecialObservable(); + // Controllers \\ /** Le controller des Biefs */ private ControllerBief controllerBief_; @@ -364,4 +375,18 @@ mng_.clean(); controllerBief_.disableSynchronisers(); } + + public Observable getObservable() { + return delegateObs; + } + + public void fireUIChanged() { + delegateObs.setChanged(); + delegateObs.notifyObservers("UI"); + } + + public void fireDataChanged() { + delegateObs.setChanged(); + delegateObs.notifyObservers("Params"); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |