From: <had...@us...> - 2008-12-09 16:44:49
|
Revision: 4287 http://fudaa.svn.sourceforge.net/fudaa/?rev=4287&view=rev Author: hadouxad Date: 2008-12-09 16:44:46 +0000 (Tue, 09 Dec 2008) Log Message: ----------- - Initialisation du bouton resize proportionnel du calque - Prise en compte du zoom du calque pour les duplications de calque - Prise en compte du zoom dans la sauvegarde des donn?\195?\169es cf: TrPostVisuPanelPersistManager: recuperation du zoom pour le zeblicalquepanel - ajout des fichiers .resu pour les fichiers r?\195?\169sultats ajout dans : SerafinFileFormat: { "ser", "res", "geo", "sel", "res2d", "res3d","resu" }; SerafinFileFilter: isResFile() (J'espere que j'ai rien oubli?\195?\169...) - Am?\195?\169lioration: clic direct sur l'explorer pour ouvrir un repertoire .POST la logique est dans le TrPostFileFilter et il y a surcharge de la methode updateLists0 dans TrExplorer pour ouvrir les repertoires .POST dans la vue files... |_ v?\195?\169rifie la r?\195?\168gle suivante: REPERTOIRE && contient .POST && contient fichier setup - Modification de l'option 'charger' du projet: charger uniquement des r?\195?\169pertoires. Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuExplorer.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileViewer.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFilter.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFormat.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistManager.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/Thumbs.db branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetController.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetControllerCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestVisualLibrary.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrExplorer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileRenderer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostFileFilter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.mylyn/ Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuExplorer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuExplorer.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuExplorer.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -1201,7 +1201,7 @@ } } - static class Model implements Serializable, ListModel { + protected static class Model implements Serializable, ListModel { private VfsFile[] els_; private int nb_; private Vector ldl_; @@ -1391,13 +1391,13 @@ // utils - static final Cursor WAIT_CURSOR = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR); + protected static final Cursor WAIT_CURSOR = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR); - final void setProgression(int _p) { + public final void setProgression(int _p) { if (app_ != null && app_.getMainPanel() != null) app_.getMainPanel().setProgression(_p); } - private int liststamp(String[] _s) { + protected int liststamp(String[] _s) { int r = 0; if (_s != null) { for (int i = 0; i < _s.length; i++) @@ -1410,7 +1410,7 @@ return r; } - boolean updating_ = false; + protected boolean updating_ = false; protected void updateLists(final VfsFile _dir, VfsFile _sel) { final boolean showing = isShowing(); @@ -1480,7 +1480,7 @@ } } - void updateLists0(final VfsFile _dir, BuFileFilter _filter, final Cursor _cursor, final VfsFile _sel, + protected void updateLists0(final VfsFile _dir, BuFileFilter _filter, final Cursor _cursor, final VfsFile _sel, final boolean _showing) { if (EventQueue.isDispatchThread()) throw new RuntimeException("In swing thread. " + "Use updateLists() instead"); @@ -1554,7 +1554,21 @@ VfsFile f = _dir.createChild(els[i]); - if (f == null) {} else if (f.isDirectory()) { + + + if (f == null) {} + + //--cas particulier: si le fichier est un repertoire .POST + //-- on place les repertoire .POST avec les fichiers --// + else + if(f.isDirectory() && f.getName().contains(".POST")){ + + files[nb_files] = f; + nb_files++; + } + + + else if (f.isDirectory()) { dirs[nb_dirs] = f; nb_dirs++; } else if (f.isFile()) { @@ -1589,6 +1603,10 @@ final int fnb_dirs = nb_dirs; final int fnb_files = nb_files; + + + + if (_sel != null) _sel.build(); runnable = new Runnable() { @@ -1624,7 +1642,7 @@ // FuLog.debug("end "+(System.currentTimeMillis()-before)); } - private FuComparator getSorter() { + protected FuComparator getSorter() { FuComparator r; /* * String s=(String)sorters_.getSelectedItem(); if("Date".equals(s)) r=DATE_COMPARATOR; else if("Size".equals(s)) Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileViewer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileViewer.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileViewer.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -16,6 +16,7 @@ import java.awt.Dimension; import java.awt.Point; +import javax.swing.JLabel; import javax.swing.JViewport; import javax.swing.SwingUtilities; @@ -133,6 +134,7 @@ if(ref!=runnable_) break; add(v[i]); } + Container p=getParent(); if(p instanceof JViewport) Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFilter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFilter.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFilter.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -71,7 +71,7 @@ * @return true si c'est un fichier r\xE9sultat */ public boolean isResFile(final String _name) { - return _name.endsWith(".res3d")|| _name.endsWith(".res2d")|| _name.endsWith(".res") || ((_name.startsWith("res") || _name.endsWith("RES")) && (_name.indexOf('.') < 0)); + return _name.endsWith(".resu")|| _name.endsWith(".res3d")|| _name.endsWith(".res2d")|| _name.endsWith(".res") || ((_name.startsWith("res") || _name.endsWith("RES")) && (_name.indexOf('.') < 0)); } /** Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFormat.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFormat.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinFileFormat.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -120,7 +120,7 @@ protected SerafinFileFormat() { super(1); - extensions_ = new String[] { "ser", "res", "geo", "sel", "res2d", "res3d" }; + extensions_ = new String[] { "ser", "res", "geo", "sel", "res2d", "res3d","resu" }; id_ = "SERAFIN"; nom_ = "Serafin"; description_ = H2dResource Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistManager.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistManager.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -3,6 +3,8 @@ import java.io.File; import java.util.Map; +import org.fudaa.ebli.geometrie.GrBoite; + /** * Interface des datas persistantes du calques. * Sont enregistrees dans un ficheir xml. @@ -32,5 +34,7 @@ * @return */ + + public GrBoite getZoom(); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -8,6 +8,8 @@ import java.io.ObjectOutputStream; import java.util.Map; +import org.fudaa.ebli.geometrie.GrBoite; + import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; @@ -26,6 +28,8 @@ protected XStream parser_; + protected GrBoite zoom_; + /** * Fichier principal qui contient une instance de la classe ZEbliCalquesPanelPersistenceManager */ @@ -167,7 +171,7 @@ // -- etape 1: on lit les donn\xE9es sp\xE9cifiques pour avoir la data persistantes in = getParser().createObjectInputStream(new FileReader(new File(getMainFilePath()))); ZEbliCalquesPanelPersistManager dataPersistantes = (ZEbliCalquesPanelPersistManager) in.readObject(); - + zoom_=dataPersistantes.getZoom(); // -- etape 2 on creer l'obejt calque correspondant a partir des datas persitantes veritablePanel = dataPersistantes.generateCalquePanel(param,new File(getSpecifiqueDataFilePath())); @@ -189,4 +193,12 @@ return veritablePanel; } +public GrBoite getZoom_() { + return zoom_; } + +public void setZoom_(GrBoite zoom_) { + this.zoom_ = zoom_; +} + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/Thumbs.db =================================================================== (Binary files differ) Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetController.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetController.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -213,9 +213,15 @@ private boolean isProportional = false; public void constructMenuResizeProportional(final JPopupMenu _popup, final CtuluCommandContainer cmd_) { - +if(!isProportional()){ final EbliWidgetActionSimple actionBloque = new EbliWidgetActionRatio.Proportional(widget_); boutonProportion = actionBloque.buildMenuItem(EbliComponentFactory.INSTANCE); +} +else{ + final EbliWidgetActionSimple actionBloque = new EbliWidgetActionRatio.Classical(widget_); + boutonProportion = actionBloque.buildMenuItem(EbliComponentFactory.INSTANCE); + +} _popup.add(boutonProportion); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetControllerCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetControllerCalque.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetControllerCalque.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -48,6 +48,7 @@ import org.fudaa.ebli.visuallibrary.EbliWidgetWithBordure; import org.fudaa.ebli.visuallibrary.actions.CommandMasquer; import org.fudaa.ebli.visuallibrary.actions.EbliActionEditorOneClick; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRatio; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuMenuBar; @@ -91,6 +92,7 @@ widgetParent_ = _parent; addActionSpecifiques(); setProportional(true); + } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -35,7 +35,9 @@ } public EbliWidgetCreatorVueCalque() { - + + + } public EbliWidgetCreatorVueCalque(ZEbliCalquesPanel calque, GrBoite _initZoom) { @@ -74,7 +76,7 @@ duplicOptions.put("scene", getWidget().getEbliScene()); EbliWidgetCreatorVueCalque creator = new EbliWidgetCreatorVueCalque(getCalque().duplicate(duplicOptions), - getCalque().getVueCalque().getViewBoite()); + /*((EbliWidgetVueCalque)getWidget().getIntern()).getZoom_()*/getCalque().getVueCalque().getViewBoite()); duplique.setCreator(creator); // -- ajout de la reference de la legende dans le widget calque --// @@ -155,7 +157,11 @@ else { String pathCalque = (String)parameters.get("pathLayout")+File.separator+(String) data; - calque_ = (new ZebliCalquePersist(pathCalque)).loadPersitCalqueXml(parameters); + ZebliCalquePersist persistance=new ZebliCalquePersist(pathCalque); + + calque_ = persistance.loadPersitCalqueXml(parameters); + if(calque_.getVueCalque()!=null && calque_.getVueCalque().getViewBoite()!=null) + initZoom_ = persistance.getZoom_(); } } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -163,6 +163,12 @@ calquePanel_.getVueCalque().changeRepere(this, initZoom_); initZoom_ = null; } else calquePanel_.restaurer(); + + //-- ACHTUNG!!! si on enleve la creation de l'image ici, elle se fera dans l'autre if et ecrasera le zoom init!! --// + final Map params = new HashMap(); + CtuluLibImage.setCompatibleImageAsked(params); + image = calquePanel_.produceImage(rec.width, rec.height, params); + } // mode edition @@ -298,4 +304,12 @@ this.image = image; } +public GrBoite getZoom_() { + return zoom_; } + +public void setZoom_(GrBoite zoom_) { + this.zoom_ = zoom_; +} + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -36,6 +36,7 @@ import org.fudaa.ebli.visuallibrary.actions.CommandMasquer; import org.fudaa.ebli.visuallibrary.actions.EbliActionEditorOneClick; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionConfigure; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRatio; import com.memoire.bu.BuMenuBar; import com.memoire.bu.BuPanel; @@ -70,13 +71,17 @@ public EbliWidgetControllerGraphe(final EbliWidgetGraphe widget_, final EbliNodeDefault nodeLegende) { super(widget_); - setProportional(true); + widgetGraphe_ = widget_; labelTrace_ = (JLabel) CtuluLibSwing.findChildByName(getGraphePanel(), "lbTools"); // getGraphePanel().remove(labelTrace_); addActionSpecifiques(); + + + setProportional(true); + } @Override Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestVisualLibrary.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestVisualLibrary.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestVisualLibrary.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -56,7 +56,8 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionConfigure; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionDuplicate; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionFont; -import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeground; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeGround; + import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageHorizontal; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageVertical; @@ -449,7 +450,7 @@ bar.add(new EbliWidgetActionDuplicate(scene)); - bar.add(new EbliWidgetActionForeground(scene)); + bar.add(new EbliWidgetActionForeGround(scene)); bar.add(new EbliWidgetActionBackGround(scene)); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -34,6 +34,7 @@ import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.tr.TrEditorImplementation; import org.fudaa.fudaa.tr.post.TrPostAnalyze; +import org.fudaa.fudaa.tr.post.persist.TrPostFileFilter; import org.fudaa.fudaa.tr.post.persist.TrPostFileFormat; import org.fudaa.fudaa.tr.rubar.TrRubarImplHelper; import org.fudaa.fudaa.tr.telemac.TrMatisseConvertGUI; @@ -545,7 +546,18 @@ _lb.setIcon(TrResource.getPostLayoutIcon()); } return res; - } + }else + if(TrPostFileFilter.acceptDirectoryPOST(_f)) + { + final String res = TrResource.getPostName(); + if (_lb == null) { + launcher_.openLayoutPost(TrPostFileFilter.getSetupFormDirectoryPOST(_f)); + } else { + _lb.setIcon(TrResource.getPostLayoutIcon()); + } + return res; + + } return null; } @@ -568,14 +580,17 @@ protected String ouvrir(final VfsFile _f, final AbstractButton _lb) { String res = ouvrirEditor(_f, _lb); if (res != null) { return res; } + + // -- tentative ouverture fichier type layout --// + res = ouvrirPostLayout(_f, _lb); + if (res != null) { return res; } + res = ouvrirMesh(_f, _lb); if (res != null) { return res; } res = ouvrirPost(_f, _lb); if (res != null) { return res; } - // -- tentative ouverture fichier type layout --// - res = ouvrirPostLayout(_f, _lb); - if (res != null) { return res; } + final String name = _f.getName(); if (getTxtFileFilter().accept(null, name)) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrExplorer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrExplorer.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrExplorer.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -8,9 +8,13 @@ */ package org.fudaa.fudaa.tr.common; +import java.awt.Cursor; +import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.io.File; +import javax.swing.SwingUtilities; + import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.fileformat.FileFormat; import org.fudaa.fudaa.commun.FudaaLib; @@ -18,14 +22,19 @@ import org.fudaa.fudaa.commun.exec.FudaaExec; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.commun.impl.FudaaExplorer; +import org.fudaa.fudaa.tr.post.persist.TrPostFileFilter; import com.memoire.bu.BuActionEnabler; import com.memoire.bu.BuFileFilter; import com.memoire.bu.BuIcon; import com.memoire.bu.BuMenuItem; import com.memoire.bu.BuResource; + +import com.memoire.bu.BuExplorer.Root; import com.memoire.fu.FuLib; +import com.memoire.fu.FuSort; import com.memoire.vfs.VfsFile; +import com.memoire.vfs.VfsFileFile; /** * @author Fred Deniger @@ -249,4 +258,174 @@ TrPreferences.TR.putStringProperty("superviseur.last.dir", getCurrentDirectory().getAbsolutePath()); } } + + + /** + * Surcharge du filtrage des fichiers et repertoires de l'explorer. + * Dans le cas du tr, cela affiche els repertoire .POST propre au post traitement dasn la vue des fichiers. + * @author Adrien Hadoux + */ + protected void updateLists0(final VfsFile _dir, BuFileFilter _filter, final Cursor _cursor, final VfsFile _sel, + final boolean _showing) { + if (EventQueue.isDispatchThread()) throw new RuntimeException("In swing thread. " + "Use updateLists() instead"); + + // long before=System.currentTimeMillis(); + // FuLog.debug("BEX: showing="+_showing); + + if (!updating_) throw new RuntimeException("updating_ should be true"); + + last_ = _dir; + setProgression(10); + + // Cursor old_cursor=null; + Runnable runnable = null; + + runnable = new Runnable() { + public void run() { + if (!WAIT_CURSOR.equals(_cursor)) setCursor(WAIT_CURSOR); + + current_.setText(FuLib.reducedPath(_dir.getAbsolutePath())); + current_.setToolTipText(_dir.getAbsolutePath()); + current_.revalidate(); + updateMenuCurrent(); + } + }; + + if (_showing) SwingUtilities.invokeLater(runnable); + else + runnable.run(); + + // FuLog.debug("read "+(System.currentTimeMillis()-before)); + timestamp_ = _dir.lastModified();// System.currentTimeMillis(); + + String[] els = _dir.list(); + liststamp_ = liststamp(els); + // FuLog.debug("update liststamp="+liststamp_+" for "+_dir); + if (els == null) els = STRING0; + // FuLog.debug("%%% DIR="+_dir+" ["+els.length+"]"); + + setProgression(20); + + int l = els.length; + + final VfsFile[] dirs = new VfsFile[l + 1]; + final VfsFile[] files = new VfsFile[l]; + int nb_dirs = 0; + int nb_files = 0; + + VfsFile pf = _dir.getParentVfsFile(); + // FuLog.debug("%%% PF="+pf); + if (pf instanceof VfsFileFile) { + String p = pf.getAbsolutePath(); + pf = new Root(p, p, ".."); + } + + if (pf != null) { + pf.setViewName(".."); + dirs[0] = pf; + nb_dirs++; + } + + setProgression(30); + + // cleanFilters(); + // addFilter(filter); + // filters_.setSelectedItem(filter); + + for (int i = 0; i < l; i++) { + if (els[i].startsWith(".")) continue; + if (els[i].endsWith("~")) continue; + if ("CVS".equals(els[i])) continue; + + VfsFile f = _dir.createChild(els[i]); + + + + if (f == null) {} + + //--cas particulier: si le fichier est un repertoire .POST + //-- on place les repertoire .POST avec les fichiers --// + else + if(TrPostFileFilter.acceptDirectoryPOST(f)){ + + files[nb_files] = f; + nb_files++; + } + + + else if (f.isDirectory()) { + dirs[nb_dirs] = f; + nb_dirs++; + } else if (f.isFile()) { + // if(viewer_!=null) + // { + // String n=f.getName(); + // int p=n.lastIndexOf('.'); + // if(p>0) + // { + // String e=n.substring(p+1).toLowerCase(); + // addFilter(new BuFileFilter(e,_("Fichiers")+ + // " "+e.toUpperCase()),true); + // } + // } + + if ((_filter == null) || _filter.accept(f)) { + files[nb_files] = f; + nb_files++; + } + } else { + // FuLog.debug("BEX: ignore entry "+f); + } + } + + // FuLog.debug("sort "+(System.currentTimeMillis()-before)); + els = null; + setProgression(40); + FuSort.sort(dirs, 0, nb_dirs); + setProgression(50); + FuSort.sort(files, 0, nb_files, getSorter()); + + final int fnb_dirs = nb_dirs; + final int fnb_files = nb_files; + + + + + + if (_sel != null) _sel.build(); + + runnable = new Runnable() { + public void run() { + // FuLog.debug("model"); + // dirs_.setEnabled(true); + dirs_.setEmptyText("No directory"); + dirs_.setModel(new Model(dirs, fnb_dirs)); + dirs_.revalidate(); + setProgression(60); + + // files_.setEnabled(true); + files_.setEmptyText("No file"); + files_.setModel(new Model(files, fnb_files)); + files_.revalidate(); + setProgression(70); + + setProgression(80); + // FuLog.debug("end"); + repaint(); + + if ((_sel != null) && !_sel.isDirectory()) files_.setSelectedValue(_sel, true); + if (!WAIT_CURSOR.equals(_cursor)) setCursor(_cursor); + + setProgression(100); + updating_ = false; + } + }; + + if (_showing) SwingUtilities.invokeLater(runnable); + else + runnable.run(); + // FuLog.debug("end "+(System.currentTimeMillis()-before)); + } + + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileRenderer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileRenderer.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileRenderer.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -19,6 +19,7 @@ import org.fudaa.dodico.telemac.io.SerafinFileFormat; import org.fudaa.fudaa.commun.FudaaUI; import org.fudaa.fudaa.commun.exec.FudaaExec; +import org.fudaa.fudaa.tr.post.persist.TrPostFileFilter; import org.fudaa.fudaa.tr.rubar.TrRubarImplHelper; import com.memoire.bu.BuFileRenderer; @@ -111,7 +112,9 @@ if (mng_.isPostFormat(_file)) { return TrResource.getPostIcon(); } if (mng_.isPostLayoutFormat(_file)) { return TrResource.getPostLayoutIcon(); } if (mng_.getTxtFileFilter().accept(_file)) { return BuResource.BU.getToolIcon("texte"); } - } + }else + if(TrPostFileFilter.acceptDirectoryPOST(_file)) + { return TrResource.getPostLayoutIcon(); } return super.getIcon(_file); } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -40,7 +40,8 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionBackGround; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionColorBackground; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionConfigure; -import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeground; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeGround; + import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageHorizontal; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageVertical; @@ -516,7 +517,7 @@ init.add(new EbliWidgetActionAlign.Bottom(getSceneCourante())); init.add(null); - init.add(new EbliWidgetActionForeground(getSceneCourante())); + init.add(new EbliWidgetActionForeGround(getSceneCourante())); init.add(new EbliWidgetActionBackGround(getSceneCourante())); init.add(null); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -14,6 +14,7 @@ import org.fudaa.ebli.calque.ZebliCalquePersist; import org.fudaa.ebli.calque.ZEbliCalquesPanelPersistManager; import org.fudaa.ebli.courbe.EGGroupPersist; +import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.calque.CalqueLegendeWidgetAdapter; import org.fudaa.fudaa.commun.save.FudaaFilleVisuPersistence; @@ -37,7 +38,7 @@ boolean simplified; String idSource; - + GrBoite zoom_; TrPostVisuPanelPersistManager() { } @@ -51,7 +52,7 @@ TrPostVisuPanel panel = (TrPostVisuPanel) p; simplified = panel.simplifiedInit; idSource = panel.getSource().getId(); - + zoom_=panel.getVueCalque().getViewBoite(); // //-- etape 2: on sauvegarde les donnees --// FudaaSaveZipWriter writer = null; try { @@ -117,9 +118,20 @@ if (loader != null) loader.safeClose(); } + + //-- restoration du zoom --// +// if(zoom_!=null) +// newPanel.getVueCalque().changeRepere(newPanel, zoom_); + return newPanel; } +@Override +public GrBoite getZoom() { + // TODO Auto-generated method stub + return zoom_; +} + // @Override // public ZEbliCalquesPanel loadPersitCalqueXml(Map _param, File _dir) { // Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostFileFilter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostFileFilter.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostFileFilter.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -44,5 +44,56 @@ return false; } + + /** + * Indique si le repertoire concern\xE9 est bien un r\xE9pertoire de type POST + * @param _f + * @return + * @author Adrien Hadoux + */ + public static boolean acceptDirectoryPOST(final File _f){ + if(!_f.isDirectory() || !_f.getName().contains("."+DEFAULT_EXTENSION)) + return false; + + //-- test du contenu si il est bien form\xE9: --// + File[] children=_f.listFiles(); + + boolean setupFound=false; + for(int i=0;!setupFound && i<children.length;i++){ + if (children[i] == null) { setupFound= false; } + else{ + final String name = children[i].getName(); + if (name == null) { setupFound= false; } + else + if (name.equals(TrPostPersistenceManager.setupProject)) setupFound= true; + } + } + + + return setupFound; + } + + /** + * Recupere le fichier setup depuis le un r\xE9pertoire de type POST + * @param _f + * @return + * @author Adrien Hadoux + */ + public static File getSetupFormDirectoryPOST(final File _f){ + File[] children=_f.listFiles(); + + + for(int i=0; i<children.length;i++){ + if (children[i] == null) {} + else{ + final String name = children[i].getName(); + if (name == null) { } + else + if (name.equals(TrPostPersistenceManager.setupProject)) return children[i]; + } + } + return null; + } + } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java 2008-12-08 22:59:46 UTC (rev 4286) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java 2008-12-09 16:44:46 UTC (rev 4287) @@ -205,16 +205,24 @@ if (!executeByExplorer) { // -- creation d un chooser --// final CtuluFileChooser fileChooser = new CtuluFileChooser(true); - fileChooser.setDialogTitle(EbliResource.EBLI.getString("S\xE9lectionnez l'emplacement de votre fichier setup")); + fileChooser.setDialogTitle(EbliResource.EBLI.getString("S\xE9lectionnez l'emplacement de votre r\xE9pertoire POST")); fileChooser.setAcceptAllFileFilterUsed(false); - fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // -- init avec les param noms projet et autre --// if (projet_ != null) { fileChooser.setSelectedFile(projet_); } final int reponse = fileChooser.showOpenDialog(CtuluLibSwing.getFrameAncestor(ui_.getParentComponent())); if (reponse == JFileChooser.APPROVE_OPTION) { + + //-- Recuperation du fichier du chooser --// fichierSetup = fileChooser.getSelectedFile(); + if(TrPostFileFilter.acceptDirectoryPOST(fichierSetup)) { + fichierSetup=TrPostFileFilter.getSetupFormDirectoryPOST(fichierSetup); + }else{ + ui_.error(EbliResource.EBLI.getString("Impossible de charger ce r\xE9pertoire, Soit il n'est pas de type ."+TrPostFileFilter.DEFAULT_EXTENSION+"\n soit il ne contient pas de fichier setup.")); + return false; + } } else return false; } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |