From kmorin@users.nuiton.org Mon Dec 10 18:55:53 2012 From: kmorin@users.nuiton.org To: jaxx-commits@list.nuiton.org Subject: [Jaxx-commits] r2527 - in trunk/jaxx-widgets/src/main: java/jaxx/runtime/swing/editor/bean resources/i18n Date: Mon, 10 Dec 2012 18:55:53 +0100 Message-ID: <20121210175553.338B9159C4@nuiton.codelutin.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2297989107257630866==" --===============2297989107257630866== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Author: kmorin Date: 2012-12-10 18:55:53 +0100 (Mon, 10 Dec 2012) New Revision: 2527 Url: http://nuiton.org/projects/jaxx/repository/revisions/2527 Log: refs feature #2474 Create a double list widget Added: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDouble= List.jaxx trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDouble= ListHandler.java trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDouble= ListModel.java Modified: trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_en_GB.properties trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_es_ES.properties trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_fr_FR.properties Added: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDo= ubleList.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubl= eList.jaxx (rev 0) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubl= eList.jaxx 2012-12-10 17:55:53 UTC (rev 2527) @@ -0,0 +1,54 @@ + + + + org.nuiton.util.decorator.JXPathDecorator + javax.swing.DefaultListModel + + + + + + + + =20 + + =20 + + + + + + + + + + + + + + + + + + + + + =20 + =20 + + =20 + + +
\ No newline at end of file Copied: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanD= oubleListHandler.java (from rev 2526, trunk/jaxx-widgets/src/main/java/jaxx/r= untime/swing/editor/bean/BeanListHeaderHandler.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubl= eListHandler.java (rev 0) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubl= eListHandler.java 2012-12-10 17:55:53 UTC (rev 2527) @@ -0,0 +1,157 @@ +package jaxx.runtime.swing.editor.bean; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import javax.swing.event.ListSelectionEvent; +import org.nuiton.util.decorator.JXPathDecorator; +import org.nuiton.util.decorator.MultiJXPathDecorator; +import jaxx.runtime.swing.renderer.DecoratorListCellRenderer; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.swing.JList; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.swing.DefaultListModel; +import javax.swing.ListModel; +import javax.swing.event.ListSelectionListener; +import jaxx.runtime.SwingUtil; + +/** + * Le handler d'un {@link BeanDoubleList}. + *

+ * + * @author kmorin + * @param le type des objet contenus dans le mod=C3=A8le du composant. + * @see BeanDoubleList + * @since 2.5.8 + */ +public class BeanDoubleListHandler implements PropertyChangeListener { + =20 + public static final Log log =3D LogFactory.getLog(BeanDoubleListHandler.= class); + =20 + /** ui if the handler */ + protected BeanDoubleList ui; + =20 + /** the decorator of data */ + protected MultiJXPathDecorator decorator; + =20 + /** flag to mark when handler was init (it can be init only once). */ + protected boolean init; + =20 + public BeanDoubleListHandler(BeanDoubleList ui) { + this.ui =3D ui; + } + + /** + * Initialise le handler de l'ui + * + * @param decorator le decorateur a utiliser + * @param data la liste des donn=C3=A9es a g=C3=A9rer + */ + public void init(JXPathDecorator decorator, List data) { + if (init) { + throw new IllegalStateException("can not init the handler twice"= ); + } + init =3D true; + =20 + ui.getModel().setUniverse(data); + +// // set datas +// ui.getDoubleListHeader().setBeanType(ui.getBeanType()); +// ui.getDoubleListHeader().setLabelText(ui.getLabelText()); +// ui.getDoubleListHeader().init(decorator, data); + +// // list could have changed and the complex binding is not registre= d... +// ui.removeDataBinding(BeanDoubleListHandler.BINDING_RESET_SELECTION= _ENABLED); +// ui.applyDataBinding(BeanDoubleListHandler.BINDING_RESET_SELECTION_= ENABLED); + + this.decorator =3D BeanUIUtil.createDecorator(decorator); +// + // init combobox renderer base on given decorator + final JList universeList =3D ui.getUniverseList(); + universeList.setCellRenderer(new DecoratorListCellRenderer(this.deco= rator)); + SwingUtil.fillList(universeList, data, null); + =20 + final JList selectedList =3D ui.getSelectedList(); + selectedList.setCellRenderer(new DecoratorListCellRenderer(this.deco= rator)); + +// // build popup +// popupHandler.preparePopup(ui.getSelectedToolTipText(), +// ui.getNotSelectedToolTipText(), +// ui.getI18nPrefix(), +// ui.getPopupTitleText(), +// indexes, +// ui.getPopupSeparator(), +// ui.getPopupLabel(), +// ui.getSortUp(), +// ui.getSortDown(), +// this.decorator); +// + =20 + universeList.addMouseListener(new MouseAdapter() { + =20 + public void mouseClicked(MouseEvent event) { + if (event.getClickCount() =3D=3D 2) { + int index =3D universeList.locationToIndex(event.getPoin= t()); + O item =3D (O) universeList.getModel().getElementAt(inde= x); + ui.getModel().addToSelected(item); + } + } + }); + =20 + selectedList.addMouseListener(new MouseAdapter() { + =20 + public void mouseClicked(MouseEvent event) { + if (event.getClickCount() =3D=3D 2) { + int index =3D selectedList.locationToIndex(event.getPoin= t()); + O item =3D (O) selectedList.getModel().getElementAt(inde= x); + ui.getModel().removeFromSelected(item); + } + } + }); + =20 + ui.getAddButton().addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent e) { + List selection =3D (List) Arrays.asList(universeList.g= etSelectedValues()); + ui.getModel().addToSelected(selection); + } + }); + =20 + ui.getRemoveButton().addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent e) { + List selection =3D (List) Arrays.asList(selectedList.g= etSelectedValues()); + ui.getModel().removeFromSelected(selection); + } + }); + =20 + ui.addPropertyChangeListener(this); + + } + =20 + protected void switchElement(MouseEvent event, JList container, JList re= ceiver) { + int index =3D container.locationToIndex(event.getPoint()); + DefaultListModel containerModel =3D (DefaultListModel)container.getM= odel(); + Object item =3D containerModel.remove(index); + + DefaultListModel receiverModel =3D (DefaultListModel)receiver.getMod= el(); + receiverModel.addElement(item); + } + + @Override + public void propertyChange(PropertyChangeEvent evt) { + } + =20 + public O getSelectedValue() { + JList list =3D ui.getUniverseList(); + return list =3D=3D null ? null : (O) list.getSelectedValue(); + } +} Added: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDo= ubleListModel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubl= eListModel.java (rev 0) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubl= eListModel.java 2012-12-10 17:55:53 UTC (rev 2527) @@ -0,0 +1,83 @@ +package jaxx.runtime.swing.editor.bean; + +import java.util.ArrayList; +import java.util.List; +import javax.swing.DefaultListModel; +import javax.swing.ListModel; + +/** + * The model of the BeanDoubleList widget + * @author kmorin + * @since 2.5.8 + */ +public class BeanDoubleListModel { + =20 + protected List universe =3D new ArrayList(); + =20 + protected ListModel universeModel =3D new DefaultListModel(); + =20 + protected List selected =3D new ArrayList(); + =20 + protected ListModel selectedModel =3D new DefaultListModel(); + + public List getSelected() { + return selected; + } + + public void setSelected(List selected) { + this.selected =3D selected; + } + + public List getUniverse() { + return universe; + } + + public void setUniverse(List universe) { + this.universe =3D universe; + } + + public ListModel getSelectedModel() { + return selectedModel; + } + + public void setSelectedModel(ListModel selectedModel) { + this.selectedModel =3D selectedModel; + } + + public ListModel getUniverseModel() { + return universeModel; + } + + public void setUniverseModel(ListModel universeModel) { + this.universeModel =3D universeModel; + } + =20 + public void addToSelected(O item) { + selected.add(item); + ((DefaultListModel)selectedModel).addElement(item); + ((DefaultListModel)universeModel).removeElement(item); + } + =20 + public void addToSelected(List items) { + selected.addAll(items); + for (O item : items) { + ((DefaultListModel)selectedModel).addElement(item); + ((DefaultListModel)universeModel).removeElement(item); + } + } + =20 + public void removeFromSelected(O item) { + selected.remove(item); + ((DefaultListModel)selectedModel).removeElement(item); + ((DefaultListModel)universeModel).addElement(item); + } + =20 + public void removeFromSelected(List items){ + selected.removeAll(items); + for (O item : items) { + ((DefaultListModel)selectedModel).removeElement(item); + ((DefaultListModel)universeModel).addElement(item); + } + } + =20 +} Modified: trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_en_GB.prope= rties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_en_GB.properties = 2012-11-23 10:19:07 UTC (rev 2526) +++ trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_en_GB.properties = 2012-12-10 17:55:53 UTC (rev 2527) @@ -16,6 +16,8 @@ beancombobox.action.reset.tip=3DReset the selected value beancombobox.action.sort.tip=3DChange the sorted property beancombobox.popup.title=3DChange the sorted property +beandoublelist.button.add=3DAdd +beandoublelist.button.remove=3DRemove beanlist.action.reset.tip=3DReset the selected selection beanlist.action.sort.tip=3DChange the sorted property beanlist.popup.title=3DChange the sorted property Modified: trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_es_ES.prope= rties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_es_ES.properties = 2012-11-23 10:19:07 UTC (rev 2526) +++ trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_es_ES.properties = 2012-12-10 17:55:53 UTC (rev 2527) @@ -3,64 +3,66 @@ aboutframe.ok=3DOK aboutframe.thirdparty=3DTierce partie bean.popup.label=3DObjeto '%1$s' -bean.sort.down=3DCalsificaci=C3=B3n decreciente -bean.sort.down.tip=3DClasificaci=C3=B3n decreciente actualmente utilizada -bean.sort.down.toSelect.tip=3DClic para clasificar seg=C3=BAn orden decrecie= nte -bean.sort.label=3DOrden de clasificaci=C3=B3n -bean.sort.off=3DClick para activar la clasificaci=C3=B3n de la propiedad '%1= $s' -bean.sort.on=3DClasificaci=C3=B3n realizada sobre la propiedad '%1$s' -bean.sort.up=3DClasificaci=C3=B3n creciente -bean.sort.up.tip=3DClasificaci=C3=B3n creciente actualmente utilizada -bean.sort.up.toSelect.tip=3DClic para clasificar seg=C3=BAn orden creciente +bean.sort.down=3DCalsificaci\u00c3\u00b3n decreciente +bean.sort.down.tip=3DClasificaci\u00c3\u00b3n decreciente actualmente utiliz= ada +bean.sort.down.toSelect.tip=3DClic para clasificar seg\u00c3\u00ban orden de= creciente +bean.sort.label=3DOrden de clasificaci\u00c3\u00b3n +bean.sort.off=3DClick para activar la clasificaci\u00c3\u00b3n de la propied= ad '%1$s' +bean.sort.on=3DClasificaci\u00c3\u00b3n realizada sobre la propiedad '%1$s' +bean.sort.up=3DClasificaci\u00c3\u00b3n creciente +bean.sort.up.tip=3DClasificaci\u00c3\u00b3n creciente actualmente utilizada +bean.sort.up.toSelect.tip=3DClic para clasificar seg\u00c3\u00ban orden crec= iente bean.unknown.type=3DObjeto de tipo desconocido beancombobox.action.reset.tip=3DReiniciar el valor de la lista desplegable -beancombobox.action.sort.tip=3DModificar la clasificaci=C3=B3n de la lista d= esplegable -beancombobox.popup.title=3DModificar la clasificaci=C3=B3n -beanlist.action.reset.tip=3DEliminar la selecci=C3=B3n -beanlist.action.sort.tip=3DModificar la clasificaci=C3=B3n de la lista despl= eglable -beanlist.popup.title=3DModificar la clasificaci=C3=B3n +beancombobox.action.sort.tip=3DModificar la clasificaci\u00c3\u00b3n de la l= ista desplegable +beancombobox.popup.title=3DModificar la clasificaci\u00c3\u00b3n +beandoublelist.button.add=3DAdd +beandoublelist.button.remove=3DRemove +beanlist.action.reset.tip=3DEliminar la selecci\u00c3\u00b3n +beanlist.action.sort.tip=3DModificar la clasificaci\u00c3\u00b3n de la lista= despleglable +beanlist.popup.title=3DModificar la clasificaci\u00c3\u00b3n config.action.quit=3DSalir -config.action.quit.tip=3DSalir del editor de configuraci=C3=B3n +config.action.quit.tip=3DSalir del editor de configuraci\u00c3\u00b3n config.action.reset=3DCancelar -config.action.reset.tip=3DCancelar las modificaciones de esta categor=C3=ADa +config.action.reset.tip=3DCancelar las modificaciones de esta categor\u00c3\= u00ada config.action.save=3DGuardar -config.action.save.tip=3DGuardar las modificaciones de esta categor=C3=ADa +config.action.save.tip=3DGuardar las modificaciones de esta categor\u00c3\u0= 0ada config.choice.cancel=3DCancelar config.choice.continue=3DContinuar config.choice.doNotSave=3DNo guardar config.choice.save=3DGuardar config.defaultValue=3DValor por defecto -config.defaultValue.tip=3DValor por defecto de la opci=C3=B3n -config.description=3DDescripci=C3=B3n +config.defaultValue.tip=3DValor por defecto de la opci\u00c3\u00b3n +config.description=3DDescripci\u00c3\u00b3n config.detected.callBack=3DAcciones detectadas para las opciones modificadas -config.error.category.already.exists=3Dla categor=C3=ADa '%1$s' ya existe\! +config.error.category.already.exists=3Dla categor\u00c3\u00ada '%1$s' ya exi= ste\! config.error.category.not.found=3DLa categoria '%1$s' no existe\! config.key=3DClave config.key.tip=3DCalve de la opcion config.launch.callBack=3DLanzar config.launch.callBack.tip=3DLanzar las acciones necesarias -config.message.quit.invalid.category=3DLa categor=C3=ADa '%1$s' no es valida= \! +config.message.quit.invalid.category=3DLa categor\u00c3\u00ada '%1$s' no es = valida\! config.message.quit.valid.and.modified.category=3DLa categoria '%1$s' tiene = opciones modificadas \: -config.modified=3DOpci=C3=B3n modificada (valor original \: %1$s) +config.modified=3DOpci\u00c3\u00b3n modificada (valor original \: %1$s) config.no.option.selected=3D< No hay opciones seleccionadas > -config.option.final=3DOpci=C3=B3n no modificable -config.option.label=3DOpci=C3=B3n '%1$s' (%2$s) +config.option.final=3DOpci\u00c3\u00b3n no modificable +config.option.label=3DOpci\u00c3\u00b3n '%1$s' (%2$s) config.option.modified=3DValor modificado < valor anterior \: '%1$s' - nuevo= valor \: '%2$s' > config.title=3DPreferencias -config.title.need.confirm=3DSe requiere confirmaci=C3=B3n del usuario... +config.title.need.confirm=3DSe requiere confirmaci\u00c3\u00b3n del usuario.= .. config.unmodifiable=3DNo puede ser modificado -config.unvalid=3DOpci=C3=B3n no valida (valor original \: %1$s, tipo requeri= do \: %2$s) +config.unvalid=3DOpci\u00c3\u00b3n no valida (valor original \: %1$s, tipo r= equerido \: %2$s) config.value=3DValor -config.value.tip=3DValor de la opci=C3=B3n +config.value.tip=3DValor de la opci\u00c3\u00b3n errorUI.action.close=3DCerrar errorUI.message=3Dha habido un error \! errorUI.title=3DError... -fontsize.action.default.tip=3DVolver al tama=C3=B1o por defecto -fontsize.action.down.tip=3DDisminuir el tama=C3=B1o del origen -fontsize.action.up.tip=3DAumentar el tama=C3=B1o de la fuente +fontsize.action.default.tip=3DVolver al tama\u00c3\u00b1o por defecto +fontsize.action.down.tip=3DDisminuir el tama\u00c3\u00b1o del origen +fontsize.action.up.tip=3DAumentar el tama\u00c3\u00b1o de la fuente hidor.hideTip=3DOcultar hidor.showTip=3DVer -i18neditor.empty.locales=3D< Aucune locale =C3=A0 s=C3=A9lectionner > +i18neditor.empty.locales=3D< Aucune locale \u00c3\u00a0 s\u00c3\u00a9lection= ner > i18neditor.popup.title=3DCambiar idioma i18neditor.selected=3DIdioma usado actualmente \: %1$s i18neditor.unselected=3DPara usar este idioma \: %1$s @@ -79,7 +81,7 @@ numbereditor.8=3D8 numbereditor.9=3D9 numbereditor.action.reset.tip=3DReinicializar -numbereditor.action.show.tip=3DMostar el teclado num=C3=A9rico +numbereditor.action.show.tip=3DMostar el teclado num\u00c3\u00a9rico numbereditor.clearAll=3DC numbereditor.clearOne=3DCE numbereditor.toggleSign=3D+/- Modified: trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_fr_FR.prope= rties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_fr_FR.properties = 2012-11-23 10:19:07 UTC (rev 2526) +++ trunk/jaxx-widgets/src/main/resources/i18n/jaxx-widgets_fr_FR.properties = 2012-12-10 17:55:53 UTC (rev 2527) @@ -1,68 +1,70 @@ -aboutframe.about=3D=C3=80 propos +aboutframe.about=3D\u00c3\u0080 propos aboutframe.license=3DLicence aboutframe.ok=3DOK aboutframe.thirdparty=3DTierce partie bean.popup.label=3DObjet '%1$s' -bean.sort.down=3DTri d=C3=A9croissant -bean.sort.down.tip=3DTri d=C3=A9croissant actuellement utilis=C3=A9 -bean.sort.down.toSelect.tip=3DCliquer pour trier selon l'ordre d=C3=A9croiss= ant +bean.sort.down=3DTri d\u00c3\u00a9croissant +bean.sort.down.tip=3DTri d\u00c3\u00a9croissant actuellement utilis\u00c3\u0= 0a9 +bean.sort.down.toSelect.tip=3DCliquer pour trier selon l'ordre d\u00c3\u00a9= croissant bean.sort.label=3DOrdre de tri -bean.sort.off=3DCliquer pour activer le tri sur la propri=C3=A9t=C3=A9 '%1$s' -bean.sort.on=3DLe tri est effectu=C3=A9 sur la propri=C3=A9t=C3=A9 '%1$s' +bean.sort.off=3DCliquer pour activer le tri sur la propri\u00c3\u00a9t\u00c3= \u00a9 '%1$s' +bean.sort.on=3DLe tri est effectu\u00c3\u00a9 sur la propri\u00c3\u00a9t\u00= c3\u00a9 '%1$s' bean.sort.up=3DTri croissant -bean.sort.up.tip=3DTri croissant actuellement utilis=C3=A9 +bean.sort.up.tip=3DTri croissant actuellement utilis\u00c3\u00a9 bean.sort.up.toSelect.tip=3DCliquer pour trier selon l'ordre croissant bean.unknown.type=3DObjet de type inconnu -beancombobox.action.reset.tip=3DR=C3=A9initialiser la valeur de la liste d= =C3=A9roulante -beancombobox.action.sort.tip=3DModifier le tri de la liste d=C3=A9roulante +beancombobox.action.reset.tip=3DR\u00c3\u00a9initialiser la valeur de la lis= te d\u00c3\u00a9roulante +beancombobox.action.sort.tip=3DModifier le tri de la liste d\u00c3\u00a9roul= ante beancombobox.popup.title=3DModifier le tri -beanlist.action.reset.tip=3DSupprimer la s=C3=A9lection -beanlist.action.sort.tip=3DModifier le tri de la liste d=C3=A9roulante +beandoublelist.button.add=3DAdd +beandoublelist.button.remove=3DRemove +beanlist.action.reset.tip=3DSupprimer la s\u00c3\u00a9lection +beanlist.action.sort.tip=3DModifier le tri de la liste d\u00c3\u00a9roulante beanlist.popup.title=3DModifier le tri config.action.quit=3DQuitter -config.action.quit.tip=3DQuitter l'=C3=A9diteur de configuration +config.action.quit.tip=3DQuitter l'\u00c3\u00a9diteur de configuration config.action.reset=3DAnnuler -config.action.reset.tip=3DAnnuler les modifications de cette cat=C3=A9gorie +config.action.reset.tip=3DAnnuler les modifications de cette cat\u00c3\u00a9= gorie config.action.save=3DEnregistrer -config.action.save.tip=3DSauver les modifications de cette cat=C3=A9gorie +config.action.save.tip=3DSauver les modifications de cette cat\u00c3\u00a9go= rie config.choice.cancel=3DAnnuler config.choice.continue=3DContinuer config.choice.doNotSave=3DNe pas enregistrer config.choice.save=3DEnregistrer -config.defaultValue=3DValeur par d=C3=A9faut -config.defaultValue.tip=3DValeur par d=C3=A9faut de l'option +config.defaultValue=3DValeur par d\u00c3\u00a9faut +config.defaultValue.tip=3DValeur par d\u00c3\u00a9faut de l'option config.description=3DDescription -config.detected.callBack=3DActions d=C3=A9tect=C3=A9es pour les options modi= fi=C3=A9es -config.error.category.already.exists=3DLa cat=C3=A9gorie de nom '%1$s' exist= e d=C3=A9j=C3=A0\! -config.error.category.not.found=3DLa cat=C3=A9gorie de nom '%1$s' n'existe p= as\! +config.detected.callBack=3DActions d\u00c3\u00a9tect\u00c3\u00a9es pour les = options modifi\u00c3\u00a9es +config.error.category.already.exists=3DLa cat\u00c3\u00a9gorie de nom '%1$s'= existe d\u00c3\u00a9j\u00c3\u00a0\! +config.error.category.not.found=3DLa cat\u00c3\u00a9gorie de nom '%1$s' n'ex= iste pas\! config.key=3DClef config.key.tip=3DClef de l'option config.launch.callBack=3DLancer -config.launch.callBack.tip=3DLancer les actions n=C3=A9cessaires -config.message.quit.invalid.category=3DLa cat=C3=A9gorie '%1$s' n'est pas va= lide\! -config.message.quit.valid.and.modified.category=3DLa cat=C3=A9gorie '%1$s' p= oss=C3=A8dent des options modifi=C3=A9es \: -config.modified=3DOption modifi=C3=A9e (valeur originale \: %1$s) -config.no.option.selected=3D< Pas d'option s=C3=A9lectionn=C3=A9e > +config.launch.callBack.tip=3DLancer les actions n\u00c3\u00a9cessaires +config.message.quit.invalid.category=3DLa cat\u00c3\u00a9gorie '%1$s' n'est = pas valide\! +config.message.quit.valid.and.modified.category=3DLa cat\u00c3\u00a9gorie '%= 1$s' poss\u00c3\u00a8dent des options modifi\u00c3\u00a9es \: +config.modified=3DOption modifi\u00c3\u00a9e (valeur originale \: %1$s) +config.no.option.selected=3D< Pas d'option s\u00c3\u00a9lectionn\u00c3\u00a9= e > config.option.final=3DOption non modifiable config.option.label=3DOption '%1$s' (%2$s) -config.option.modified=3DValeur modifi=C3=A9e < ancienne valeur \: '%1$s' - = nouvelle valeur \: '%2$s' > -config.title=3DPr=C3=A9f=C3=A9rences +config.option.modified=3DValeur modifi\u00c3\u00a9e < ancienne valeur \: '%1= $s' - nouvelle valeur \: '%2$s' > +config.title=3DPr\u00c3\u00a9f\u00c3\u00a9rences config.title.need.confirm=3DUne confirmation de votre part est requise... -config.unmodifiable=3DNe peut pas =C3=AAtre modifi=C3=A9 +config.unmodifiable=3DNe peut pas \u00c3\u00aatre modifi\u00c3\u00a9 config.unvalid=3DOption non valide (valeur originale \: %1$s, type requis \:= %2$s) config.value=3DValeur config.value.tip=3DValeur de l'option errorUI.action.close=3DFermer errorUI.message=3DUne erreur est survenue \! errorUI.title=3DErreur... -fontsize.action.default.tip=3DRetour sur la taille par d=C3=A9faut +fontsize.action.default.tip=3DRetour sur la taille par d\u00c3\u00a9faut fontsize.action.down.tip=3DDiminuer la taille de la police fontsize.action.up.tip=3DAugmenter la taille de la police hidor.hideTip=3DCacher hidor.showTip=3DVoir -i18neditor.empty.locales=3D< Aucune locale =C3=A0 s=C3=A9lectionner > +i18neditor.empty.locales=3D< Aucune locale \u00c3\u00a0 s\u00c3\u00a9lection= ner > i18neditor.popup.title=3DChanger de langue -i18neditor.selected=3DLangue actuellement utilis=C3=A9e \: %1$s +i18neditor.selected=3DLangue actuellement utilis\u00c3\u00a9e \: %1$s i18neditor.unselected=3DPour utiliser cette langue \: %1$s listSelector.hideList=3DCacher la liste listSelector.showList=3DAfficher la liste @@ -78,8 +80,8 @@ numbereditor.7=3D7 numbereditor.8=3D8 numbereditor.9=3D9 -numbereditor.action.reset.tip=3DR=C3=A9initialiser -numbereditor.action.show.tip=3DAfficher le pav=C3=A9 num=C3=A9rique +numbereditor.action.reset.tip=3DR\u00c3\u00a9initialiser +numbereditor.action.show.tip=3DAfficher le pav\u00c3\u00a9 num\u00c3\u00a9ri= que numbereditor.clearAll=3DC numbereditor.clearOne=3DCE numbereditor.toggleSign=3D+/- --===============2297989107257630866==--