From: <had...@us...> - 2009-01-26 18:36:04
|
Revision: 4402 http://fudaa.svn.sourceforge.net/fudaa/?rev=4402&view=rev Author: hadouxad Date: 2009-01-26 18:35:58 +0000 (Mon, 26 Jan 2009) Log Message: ----------- fonction suite de calcul Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenu.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenuItem.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/tr_en.fr_txt branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSource.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparator.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceFromReader.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderInterface.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderReflux.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderSerafin.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/actions/TrPostActionChooseAndCreateCalque.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/.plugins/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.mylyn.bugzilla.core/ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostBuilderSuiteCalcul.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderComposite.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenu.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenu.java 2009-01-25 22:20:21 UTC (rev 4401) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenu.java 2009-01-26 18:35:58 UTC (rev 4402) @@ -23,6 +23,7 @@ import java.util.Hashtable; import java.util.Vector; +import javax.swing.Action; import javax.swing.Icon; import javax.swing.JMenu; import javax.swing.JMenuItem; @@ -41,112 +42,112 @@ * File, Edition, Windows and Help. */ public class BuMenu - extends JMenu - implements BuMenuInterface //ActionListener +extends JMenu +implements BuMenuInterface //ActionListener { - private boolean left_; + private boolean left_; - public BuMenu() - { this("Menu","MENU",true,0); } + public BuMenu() + { this("Menu","MENU",true,0); } - public BuMenu(String _label, String _cmd) - { this(_label,_cmd,null,false,0); } + public BuMenu(String _label, String _cmd) + { this(_label,_cmd,null,false,0); } - public BuMenu(String _label, String _cmd, Icon _icon) - { this(_label,_cmd,_icon,false,0); } + public BuMenu(String _label, String _cmd, Icon _icon) + { this(_label,_cmd,_icon,false,0); } - public BuMenu(String _label, String _cmd, boolean _tearoff) - { this(_label,_cmd,null,_tearoff,0); } + public BuMenu(String _label, String _cmd, boolean _tearoff) + { this(_label,_cmd,null,_tearoff,0); } - public BuMenu(String _label, String _cmd, boolean _tearoff, int _key) - { this(_label,_cmd,null,_tearoff,0); } + public BuMenu(String _label, String _cmd, boolean _tearoff, int _key) + { this(_label,_cmd,null,_tearoff,0); } - public BuMenu(String _label, String _cmd, Icon _icon, - boolean _tearoff, int _key) - { - super(null,_tearoff); + public BuMenu(String _label, String _cmd, Icon _icon, + boolean _tearoff, int _key) + { + super(null,_tearoff); - setName("mn"+_cmd); - setActionCommand(_cmd); - setHorizontalTextPosition(SwingConstants.RIGHT); - Icon icon=_icon; - if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); - if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; + setName("mn"+_cmd); + setActionCommand(_cmd); + setHorizontalTextPosition(SwingConstants.RIGHT); + Icon icon=_icon; + if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); + if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; - if(icon instanceof BuIcon) setIcon((BuIcon)icon); - else setIcon(icon); + if(icon instanceof BuIcon) setIcon((BuIcon)icon); + else setIcon(icon); - setText((_label==null) ?"":_label); + setText((_label==null) ?"":_label); - // TMP - // getPopupMenu().setLightWeightPopupEnabled(false); - } + // TMP + // getPopupMenu().setLightWeightPopupEnabled(false); + } - public boolean isLeft() - { - return left_; - } + public boolean isLeft() + { + return left_; + } - public void setLeft(boolean _left) - { - left_=_left; - } + public void setLeft(boolean _left) + { + left_=_left; + } - /*GCJ-BEGIN*/ - private boolean isLeft(Component _m, Point _p) - { - if(_p.x<0 ) return true; - if(_m==null) return false; + /*GCJ-BEGIN*/ + private boolean isLeft(Component _m, Point _p) + { + if(_p.x<0 ) return true; + if(_m==null) return false; - Component p=_m; + Component p=_m; - while(!(p instanceof BuMenu)) - { - p=(p instanceof JPopupMenu) - ? ((JPopupMenu)p).getInvoker() - : p.getParent(); - if(p==null) return false; - } + while(!(p instanceof BuMenu)) + { + p=(p instanceof JPopupMenu) + ? ((JPopupMenu)p).getInvoker() + : p.getParent(); + if(p==null) return false; + } - Point q=((BuMenu)p).getPopupMenuOrigin(); - p=p.getParent(); - return isLeft(p,q); - } + Point q=((BuMenu)p).getPopupMenuOrigin(); + p=p.getParent(); + return isLeft(p,q); + } - protected Point getPopupMenuOrigin() - { - Point r=super.getPopupMenuOrigin(); - //System.err.println("BMN: getPopupMenuOrigin "+r) + protected Point getPopupMenuOrigin() + { + Point r=super.getPopupMenuOrigin(); + //System.err.println("BMN: getPopupMenuOrigin "+r) - JPopupMenu pm=getPopupMenu(); - pm.putClientProperty("SLAF_LEFT_POPUPMENU",Boolean.FALSE); + JPopupMenu pm=getPopupMenu(); + pm.putClientProperty("SLAF_LEFT_POPUPMENU",Boolean.FALSE); - if(isLeft()||isLeft(getParent(),r)) - { - Container pt=getParent(); - if(pt instanceof JPopupMenu) - { - // Dimension dp=pt.getSize(); - r=new Point(pt.getX()-pm.getPreferredSize().width - -UIManager.getInt("Menu.submenuPopupOffsetX"),r.y); - pm.putClientProperty("SLAF_LEFT_POPUPMENU",Boolean.TRUE); - } - } + if(isLeft()||isLeft(getParent(),r)) + { + Container pt=getParent(); + if(pt instanceof JPopupMenu) + { + // Dimension dp=pt.getSize(); + r=new Point(pt.getX()-pm.getPreferredSize().width + -UIManager.getInt("Menu.submenuPopupOffsetX"),r.y); + pm.putClientProperty("SLAF_LEFT_POPUPMENU",Boolean.TRUE); + } + } - return r; - } - /*GCJ-END*/ + return r; + } + /*GCJ-END*/ - /* + /* public void setMenuLocation(int _x,int _y) { System.err.println("BMN: setMenuLocation "+_x+","+_y); super.setMenuLocation(_x,_y); } - */ + */ - // Essai - /* + // Essai + /* protected WinListener createWinListener(JPopupMenu p) { System.err.println("%%% BuPM: create win listener"); @@ -168,307 +169,314 @@ return super.createWinListener(p); } - */ + */ - // Icon + // Icon - public Icon getIcon() - { - if(BuPreferences.BU.getBooleanProperty("icons.menu",true)|| - (super.getText()==null)) - return super.getIcon(); - return null; - } + public Icon getIcon() + { + if(BuPreferences.BU.getBooleanProperty("icons.menu",true)|| + (super.getText()==null)) + return super.getIcon(); + return null; + } - public void setIcon(BuIcon _icon) - { - BuLib.setIcon(this,_icon); - } + public void setIcon(BuIcon _icon) + { + BuLib.setIcon(this,_icon); + } - // Translation + // Translation - protected String _(String _s) - { - return BuResource.BU.getString(_s); - } + protected String _(String _s) + { + return BuResource.BU.getString(_s); + } - protected static final String __(String _s) - { - return BuResource.BU.getString(_s); - } + protected static final String __(String _s) + { + return BuResource.BU.getString(_s); + } - // Anti-aliasing + // Anti-aliasing - public void paint(Graphics _g) - { - BuLib.setAntialiasing(this,_g); - super.paint(_g); - } + public void paint(Graphics _g) + { + BuLib.setAntialiasing(this,_g); + super.paint(_g); + } - // Mnemonics + // Mnemonics - public void computeMnemonics() - { - Component[] c=getPopupMenu().getComponents(); - Hashtable t=new Hashtable(); + public void computeMnemonics() + { + Component[] c=getPopupMenu().getComponents(); + Hashtable t=new Hashtable(); - //MenuElement[] c=getSubElements(); - //try { c=getMenuComponents(); } - //catch(Exception ex) { } // swing 1.03 + //MenuElement[] c=getSubElements(); + //try { c=getMenuComponents(); } + //catch(Exception ex) { } // swing 1.03 - { - int mn=getMnemonic(); - if(mn>0) t.put(FuFactoryInteger.get(mn),this); - } + { + int mn=getMnemonic(); + if(mn>0) t.put(FuFactoryInteger.get(mn),this); + } - for(int i=0; i<c.length; i++) - { - if(c[i] instanceof JMenuItem) - { - JMenuItem mi=(JMenuItem)c[i]; - int mn=mi.getMnemonic(); - if(mn<=0) + for(int i=0; i<c.length; i++) + { + if(c[i] instanceof JMenuItem) + { + JMenuItem mi=(JMenuItem)c[i]; + int mn=mi.getMnemonic(); + if(mn<=0) + { + String tx=BuLib.candidateMnemonics(mi.getText()); + if(tx!=null) + for(int j=0;j<tx.length();j++) + { + mn=tx.charAt(j); + if(t.get(FuFactoryInteger.get(mn))==null) + { + t.put(FuFactoryInteger.get(mn),mi); + mi.setMnemonic(mn); + break; + } + } + } + if(mi instanceof BuMenu) + ((BuMenu)mi).computeMnemonics(); + } + } + } + + // Separator + + public BuSeparator addSeparator(String _text) { - String tx=BuLib.candidateMnemonics(mi.getText()); - if(tx!=null) - for(int j=0;j<tx.length();j++) - { - mn=tx.charAt(j); - if(t.get(FuFactoryInteger.get(mn))==null) - { - t.put(FuFactoryInteger.get(mn),mi); - mi.setMnemonic(mn); - break; - } - } + BuSeparator r=new BuSeparator(_text); + this.add(r); + return r; } - if(mi instanceof BuMenu) - ((BuMenu)mi).computeMnemonics(); - } - } - } - // Separator + public void removeDummySeparators() + { + removeDummySeparators(getPopupMenu()); + } - public BuSeparator addSeparator(String _text) - { - BuSeparator r=new BuSeparator(_text); - this.add(r); - return r; - } + private static void removeDummySeparators(JPopupMenu _menu) + { + if(_menu==null) return; - public void removeDummySeparators() - { - removeDummySeparators(getPopupMenu()); - } + //synchronized(_menu) + { + Component[] c=_menu.getComponents(); + //MenuElement[] c=_menu.getSubElements(); + if(c==null) return; - private static void removeDummySeparators(JPopupMenu _menu) - { - if(_menu==null) return; + int l=c.length; + if(l==0) return; - //synchronized(_menu) - { - Component[] c=_menu.getComponents(); - //MenuElement[] c=_menu.getSubElements(); - if(c==null) return; + boolean was =true; + Component first=null; + for(int i=l-1;i>=0;i--) + { + if(c[i] instanceof JSeparator) + { + if(was) + { + _menu.remove(c[i]); + } + else + { + first=c[i]; + was=true; + } + } + else + { + was=false; + first=c[i]; + if(first instanceof JMenu) + removeDummySeparators(((JMenu)first).getPopupMenu()); + } + } - int l=c.length; - if(l==0) return; + if(first instanceof JSeparator) + _menu.remove(first); + } + } - boolean was =true; - Component first=null; - for(int i=l-1;i>=0;i--) - { - if(c[i] instanceof JSeparator) - { - if(was) - { - _menu.remove(c[i]); - } - else - { - first=c[i]; - was=true; - } - } - else + // SubMenu + + public void addSubMenu(JMenu _m, boolean _enabled) { - was=false; - first=c[i]; - if(first instanceof JMenu) - removeDummySeparators(((JMenu)first).getPopupMenu()); + _m.setEnabled(_enabled); + _m.addActionListener(this); + this.add(_m); } - } - if(first instanceof JSeparator) - _menu.remove(first); - } - } + // Menu Item - // SubMenu + public BuMenuItem addMenuItem(String _s, String _cmd) + { + return addMenuItem(_s,_cmd,true); + } - public void addSubMenu(JMenu _m, boolean _enabled) - { - _m.setEnabled(_enabled); - _m.addActionListener(this); - this.add(_m); - } + /** + * Retourne l'index de l'item de commande donn\xE9e. + * @param _cmd Le nom de la commande. + * @return L'index, ou -1 si non trouv\xE9. + */ + public int indexOf(String _cmd) { + return indexOf(this,_cmd); + } - // Menu Item + private int indexOf(BuMenu _menu, String _cmd) { + if (_cmd==null) return -1; - public BuMenuItem addMenuItem(String _s, String _cmd) - { - return addMenuItem(_s,_cmd,true); - } - - /** - * Retourne l'index de l'item de commande donn\xE9e. - * @param _cmd Le nom de la commande. - * @return L'index, ou -1 si non trouv\xE9. - */ - public int indexOf(String _cmd) { - return indexOf(this,_cmd); - } + for (int i=0; i<_menu.getItemCount(); i++) { + if (!(_menu.getItem(i) instanceof JMenuItem)) continue; + if (_cmd.equals(_menu.getItem(i).getActionCommand())) return i; + } + return -1; + } - private int indexOf(BuMenu _menu, String _cmd) { - if (_cmd==null) return -1; + public BuMenuItem addMenuItem(String _s, String _cmd, + ActionListener _al) + { + return addMenuItem(_s,_cmd,null,true,0,_al); + } + public BuMenuItem addMenuItem(String _s, String _cmd,boolean _enable, + ActionListener _al) + { + return addMenuItem(_s,_cmd,null,_enable,0,_al); + } - for (int i=0; i<_menu.getItemCount(); i++) { - if (!(_menu.getItem(i) instanceof JMenuItem)) continue; - if (_cmd.equals(_menu.getItem(i).getActionCommand())) return i; - } - return -1; - } + public BuMenuItem addMenuItem(String _s, String _cmd, + boolean _enabled) + { + return addMenuItem(_s,_cmd,null,_enabled,0,this); + } - public BuMenuItem addMenuItem(String _s, String _cmd, - ActionListener _al) - { - return addMenuItem(_s,_cmd,null,true,0,_al); - } - public BuMenuItem addMenuItem(String _s, String _cmd,boolean _enable, - ActionListener _al) - { - return addMenuItem(_s,_cmd,null,_enable,0,_al); - } + public BuMenuItem addMenuItem(String _s, String _cmd, + boolean _enabled, int _key) + { + return addMenuItem(_s,_cmd,null,_enabled,_key,this); + } - public BuMenuItem addMenuItem(String _s, String _cmd, - boolean _enabled) - { - return addMenuItem(_s,_cmd,null,_enabled,0,this); - } + public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, + boolean _enabled) + { + return addMenuItem(_s,_cmd,_icon,_enabled,0,this); + } + public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, + ActionListener _al) + { + return addMenuItem(_s,_cmd,_icon,true,0,_al); + } - public BuMenuItem addMenuItem(String _s, String _cmd, - boolean _enabled, int _key) - { - return addMenuItem(_s,_cmd,null,_enabled,_key,this); - } + public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, + boolean _enabled, int _key) + { + return addMenuItem(_s,_cmd,_icon,_enabled,_key,this); + } - public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, - boolean _enabled) - { - return addMenuItem(_s,_cmd,_icon,_enabled,0,this); - } - public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, - ActionListener _al) - { - return addMenuItem(_s,_cmd,_icon,true,0,_al); - } + public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, + boolean _enabled, int _key, ActionListener _al) + { + Icon icon=_icon; + if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); + if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; + if(icon==null) icon=BuResource.BU.getMenuIcon("aucun"); - public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, - boolean _enabled, int _key) - { - return addMenuItem(_s,_cmd,_icon,_enabled,_key,this); - } + BuMenuItem r=new BuMenuItem(); + r.setText(_s); + r.setName("mi"+_cmd); + r.setActionCommand(_cmd); + if(icon instanceof BuIcon) r.setIcon((BuIcon)icon); + else r.setIcon(icon); + r.setHorizontalTextPosition(SwingConstants.RIGHT); + r.addActionListener(_al); + r.setEnabled(_enabled); + if(_key!=0) + { + if((_key>=KeyEvent.VK_F1)&&(_key<=KeyEvent.VK_F12)) + r.setAccelerator(KeyStroke.getKeyStroke(_key,InputEvent.ALT_MASK)); + else + r.setAccelerator(KeyStroke.getKeyStroke(_key,InputEvent.CTRL_MASK)); + } + this.add(r); + return r; + } - public BuMenuItem addMenuItem(String _s, String _cmd, Icon _icon, - boolean _enabled, int _key, ActionListener _al) - { - Icon icon=_icon; - if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); - if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; - if(icon==null) icon=BuResource.BU.getMenuIcon("aucun"); + public BuMenuItem addMenuItem(Action a) + { + BuMenuItem r=new BuMenuItem(a); + this.add(r); + return r; + } - BuMenuItem r=new BuMenuItem(); - r.setText(_s); - r.setName("mi"+_cmd); - r.setActionCommand(_cmd); - if(icon instanceof BuIcon) r.setIcon((BuIcon)icon); - else r.setIcon(icon); - r.setHorizontalTextPosition(SwingConstants.RIGHT); - r.addActionListener(_al); - r.setEnabled(_enabled); - if(_key!=0) - { - if((_key>=KeyEvent.VK_F1)&&(_key<=KeyEvent.VK_F12)) - r.setAccelerator(KeyStroke.getKeyStroke(_key,InputEvent.ALT_MASK)); - else - r.setAccelerator(KeyStroke.getKeyStroke(_key,InputEvent.CTRL_MASK)); - } - this.add(r); - return r; - } + // CheckBoxMenuItem - // CheckBoxMenuItem + public BuCheckBoxMenuItem addCheckBox + (String _s, String _cmd, boolean _enabled, boolean _checked) + { + return addCheckBox(_s,_cmd,null,_enabled,_checked); + } - public BuCheckBoxMenuItem addCheckBox - (String _s, String _cmd, boolean _enabled, boolean _checked) - { - return addCheckBox(_s,_cmd,null,_enabled,_checked); - } + public BuCheckBoxMenuItem addCheckBox + (String _s, String _cmd, Icon _icon, boolean _enabled, boolean _checked) + { + Icon icon=_icon; + if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); + if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; + if(icon==null) icon=BuResource.BU.getMenuIcon("aucun"); - public BuCheckBoxMenuItem addCheckBox - (String _s, String _cmd, Icon _icon, boolean _enabled, boolean _checked) - { - Icon icon=_icon; - if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); - if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; - if(icon==null) icon=BuResource.BU.getMenuIcon("aucun"); + BuCheckBoxMenuItem r=new BuCheckBoxMenuItem(); + r.setText(_s); + r.setName("cbmi"+_cmd); + r.setActionCommand(_cmd); + if(icon instanceof BuIcon) r.setIcon((BuIcon)icon); + else r.setIcon(icon); + r.setHorizontalTextPosition(SwingConstants.RIGHT); + r.addActionListener(this); + r.setEnabled(_enabled); + r.setSelected(_checked); + this.add(r); + return r; + } - BuCheckBoxMenuItem r=new BuCheckBoxMenuItem(); - r.setText(_s); - r.setName("cbmi"+_cmd); - r.setActionCommand(_cmd); - if(icon instanceof BuIcon) r.setIcon((BuIcon)icon); - else r.setIcon(icon); - r.setHorizontalTextPosition(SwingConstants.RIGHT); - r.addActionListener(this); - r.setEnabled(_enabled); - r.setSelected(_checked); - this.add(r); - return r; - } + // RadioButtonMenuItem - // RadioButtonMenuItem + public BuRadioButtonMenuItem addRadioButton + (String _s, String _cmd, boolean _enabled, boolean _checked) + { + return addRadioButton(_s,_cmd,null,_enabled,_checked); + } - public BuRadioButtonMenuItem addRadioButton - (String _s, String _cmd, boolean _enabled, boolean _checked) - { - return addRadioButton(_s,_cmd,null,_enabled,_checked); - } + public BuRadioButtonMenuItem addRadioButton + (String _s, String _cmd, Icon _icon, boolean _enabled, boolean _checked) + { + Icon icon=_icon; + if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); + if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; + if(icon==null) icon=BuResource.BU.getMenuIcon("aucun"); - public BuRadioButtonMenuItem addRadioButton - (String _s, String _cmd, Icon _icon, boolean _enabled, boolean _checked) - { - Icon icon=_icon; - if(icon==null) icon=BuResource.BU.loadMenuCommandIcon(_cmd); - if((icon instanceof BuIcon)&&((BuIcon)icon).isDefault()) icon=null; - if(icon==null) icon=BuResource.BU.getMenuIcon("aucun"); + BuRadioButtonMenuItem r=new BuRadioButtonMenuItem(); + r.setText(_s); + r.setName("rbmi"+_cmd); + r.setActionCommand(_cmd); + if(icon instanceof BuIcon) r.setIcon((BuIcon)icon); + else r.setIcon(icon); + r.setHorizontalTextPosition(SwingConstants.RIGHT); + r.addActionListener(this); + r.setEnabled(_enabled); + r.setSelected(_checked); + this.add(r); + return r; + } - BuRadioButtonMenuItem r=new BuRadioButtonMenuItem(); - r.setText(_s); - r.setName("rbmi"+_cmd); - r.setActionCommand(_cmd); - if(icon instanceof BuIcon) r.setIcon((BuIcon)icon); - else r.setIcon(icon); - r.setHorizontalTextPosition(SwingConstants.RIGHT); - r.addActionListener(this); - r.setEnabled(_enabled); - r.setSelected(_checked); - this.add(r); - return r; - } - - /* + /* public void removeMenuItem(String _cmd) { MenuElement[] cm=getSubElements(); @@ -485,298 +493,298 @@ } } } - */ + */ - // Menus standards + // Menus standards - public static BuMenu buildImportMenu() - { - BuMenu r=new BuMenu(__("Importer"),"IMPORTER"); - return r; - } + public static BuMenu buildImportMenu() + { + BuMenu r=new BuMenu(__("Importer"),"IMPORTER"); + return r; + } - public static BuMenu buildExportMenu() - { - BuMenu r=new BuMenu(__("Exporter"),"EXPORTER"); - return r; - } + public static BuMenu buildExportMenu() + { + BuMenu r=new BuMenu(__("Exporter"),"EXPORTER"); + return r; + } - public static BuMenu buildFileMenu() - { - BuMenu r=new BuMenu(__("Fichier"),"MENU_FICHIER"); - r.addMenuItem(__("Cr\xE9er") ,"CREER" ,false,KeyEvent.VK_N); - r.addMenuItem(__("Ouvrir...") ,"OUVRIR" ,false,KeyEvent.VK_O); + public static BuMenu buildFileMenu() + { + BuMenu r=new BuMenu(__("Fichier"),"MENU_FICHIER"); + r.addMenuItem(__("Cr\xE9er") ,"CREER" ,false,KeyEvent.VK_N); + r.addMenuItem(__("Ouvrir...") ,"OUVRIR" ,false,KeyEvent.VK_O); - r.addSubMenu(new BuMenuRecentFiles(),true); - r.addMenuItem(__("Propri\xE9t\xE9s...") ,"PROPRIETE" ,false); - //r.addSeparator(); + r.addSubMenu(new BuMenuRecentFiles(),true); + r.addMenuItem(__("Propri\xE9t\xE9s...") ,"PROPRIETE" ,false); + //r.addSeparator(); - r.addMenuItem(__("Enregistrer") ,"ENREGISTRER" ,false,KeyEvent.VK_S); - r.addMenuItem(__("Enregistrer sous..."),"ENREGISTRERSOUS" ,false) - .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK|InputEvent.SHIFT_MASK)); - r.addMenuItem(__("Fermer") ,"FERMER" ,false,KeyEvent.VK_W); - r.addSeparator(); + r.addMenuItem(__("Enregistrer") ,"ENREGISTRER" ,false,KeyEvent.VK_S); + r.addMenuItem(__("Enregistrer sous..."),"ENREGISTRERSOUS" ,false) + .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK|InputEvent.SHIFT_MASK)); + r.addMenuItem(__("Fermer") ,"FERMER" ,false,KeyEvent.VK_W); + r.addSeparator(); - r.addSubMenu(buildImportMenu(),false); - r.addSubMenu(buildExportMenu(),false); - r.addSeparator(); + r.addSubMenu(buildImportMenu(),false); + r.addSubMenu(buildExportMenu(),false); + r.addSeparator(); - r.addMenuItem(__("Imprimer...") ,"IMPRIMER" ,false,KeyEvent.VK_P); - r.addMenuItem(__("Pr\xE9visualiser") ,"PREVISUALISER" ,false); - r.addMenuItem(__("Mise en page...") ,"MISEENPAGE" ,false); - r.addSeparator(); + r.addMenuItem(__("Imprimer...") ,"IMPRIMER" ,false,KeyEvent.VK_P); + r.addMenuItem(__("Pr\xE9visualiser") ,"PREVISUALISER" ,false); + r.addMenuItem(__("Mise en page...") ,"MISEENPAGE" ,false); + r.addSeparator(); - r.addMenuItem(__("Quitter...") ,"QUITTER" ,false,KeyEvent.VK_Q); + r.addMenuItem(__("Quitter...") ,"QUITTER" ,false,KeyEvent.VK_Q); - return r; - } + return r; + } - public static BuMenu buildEditionMenu() - { - BuMenu r=new BuMenu(__("Edition"),"MENU_EDITION"); - r.addMenuItem(__("D\xE9faire") ,"DEFAIRE" ,false,KeyEvent.VK_Z); - r.addMenuItem(__("Refaire") ,"REFAIRE" ,false) - .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK|InputEvent.SHIFT_MASK)); - // normalement Ctrl-Y - r.addSeparator(); + public static BuMenu buildEditionMenu() + { + BuMenu r=new BuMenu(__("Edition"),"MENU_EDITION"); + r.addMenuItem(__("D\xE9faire") ,"DEFAIRE" ,false,KeyEvent.VK_Z); + r.addMenuItem(__("Refaire") ,"REFAIRE" ,false) + .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK|InputEvent.SHIFT_MASK)); + // normalement Ctrl-Y + r.addSeparator(); - r.addMenuItem(__("Copier") ,"COPIER" ,false,KeyEvent.VK_C); - r.addMenuItem(__("Couper") ,"COUPER" ,false,KeyEvent.VK_X); - r.addMenuItem(__("Coller") ,"COLLER" ,false,KeyEvent.VK_V); - r.addMenuItem(__("Dupliquer") ,"DUPLIQUER" ,false) - .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK|InputEvent.SHIFT_MASK)); - r.addSeparator(); - r.addMenuItem(__("Tout s\xE9lectionner") ,"TOUTSELECTIONNER" ,false,KeyEvent.VK_A); - r.addMenuItem(__("Rechercher...") ,"RECHERCHER" ,false,KeyEvent.VK_F); - r.addMenuItem(__("Remplacer...") ,"REMPLACER" ,false,KeyEvent.VK_R); - r.addSeparator(); - r.addMenuItem(__("Pr\xE9f\xE9rences") ,"PREFERENCE" ,false,KeyEvent.VK_F2); - return r; - } + r.addMenuItem(__("Copier") ,"COPIER" ,false,KeyEvent.VK_C); + r.addMenuItem(__("Couper") ,"COUPER" ,false,KeyEvent.VK_X); + r.addMenuItem(__("Coller") ,"COLLER" ,false,KeyEvent.VK_V); + r.addMenuItem(__("Dupliquer") ,"DUPLIQUER" ,false) + .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK|InputEvent.SHIFT_MASK)); + r.addSeparator(); + r.addMenuItem(__("Tout s\xE9lectionner") ,"TOUTSELECTIONNER" ,false,KeyEvent.VK_A); + r.addMenuItem(__("Rechercher...") ,"RECHERCHER" ,false,KeyEvent.VK_F); + r.addMenuItem(__("Remplacer...") ,"REMPLACER" ,false,KeyEvent.VK_R); + r.addSeparator(); + r.addMenuItem(__("Pr\xE9f\xE9rences") ,"PREFERENCE" ,false,KeyEvent.VK_F2); + return r; + } - public static BuMenu buildMetalThemeMenu() - { - BuMenu r=new BuMenu(__("Th\xE8mes pour Metal"),"THEME_METAL"); + public static BuMenu buildMetalThemeMenu() + { + BuMenu r=new BuMenu(__("Th\xE8mes pour Metal"),"THEME_METAL"); - BuMetalCustomTheme[] themes=BuMetalCustomTheme.getList(); - for(int i=0;i<themes.length;i++) - { - if(themes[i]==null) - r.addSeparator(); - else - { - JMenuItem mi; - mi=r.addMenuItem(__(themes[i].getName()),"THEME_METAL("+i+")",null,true); - mi.setIcon(themes[i].getIcon()); - } - } + BuMetalCustomTheme[] themes=BuMetalCustomTheme.getList(); + for(int i=0;i<themes.length;i++) + { + if(themes[i]==null) + r.addSeparator(); + else + { + JMenuItem mi; + mi=r.addMenuItem(__(themes[i].getName()),"THEME_METAL("+i+")",null,true); + mi.setIcon(themes[i].getIcon()); + } + } - return r; - } + return r; + } - public static BuMenu buildSlafThemeMenu() - { - BuMenu r=new BuMenu(__("Th\xE8mes pour Slaf"),"THEME_SLAF"); + public static BuMenu buildSlafThemeMenu() + { + BuMenu r=new BuMenu(__("Th\xE8mes pour Slaf"),"THEME_SLAF"); - BuSlafCustomTheme[] themes=BuSlafCustomTheme.getList(); - for(int i=0;i<themes.length;i++) - { - if(themes[i]==null) - r.addSeparator(); - else - { - JMenuItem mi; - mi=r.addMenuItem(__(themes[i].getName()),"THEME_SLAF("+i+")",null,true); - mi.setIcon(themes[i].getIcon()); - } - } + BuSlafCustomTheme[] themes=BuSlafCustomTheme.getList(); + for(int i=0;i<themes.length;i++) + { + if(themes[i]==null) + r.addSeparator(); + else + { + JMenuItem mi; + mi=r.addMenuItem(__(themes[i].getName()),"THEME_SLAF("+i+")",null,true); + mi.setIcon(themes[i].getIcon()); + } + } - return r; - } + return r; + } - public static BuMenu buildLookAndFeelMenu() - { - BuMenu r=new BuMenu(__("Aspects"),"ASPECT"); + public static BuMenu buildLookAndFeelMenu() + { + BuMenu r=new BuMenu(__("Aspects"),"ASPECT"); - r.addSubMenu(buildMetalThemeMenu(),FuLib.classExists("javax.swing.plaf.metal.MetalLookAndFeel")); + r.addSubMenu(buildMetalThemeMenu(),FuLib.classExists("javax.swing.plaf.metal.MetalLookAndFeel")); - //if(!BuLib.isSwing10()) - r.addSubMenu(buildSlafThemeMenu(),FuLib.classExists("com.memoire.slaf.SlafLookAndFeel")); + //if(!BuLib.isSwing10()) + r.addSubMenu(buildSlafThemeMenu(),FuLib.classExists("com.memoire.slaf.SlafLookAndFeel")); - r.addSeparator(); + r.addSeparator(); - //if(!BuLib.isSwing10()) - r.addMenuItem("Amiga" ,"ASPECT_AMIGA" ,FuLib.classExists("swing.addon.plaf.threeD.ThreeDLookAndFeel")); + //if(!BuLib.isSwing10()) + r.addMenuItem("Amiga" ,"ASPECT_AMIGA" ,FuLib.classExists("swing.addon.plaf.threeD.ThreeDLookAndFeel")); - //if(FuLib.jdk()>1.3) - //{ - r.addMenuItem("FHLaf" ,"ASPECT_FHLAF" ,FuLib.classExists("com.shfarr.ui.plaf.fh.FhLookAndFeel")); - r.addMenuItem("Gtk" ,"ASPECT_GTK" ,FuLib.classExists("com.sun.java.swing.plaf.gtk.GTKLookAndFeel")); - r.addMenuItem("Kunststoff" ,"ASPECT_KUNSTSTOFF" ,FuLib.classExists("com.incors.plaf.kunststoff.KunststoffLookAndFeel")); - r.addMenuItem("Liquid" ,"ASPECT_LIQUID" ,FuLib.classExists("com.birosoft.liquid.LiquidLookAndFeel")); - //} + //if(FuLib.jdk()>1.3) + //{ + r.addMenuItem("FHLaf" ,"ASPECT_FHLAF" ,FuLib.classExists("com.shfarr.ui.plaf.fh.FhLookAndFeel")); + r.addMenuItem("Gtk" ,"ASPECT_GTK" ,FuLib.classExists("com.sun.java.swing.plaf.gtk.GTKLookAndFeel")); + r.addMenuItem("Kunststoff" ,"ASPECT_KUNSTSTOFF" ,FuLib.classExists("com.incors.plaf.kunststoff.KunststoffLookAndFeel")); + r.addMenuItem("Liquid" ,"ASPECT_LIQUID" ,FuLib.classExists("com.birosoft.liquid.LiquidLookAndFeel")); + //} - // r.addMenuItem("Basic" ,"ASPECT_BASIC" ,FuLib.classExists("BuBasicLookAndFeel")); - r.addMenuItem("Mac" ,"ASPECT_MAC" ,FuLib.classExists("com.sun.java.swing.plaf.mac.MacLookAndFeel")); - r.addMenuItem("Metal" ,"ASPECT_METAL" ,FuLib.classExists("javax.swing.plaf.metal.MetalLookAndFeel")); + // r.addMenuItem("Basic" ,"ASPECT_BASIC" ,FuLib.classExists("BuBasicLookAndFeel")); + r.addMenuItem("Mac" ,"ASPECT_MAC" ,FuLib.classExists("com.sun.java.swing.plaf.mac.MacLookAndFeel")); + r.addMenuItem("Metal" ,"ASPECT_METAL" ,FuLib.classExists("javax.swing.plaf.metal.MetalLookAndFeel")); - // if(FuLib.jdk()>1.3) - r.addMenuItem("Metouia" ,"ASPECT_METOUIA" ,FuLib.classExists("net.sourceforge.mlf.metouia.MetouiaLookAndFeel")); + // if(FuLib.jdk()>1.3) + r.addMenuItem("Metouia" ,"ASPECT_METOUIA" ,FuLib.classExists("net.sourceforge.mlf.metouia.MetouiaLookAndFeel")); - r.addMenuItem("Motif" ,"ASPECT_MOTIF" ,FuLib.classExists("com.sun.java.swing.plaf.motif.MotifLookAndFeel")); - // r.addMenuItem("Multi" ,"ASPECT_MULTI" ,FuLib.classExists("javax.swing.plaf.multi.MultiLookAndFeel")); - r.addMenuItem("Next" ,"ASPECT_NEXT" ,FuLib.classExists("nextlf.plaf.NextLookAndFeel")); - r.addMenuItem("Organic" ,"ASPECT_ORGANIC" ,FuLib.classExists("javax.swing.plaf.organic.OrganicLookAndFeel")); + r.addMenuItem("Motif" ,"ASPECT_MOTIF" ,FuLib.classExists("com.sun.java.swing.plaf.motif.MotifLookAndFeel")); + // r.addMenuItem("Multi" ,"ASPECT_MULTI" ,FuLib.classExists("javax.swing.plaf.multi.MultiLookAndFeel")); + r.addMenuItem("Next" ,"ASPECT_NEXT" ,FuLib.classExists("nextlf.plaf.NextLookAndFeel")); + r.addMenuItem("Organic" ,"ASPECT_ORGANIC" ,FuLib.classExists("javax.swing.plaf.organic.OrganicLookAndFeel")); - // if(FuLib.jdk()>1.3) - // { - r.addMenuItem("Oyoaha" ,"ASPECT_OYOAHA" ,FuLib.classExists("com.oyoaha.swing.plaf.oyoaha.OyoahaLookAndFeel")); - r.addMenuItem("Plastic" ,"ASPECT_PLASTIC" ,FuLib.classExists("com.jgoodies.looks.plastic.PlasticLookAndFeel")); - r.addMenuItem("Plastic 3D" ,"ASPECT_PLASTIC3D" ,FuLib.classExists("com.jgoodies.looks.plastic.Plastic3DLookAndFeel")); - r.addMenuItem("Plastic XP" ,"ASPECT_PLASTICXP" ,FuLib.classExists("com.jgoodies.looks.plastic.PlasticXPLookAndFeel")); - r.addMenuItem("SkinLF" ,"ASPECT_SKINLF" ,FuLib.classExists("com.l2fprod.gui.plaf.skin.SkinLookAndFeel")); - // } + // if(FuLib.jdk()>1.3) + // { + r.addMenuItem("Oyoaha" ,"ASPECT_OYOAHA" ,FuLib.classExists("com.oyoaha.swing.plaf.oyoaha.OyoahaLookAndFeel")); + r.addMenuItem("Plastic" ,"ASPECT_PLASTIC" ,FuLib.classExists("com.jgoodies.looks.plastic.PlasticLookAndFeel")); + r.addMenuItem("Plastic 3D" ,"ASPECT_PLASTIC3D" ,FuLib.classExists("com.jgoodies.looks.plastic.Plastic3DLookAndFeel")); + r.addMenuItem("Plastic XP" ,"ASPECT_PLASTICXP" ,FuLib.classExists("com.jgoodies.looks.plastic.PlasticXPLookAndFeel")); + r.addMenuItem("SkinLF" ,"ASPECT_SKINLF" ,FuLib.classExists("com.l2fprod.gui.plaf.skin.SkinLookAndFeel")); + // } - // if(!BuLib.isSwing10()) - r.addMenuItem("Slaf" ,"ASPECT_SLAF" ,FuLib.classExists("com.memoire.slaf.SlafLookAndFeel")); + // if(!BuLib.isSwing10()) + r.addMenuItem("Slaf" ,"ASPECT_SLAF" ,FuLib.classExists("com.memoire.slaf.SlafLookAndFeel")); - if(FuLib.jdk()>1.4) - r.addMenuItem("Synthetica" ,"ASPECT_SYNTHETICA" ,FuLib.classExists("de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel")); + if(FuLib.jdk()>1.4) + r.addMenuItem("Synthetica" ,"ASPECT_SYNTHETICA" ,FuLib.classExists("de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel")); - r.addMenuItem("Tonic" ,"ASPECT_TONIC" ,FuLib.classExists("com.digitprop.tonic.TonicLookAndFeel")); - r.addMenuItem("Windows" ,"ASPECT_WINDOWS" ,FuLib.classExists("com.sun.java.swing.plaf.windows.WindowsLookAndFeel")); + r.addMenuItem("Tonic" ,"ASPECT_TONIC" ,FuLib.classExists("com.digitprop.tonic.TonicLookAndFeel")); + r.addMenuItem("Windows" ,"ASPECT_WINDOWS" ,FuLib.classExists("com.sun.java.swing.plaf.windows.WindowsLookAndFeel")); - return r; - } + return r; + } - public static BuMenu buildWindowMenu() - { - BuMenu r=new BuMenu(__("Fen\xEAtres"),"MENU_FENETRES"); + public static BuMenu buildWindowMenu() + { + BuMenu r=new BuMenu(__("Fen\xEAtres"),"MENU_FENETRES"); -/* if(!FuLib.isJDistroRunning()) + /* if(!FuLib.isJDistroRunning()) r.addSubMenu(buildLookAndFeelMenu(),true);*/ - r.addSubMenu(new BuMenuInternalFrames(),true); + r.addSubMenu(new BuMenuInternalFrames(),true); - BuMenu sm; + BuMenu sm; - if(BuPreferences.BU.getBooleanProperty("menu.short",false)) - { - sm=new BuMenu(__("Organisation"),"CASCADE_ORGANISATION"); - r.addSubMenu(sm,true); - } - else - { - sm=r; - r.addSeparator(__("Organisation")); - } - sm.addMenuItem (__("Plein \xE9cran") ,"PLEINECRAN" ,true); - sm.addMenuItem (__("Cascade") ,"CASCADE" ,true); - sm.addMenuItem (__("Mosaique") ,"MOSAIQUE" ,true); - sm.addMenuItem (__("Ranger les ic\xF4nes") ,"RANGERICONES" ,true); - sm.addMenuItem (__("Ranger les palettes") ,"RANGERPALETTES" ,true); - sm.addMenuItem (__("Echanger les colonnes"),"ECHANGER_COLONNES" ,true); + if(BuPreferences.BU.getBooleanProperty("menu.short",false)) + { + sm=new BuMenu(__("Organisation"),"CASCADE_ORGANISATION"); + r.addSubMenu(sm,true); + } + else + { + sm=r; + r.addSeparator(__("Organisation")); + } + sm.addMenuItem (__("Plein \xE9cran") ,"PLEINECRAN" ,true); + sm.addMenuItem (__("Cascade") ,"CASCADE" ,true); + sm.addMenuItem (__("Mosaique") ,"MOSAIQUE" ,true); + sm.addMenuItem (__("Ranger les ic\xF4nes") ,"RANGERICONES" ,true); + sm.addMenuItem (__("Ranger les palettes") ,"RANGERPALETTES" ,true); + sm.addMenuItem (__("Echanger les colonnes"),"ECHANGER_COLONNES" ,true); - if(BuPreferences.BU.getBooleanProperty("menu.short",false)) - { - sm=new BuMenu(__("El\xE9ments"),"VISIBLE_ELEMENTS"); - r.addSubMenu(sm,true); - } - else - { - sm=r; - r.addSeparator(__("El\xE9ments")); - } - sm.addCheckBox - (__("Outils sp\xE9cifiques"),"VISIBLE_SPECIFICBAR",true ,true ); - sm.addCheckBox - (__("Colonne gauche") ,"VISIBLE_LEFTCOLUMN" ,true ,true ) - .setAccelerator - (KeyStroke.getKeyStroke(KeyEvent.VK_F11,InputEvent.ALT_MASK)); - sm.addCheckBox - (__("Colonne droite") ,"VISIBLE_RIGHTCOLUMN",true ,true ) - .setAccelerator - (KeyStroke.getKeyStroke(KeyEvent.VK_F12,InputEvent.ALT_MASK)); - sm.addCheckBox - (__("Barre d'\xE9tat") ,"VISIBLE_STATUSBAR" ,true ,true ); + if(BuPreferences.BU.getBooleanProperty("menu.short",false)) + { + sm=new BuMenu(__("El\xE9ments"),"VISIBLE_ELEMENTS"); + r.addSubMenu(sm,true); + } + else + { + sm=r; + r.addSeparator(__("El\xE9ments")); + } + sm.addCheckBox + (__("Outils sp\xE9cifiques"),"VISIBLE_SPECIFICBAR",true ,true ); + sm.addCheckBox + (__("Colonne gauche") ,"VISIBLE_LEFTCOLUMN" ,true ,true ) + .setAccelerator + (KeyStroke.getKeyStroke(KeyEvent.VK_F11,InputEvent.ALT_MASK)); + sm.addCheckBox + (__("Colonne droite") ,"VISIBLE_RIGHTCOLUMN",true ,true ) + .setAccelerator + (KeyStroke.getKeyStroke(KeyEvent.VK_F12,InputEvent.ALT_MASK)); + sm.addCheckBox + (__("Barre d'\xE9tat") ,"VISIBLE_STATUSBAR" ,true ,true ); - return r; - } + return r; + } - public static BuMenu buildHelpMenu() - { - BuMenu r=new BuMenu(__("Aide"),"MENU_AIDE"); + public static BuMenu buildHelpMenu() + { + BuMenu r=new BuMenu(__("Aide"),"MENU_AIDE"); - r.addCheckBox - (__("Assistant") ,"ASSISTANT" ,true ,true ); + r.addCheckBox + (__("Assistant") ,"ASSISTANT" ,true ,true ); - BuMenu sm; + BuMenu sm; - if(BuPreferences.BU.getBooleanProperty("menu.short",false)) - { - sm=new BuMenu(__("Documentation"),"AIDE_DOCUMENTATION"); - r.addSubMenu(sm,true); - } - else - { - sm=r; - r.addSeparator(__("Documentation") ); - } - sm.addMenuItem (__("Page principale") ,"AIDE_INDEX" ,true ,KeyEvent.VK_F1); - sm.addMenuItem (__("Pointeur") ,"POINTEURAIDE" ,true ) - .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,InputEvent.SHIFT_MASK)); - sm.addMenuItem (__("Index alphab\xE9tique") ,"INDEX_ALPHA" ,true ); - sm.addMenuItem (__("Index th\xE9matique") ,"INDEX_THEMA" ,true ); + if(BuPreferences.BU.getBooleanProperty("menu.short",false)) + { + sm=new BuMenu(__("Documentation"),"AIDE_DOCUMENTATION"); + r.addSubMenu(sm,true); + } + else + { + sm=r; + r.addSeparator(__("Documentation") ); + } + sm.addMenuItem (__("Page principale") ,"AIDE_INDEX" ,true ,KeyEvent.VK_F1); + sm.addMenuItem (__("Pointeur") ,"POINTEURAIDE" ,true ) + .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,InputEvent.SHIFT_MASK)); + sm.addMenuItem (__("Index alphab\xE9tique") ,"INDEX_ALPHA" ,true ); + sm.addMenuItem (__("Index th\xE9matique") ,"INDEX_THEMA" ,true ); - if(BuPreferences.BU.getBooleanProperty("menu.short",false)) - { - sm=new BuMenu(__("Informations"),"TEXTE_INFORMATIONS"); - r.addSubMenu(sm,true); - } - else - { - sm=r; - r.addSeparator(__("Informations") ); - } - sm.addMenuItem (__("Astuces...") ,"ASTUCE" ,true ); - sm.addMenuItem (__("A propos de...") ,"APROPOSDE" ,true ); - sm.addMenuItem (__("Licence...") ,"TEXTE_LICENCE" ,true ); + if(BuPreferences.BU.getBooleanProperty("menu.short",false)) + { + sm=new BuMenu(__("Informations"),"TEXTE_INFORMATIONS"); + r.addSubMenu(sm,true); + } + else + { + sm=r; + r.addSeparator(__("Informations") ); + } + sm.addMenuItem (__("Astuces...") ,"ASTUCE" ,true ); + sm.addMenuItem (__("A propos de...") ,"APROPOSDE" ,true ); + sm.addMenuItem (__("Licence...") ,"TEXTE_LICENCE" ,true ); - if(BuPreferences.BU.getBooleanProperty("menu.short",false)) - { - sm=new BuMenu(__("Internet"),"WWW_INTERNET"); - r.addSubMenu(sm,true); - } - else - { - sm=r; - r.addSeparator(__("Internet") ); - } - sm.addMenuItem (__("Site WWW") ,"WWW_ACCUEIL" ,true ); - // sm.addMenuItem (__("Site FTP"),"FTP_ACCUEIL",true ); - sm.addMenuItem (__("Mise \xE0 jour") ,"MAJ" ,false); - // sm.addMenuItem (__("Bogue...") ,"WWW_BOGUE" ,false); - // sm.addMenuItem (__("Achat...") ,"WWW_ACHAT" ,false); + if(BuPreferences.BU.getBooleanProperty("menu.short",false)) + { + sm=new BuMenu(__("Internet"),"WWW_INTERNET"); + r.addSubMenu(sm,true); + } + else + { + sm=r; + r.addSeparator(__("Internet") ); + } + sm.addMenuItem (__("Site WWW") ,"WWW_ACCUEIL" ,true ); + // sm.addMenuItem (__("Site FTP"),"FTP_ACCUEIL",true ); + sm.addMenuItem (__("Mise \xE0 jour") ,"MAJ" ,false); + // sm.addMenuItem (__("Bogue...") ,"WWW_BOGUE" ,false); + // sm.addMenuItem (__("Achat...") ,"WWW_ACHAT" ,false); - return r; - } + return r; + } - // Action + // Action - private Vector actionListeners_=new Vector(); + private Vector actionListeners_=new Vector(); - public void addActionListener(ActionListener _l) - { actionListeners_.addElement(_l); } + public void addActionListener(ActionListener _l) + { actionListeners_.addElement(_l); } - public void removeActionListener(ActionListener _l) - { actionListeners_.removeElement(_l); } + public void removeActionListener(ActionListener _l) + { actionListeners_.removeElement(_l); } - public void actionPerformed(ActionEvent _evt) - { - // JComponent source=(JComponent)_evt.getSource(); - // System.err.println(""+getClass()+": "+source); + public void actionPerformed(ActionEvent _evt) + { + // JComponent source=(JComponent)_evt.getSource(); + // System.err.println(""+getClass()+": "+source); - for(Enumeration e=actionListeners_.elements(); e.hasMoreElements(); ) - ((ActionListener)e.nextElement()).actionPerformed(_evt); - } + for(Enumeration e=actionListeners_.elements(); e.hasMoreElements(); ) + ((ActionListener)e.nextElement()).actionPerformed(_evt); + } } Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenuItem.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenuItem.java 2009-01-25 22:20:21 UTC (rev 4401) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuMenuItem.java 2009-01-26 18:35:58 UTC (rev 4402) @@ -15,6 +15,7 @@ import java.awt.Point; import java.awt.event.MouseEvent; +import javax.swing.Action; import javax.swing.Icon; import javax.swing.JMenuItem; @@ -65,6 +66,12 @@ setText(_label==null?"":_label); } + public BuMenuItem(Action a) + { + + setAction(a); + } + // Icon public Icon getIcon() Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/tr_en.fr_txt =================================================================== (Binary files differ) Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostBuilderSuiteCalcul.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostBuilderSuiteCalcul.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostBuilderSuiteCalcul.java 2009-01-26 18:35:58 UTC (rev 4402) @@ -0,0 +1,304 @@ +package org.fudaa.fudaa.tr.post; + +import java.awt.event.ActionEvent; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; + +import javax.swing.Icon; + +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluVariable; +import org.fudaa.ctulu.collection.CtuluArrayDouble; +import org.fudaa.dodico.ef.EfGridInterface; +import org.fudaa.dodico.h2d.type.H2dVariableType; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.visuallibrary.EbliNode; +import org.fudaa.ebli.visuallibrary.calque.CalqueLegendeWidgetAdapter; +import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; +import org.fudaa.fudaa.tr.common.TrResource; +import org.fudaa.fudaa.tr.post.TrPostSourceReaderComposite.CoupleTimeStepData; + + + + +/** + * Builder qui construit les suites de calcul. + * @author Adrien Hadoux + * + */ +public class TrPostBuilderSuiteCalcul { + + + /** + * Action qui r\xE9alise la suite de calcul. + * @author Adrien Hadoux + * + */ + public static class ActionBuildSuite extends EbliActionSimple{ + + + TrPostSource src_; + TrPostCommonImplementation impl_; + public ActionBuildSuite(TrPostSource src,String _name, Icon _ic, String _ac,TrPostCommonImplementation impl) { + super(_name, _ic, _ac); + // TODO Auto-generated constructor stub + src_= src; + src_=src; + impl_=impl; + } + + + public void actionPerformed(ActionEvent _e) { + + + //-- test de comptabilit\xE9 de fichier source --// + if(!isCompatibleSuiteCalcul(src_)){ + impl_.error(TrResource.getS("Le fichier n'est pas valide.")); + return; + } + + //-- on lance la dialog de choix des fichiers sources --// + final TrPostSource srcChoisie = impl_.getCurrentProject().getChooserMultiSources(-1); + if (srcChoisie == null) { + impl_.error(TrResource.getS(TrResource.getS("Aucune source choisie"))); + return; + } + + if(!isCompatibleSuiteCalcul(srcChoisie)){ + impl_.error(TrResource.getS("Le fichier n'est pas valide.")); + return; + } + + + List<String> error=new ArrayList<String>(); + + //-- creation de la suite de calcul --// + TrPostSource suiteCalcul=createSuiteCalcul((TrPostSourceFromReader)src_, impl_, (TrPostSourceFromReader)srcChoisie, error); + + if(suiteCalcul==null){ + //-- il se passe des choses \xE9tranges.... --// + String maxiStringLeo=""; + for(String err:error) + maxiStringLeo+=err+"\n"; + + impl_.error(maxiStringLeo); + return; + } + + + //-- on ajoute la nouvelle src r\xE9sultat comme \xE9tant une suite de calcul --// + + impl_.c_.ajouterSource(suiteCalcul); + + + //-- on cree la vue 2d correspondante --// + + TrPostProjet projet=impl_.getCurrentProject(); + TrPostLayoutPanelController controller=impl_.getCurrentLayoutFille().controller_; + final CalqueLegendeWidgetAdapter legendeCalque = new CalqueLegendeWidgetAdapter(controller.getSceneCourante(), null); + final TrPostVisuPanel pnVisu = new TrPostVisuPanel(projet.getImpl(), projet, legendeCalque, suiteCalcul); + final EbliNode node = controller.addCalque(TrResource.getS("Calque") + + (controller.getSceneCourante().getAllVue2d().size() + 1), pnVisu.getLocation(), pnVisu.getPreferredSize(), + pnVisu, legendeCalque); + // -- ajout de l INFO de la source utilis\xE9e --// + node.getWidget().getController().setDescription("Source: " + projet.formatInfoSource(srcChoisie)); + + // -- ajout des infos de cr\xE9ation --// + + TrPostSourceReaderComposite.fillInfosWithComposite(pnVisu.infosCreation_,(TrPostSourceReaderComposite)((TrPostSourceFromReader)suiteCalcul).getReader()); + + + + + } + + + } + + + /** + * R\xE9cup\xE9rer l'interface \xE0 partir du fichier + * @param _f + * @param _impl + * @return + */ + public static TrPostSourceFromReader createSourceFromeFile(File _f, TrPostCommonImplementation _impl){ + TrPostSource src= TrPostSourceBuilder.activeSourceAction(_f, _impl, _impl.getMainProgression()); + if(src!=null && src instanceof TrPostSourceFromReader) return ((TrPostSourceFromReader)src); + return null; + + } + + public static TrPostSource createSuiteCalcul(File _f, TrPostCommonImplementation _impl, TrPostSourceFromReader _reader,List<String> error){ + //-- lecture de l'interface \xE0 ajouter --// + TrPostSourceFromReader srcToConcat=createSourceFromeFile(_f, _impl); + return createSuiteCalcul(_reader, _impl, srcToConcat, error); + } + + + /** + * Algorithme de construction d'une suite de calcul. + * @param srcToConcat + * @param _impl + * @param _reader + * @param error + * @return + */ + public static TrPostSource createSuiteCalcul(TrPostSourceFromReader srcToConcat, TrPostCommonImplementation _impl, TrPostSourceFromReader _reader,List<String> error){ + TrPostSource suiteCalcul=null; + if(srcToConcat==null){ + error.add(TrResource.getS("Le fichier n'est pas valide.")); + return null; + } + + + + if(_reader.isRubar() || srcToConcat.isRubar()){ + error.add(TrResource.getS("Format Rubar non g\xE9r\xE9")); + return null; + } + + //-- comparaison des grilles --// + EfGridInterface grille=srcToConcat.getGrid(); + if(!grille.isSameStrict(_reader.getGrid(), _impl.getMainProgression(),0.01)){ + error.add(TrResource.getS("Les grilles ne sont pas identiques")); + return null; + } + + //-- comparaison des pas de temps d\xE9but et finaux --// + double[] time1=TrPostSourceFromReader.getTimes(_reader.getReader()); + double[] time2=TrPostSourceFromReader.getTimes(srcToConcat.getReader()); + + if(time1[time1.length-1]!=time2[0] && time2[time2.length-1]!=time1[0]){ + error.add(TrResource.getS("Le dernier pas de temps de l'un doit \xEAtre \xE9quivalent au premier pas de temps de l'autre.")); + return null; + } + + + //-- recuperation des pas de temps et des variables --// + // double[] timeTotal= new double[time1.length+time2.length-1]; + // if(time1[0]>time2[0]){ + // //-- on permute pour garder l'ordre --// + // double[] temp=time1; + // time1=time2; + // time2=temp; + // } + // for(int i=0;i<time1.length;i++) + // timeTotal[i]=time1[i]; + // for(int i=0;i<time2.length-1;i++) + // timeTotal[time1.length+i]=time2[i+1]; + + HashSet<H2dVariableType> listeVar=new HashSet<H2dVariableType>(); + H2dVariableType[] var=null; + for(int i=0;i<_reader.getAvailableVar().length;i++) + listeVar.add(_reader.getVariable(i)); + for(int i=0;i<srcToConcat.getAvailableVar().length;i++) + listeVar.add(srcToConcat.getVariable(i)); + var=new H2dVariableType[listeVar.size()]; + int k=0; + for(H2dVariableType v:listeVar) + var[k++]=v; + + + var=srcToConcat.variable_; + + //-- initialisation de la liste de source --// + List<TrPostSourceReaderInterface> listeSourceInterface_=new ArrayList<TrPostSourceReaderInterface>(); + + //-- on ajoute \xE0 la liste des interfaces l'interface 1 et l'intrface 2 --// + TrPostSourceReaderInterface interface1=_reader.reader_; + TrPostSourceReaderInterface interface2=srcToConcat.reader_; + + + //-- attetion au cas particulier: si une interface1 est deja une suite, il faut ajouter toutes ses interfaces --// + if(interface1 instanceof TrPostSourceReaderComposite) + listeSourceInterface_.addAll(((TrPostSourceReaderComposite)interface1).listeSourceInterface_); + else + listeSourceInterface_.add(interface1); + + if(interface2 instanceof TrPostSourceReaderComposite) + listeSourceInterface_.addAll(((TrPostSourceReaderComposite)interface2).listeSourceInterface_); + else + listeSourceInterface_.add(interface2); + + //-- ajout de tous les fichiers dans la collection --// + final Collection<File> file_=new HashSet<File>(interface1.getFiles());; + file_.addAll(interface2.getFiles()); + + + //-- on trie les listes dans l'ordre des timestep --// + Collections.sort(listeSourceInterface_,new ComparateurTrPostSourceReaderInterface()); + + //- ajout des correspondances timestep/source avec nouveau timestep --// + Map<Integer, CoupleTimeStepData> mapTimeStep_=new HashMap<Integer, CoupleTimeStepData>(); + ArrayList<Double> times=new ArrayList<Double>(); + int cpt=0; + for(TrPostSourceReaderInterface data:listeSourceInterface_){ + for(int i=0;i<data.getNbTimeStep();i++){ + + //-- ICI, pour cet algo, on doit degager tout les doublons et ne conserver que des valeurs uniques --// + if(!times.contains(data.getTimeStep(i))){ + mapTimeStep_.put(cpt,new CoupleTimeStepData(data,i)); + times.add(data.getTimeStep(i)); + cpt++; + } + } + } + + double[] timeTotal=new double[times.size()]; + for(int i=0;i<times.size();i++) + timeTotal[i]=times.get(i); + + //-- creation de la suite de calcul + TrPostSourceReaderComposite suite=null; + + suite=new TrPostSourceReaderComposite(timeTotal,var,mapTimeStep_,listeSourceInterface_,file_); + + //-- creation du source Reader --// + suiteCalcul=new TrPostSourceFromReader(suite,TrResource.getS("Suite de calcul"),grille,_impl); + + return suiteCalcul; + } + + + /** + * Methode appelee pour v\xE9rifier que ceci est bien compatible avec la suite de calcul. + * @param src + * @return + */ + public static boolean isCompatibleSuiteCalcul(TrPostSource src){ + + if(src!=null && src instanceof TrPostSourceFromReader) + return true; + return false; + } + + public static class ComparateurTrPostSourceReaderInterface implements Comparator<TrPostSourceReaderInterface>{ + + @Override + public int compare(TrPostSourceReaderInterface o1, + TrPostSourceReaderInterface o2) { + + //-- on compare selon la valeur des timesteps -- + if(o1.getTimeStep(0)>o2.getTimeStep(0)) + return 1; + + if(o1.getTimeStep(0)<o2.getTimeStep(0)) + return -1; + + + return 0; + } + + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2009-01-25 22:20:21 UTC (rev 4401) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2009-01-26 18:35:58 UTC (rev 4402) @@ -432,11 +432,12 @@ private boolean isOpenedIn(Collection<File> files, TrPostSource _in) { if (_in == null) return false; + boolean sourceGetAllFiles=true; for (File file : files) { - if (_in.isOpened(file)) return true; + if (!_in.isOpened(file)) sourceGetAllFiles=false;; } - return false; + return sourceGetAllFiles; } @@ -608,6 +609,9 @@ ic, TrPostProjet.this)); menuSimul.addSeparator(); + + + listSousMenus.add(menuSimul.addMenuItem(new TrPostBuilderSuiteCalcul.ActionBuildSuite(_src,TrResource.getS("Suite de calcul"),EbliResource.EBLI.getIcon(""),"SUITECALCUL",impl_))); listSousMenus.add(menuSimul.addMenuItem(TrResource.getS("Comparer..."), "COMPARE", ic, TrPostProjet.this)); listSousMenus.get(listSousMenus.size() - 1).setToolTipText( TrResource.getS("Comparer les r\xE9sultats avec ceux d'un autre projet")); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSource.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSource.java 2009-01-25 22:20:21 UTC (rev 4401) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSource.java 2009-01-26 18:35:58 UTC (rev 4402) @@ -303,7 +303,6 @@ final TrPostDataCreated _newData, final CtuluCommandContainer _cmd); - /** * @param _analyze permet d'initialise la base temporaire. Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java 2009-01-25 22:20:21 UTC (rev 4401) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java 2009-01-26 18:35:58 UTC (rev 4402) @@ -1455,4 +1455,19 @@ idx++; } } + + public static void fillWithSourceInfo(String _pref,Map _table, TrPostSourceReaderInterface src) { + + Collection<File> files = src.getFiles(); + int idx = 1; + String pref=_pref==null?CtuluLibString.EMPTY_STRING:_pref; + for (File file : files) { + String suffixe = files.size() > 1 ? CtuluLibString.getEspaceString(idx) : CtuluLibString.EMPTY_STRING; + _table.put(pref+TrResource.getS("Fichier r\xE9sultat") + suffixe, file.getName()); + _table.put(pref+TrResource.getS("Chemin complet") + suffixe, file.getAbsolutePath()); + // _table.put(pref+TrResource.getS("Titre Fichier r\xE9sultat") + suffixe, s); + idx++; + } + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java 2009-01-25 22:20:21 UTC (rev 4401) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java 2009-01-26 18:35:58 UTC (rev 4402) @@ -93,6 +93,24 @@ return activeSourceAction(_f, _impl, _impl.getLauncher().getCurrentPrefHydId(), _prog, null); } + + /** + * M\xE9thode qui active la sourceReaderInterface. + * @param _f + * @param _impl + * @param _prog + * @return + */ + public static TrPostSourceReaderInterface activeSourceReaderInterface(final File _f, final TrPostCommonImplementation _impl, + final ProgressionInterface _prog) { + TrPostSource src=activeSourceAction(_f, _impl, _prog); + + if(src!=null && src instanceof TrPostSourceFromReader){ + return ((TrPostSourceFromReader)src).getReader(); + }else return null; + + } + public static TrPostSource activeSourceAction(final File _f, final CtuluUI _impl, final String _id, final ProgressionInterface _prog, final Map _... [truncated message content] |