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==--