Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b28aaabc by Tony Chemit at 2021-03-12T14:03:14+01:00 Amélioration des éditeurs inline - Closes #1800 - - - - - 990796ec by Tony Chemit at 2021-03-12T14:05:26+01:00 Fix bad toolkit release - - - - - 11 changed files: - client/core/pom.xml - client/core/src/main/java/fr/ird/observe/client/util/UIHelper.java - client/core/src/main/java/fr/ird/observe/client/util/treetable/JaxxComboBoxCellEditor.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/ll/tree/ActivityLlPairingTreeTable.java - client/datasource/editor/ll/pom.xml - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripGearUseFeaturesUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIInitializer.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripGearUseFeaturesUIHandler.java - pom.xml Changes: ===================================== client/core/pom.xml ===================================== @@ -271,10 +271,6 @@ <groupId>org.swinglabs.swingx</groupId> <artifactId>swingx-painters</artifactId> </dependency> - <dependency> - <groupId>org.swinglabs.swingx</groupId> - <artifactId>swingx-autocomplete</artifactId> - </dependency> <dependency> <groupId>org.swinglabs</groupId> <artifactId>jxlayer</artifactId> ===================================== client/core/src/main/java/fr/ird/observe/client/util/UIHelper.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.client.util; import fr.ird.observe.client.ClientUIContextApplicationComponent; +import fr.ird.observe.client.util.treetable.JaxxComboBoxCellEditor; import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper; import fr.ird.observe.dto.reference.DataDtoReference; import fr.ird.observe.dto.reference.ReferentialDtoReference; @@ -29,19 +30,15 @@ import io.ultreia.java4all.jaxx.widgets.choice.BooleanTableCellRenderer; import io.ultreia.java4all.jaxx.widgets.combobox.JaxxComboBox; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; -import org.jdesktop.swingx.autocomplete.ObjectToStringConverter; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.JXPathDecorator; +import org.nuiton.decorator.MultiJXPathDecorator; import org.nuiton.jaxx.runtime.JAXXObject; import org.nuiton.jaxx.runtime.context.JAXXInitialContext; import org.nuiton.jaxx.runtime.swing.SwingUtil; -import org.nuiton.jaxx.runtime.swing.renderer.DecoratorListCellRenderer; import org.nuiton.jaxx.runtime.swing.renderer.DecoratorTableCellRenderer; -import org.nuiton.jaxx.widgets.BeanUIUtil; import org.nuiton.jaxx.widgets.error.ErrorDialogUI; -import javax.swing.JComboBox; import javax.swing.JTable; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; @@ -51,7 +48,6 @@ import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -70,6 +66,16 @@ public class UIHelper extends SwingUtil { static private final Logger log = LogManager.getLogger(UIHelper.class); + public static class LogPropertyChanged implements PropertyChangeListener { + @Override + public void propertyChange(PropertyChangeEvent evt) { + String name = evt.getPropertyName(); + Object oldValue = evt.getOldValue(); + Object newValue = evt.getNewValue(); + log.debug(evt.getSource() + " - Property [" + name + "] has changed from " + oldValue + " to " + newValue); + } + } + public static void addApplicationIcon(Window window) { window.setIconImage(createImageIcon("logo.png").getImage()); } @@ -152,35 +158,10 @@ public class UIHelper extends SwingUtil { return new JAXXInitialContext().add(model).add(ui); } - public static <B> ComboBoxCellEditor newDataColumnEditor(List<B> data, Decorator<B> decorator) { - JComboBox<B> comboBox = new JComboBox<>(); - return newDataColumnEditor(comboBox, data, decorator); - } - - public static <B> ComboBoxCellEditor newDataColumnEditor(JComboBox<B> comboBox, List<B> data, Decorator<B> decorator) { - comboBox.setRenderer(new DecoratorListCellRenderer<>(decorator)); - prepareComboBoxData(comboBox, data); - ObjectToStringConverter converter = BeanUIUtil.newDecoratedObjectToStringConverter(decorator); - BeanUIUtil.decorate(comboBox, converter); - return new ComboBoxCellEditor(comboBox); - } - - public static <B> void prepareComboBoxData(JComboBox<B> comboBox, List<B> data) { - List<B> dataToList = new ArrayList<>(data); - // add a null value at first position - if (!dataToList.isEmpty() && dataToList.get(0) != null) { - dataToList.add(0, null); - } - fillComboBox(comboBox, dataToList, null); - } - - public static class LogPropertyChanged implements PropertyChangeListener { - @Override - public void propertyChange(PropertyChangeEvent evt) { - String name = evt.getPropertyName(); - Object oldValue = evt.getOldValue(); - Object newValue = evt.getNewValue(); - log.debug(evt.getSource() + " - Property [" + name + "] has changed from " + oldValue + " to " + newValue); - } + @SuppressWarnings({"unchecked", "rawtypes"}) + public static <B> JaxxComboBoxCellEditor newDataColumnEditor(List<B> data, MultiJXPathDecorator<B> decorator) { + JaxxComboBoxCellEditor cellEditor = JaxxComboBoxCellEditor.newEditor(decorator.getType(), decorator); + cellEditor.getComponent().setData((List) data); + return cellEditor; } } ===================================== client/core/src/main/java/fr/ird/observe/client/util/treetable/JaxxComboBoxCellEditor.java ===================================== @@ -46,9 +46,10 @@ public class JaxxComboBoxCellEditor extends DefaultCellEditor { String entityLabel = ObserveI18nDecoratorHelper.getType(dataType); editor.setPopupTitleText(t("observe.data.Data.type", entityLabel)); editor.setBeanType(dataType); - editor.setMinimumSize(new Dimension(0, 24)); + editor.setMinimumSize(new Dimension(0, 22)); editor.getConfig().setFilterable(false); editor.getConfig().setTabToSelect(false); + editor.getConfig().setShowReset(true); editor.init(decorator, Collections.emptyList()); return new JaxxComboBoxCellEditor(editor); } ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/ll/tree/ActivityLlPairingTreeTable.java ===================================== @@ -263,7 +263,7 @@ public class ActivityLlPairingTreeTable extends JXTreeTable implements WithClien editorBuilder.add(this.booleanEditor = table.getDefaultEditor(Boolean.class)); editorBuilder.add(this.pairingEditor = JaxxComboBoxCellEditor.newEditor(ActivityPairingResultItem.class, decorator)); - pairingEditor.getComponent().setShowReset(true); +// pairingEditor.getComponent().setShowReset(true); this.editors = editorBuilder.build(); } ===================================== client/datasource/editor/ll/pom.xml ===================================== @@ -202,10 +202,6 @@ <groupId>org.swinglabs.swingx</groupId> <artifactId>swingx-core</artifactId> </dependency> - <dependency> - <groupId>org.swinglabs.swingx</groupId> - <artifactId>swingx-autocomplete</artifactId> - </dependency> <dependency> <groupId>org.geotools</groupId> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripGearUseFeaturesUIHandler.java ===================================== @@ -77,6 +77,7 @@ public class TripGearUseFeaturesUIHandler extends GeneratedTripGearUseFeaturesUI { // init measurements table JTable table = ui.getMeasurementsTable(); + table.setRowHeight(22); UIHelper.setI18nTableHeaderRenderer(table, n("observe.data.common.GearUseFeatures.gearCharacteristic.short"), n("observe.data.common.GearUseFeatures.gearCharacteristic"), ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetCatchUIHandler.java ===================================== @@ -118,7 +118,7 @@ public class SetCatchUIHandler extends GeneratedSetCatchUIHandler { { // init size measures table JTable table = ui.getSizeMeasuresTable(); - + table.setRowHeight(22); UIHelper.setI18nTableHeaderRenderer(table, n("observe.data.ll.observation.SizeMeasure.sizeMeasureType.short"), n("observe.data.ll.observation.SizeMeasure.sizeMeasureType"), @@ -146,6 +146,7 @@ public class SetCatchUIHandler extends GeneratedSetCatchUIHandler { { // init weight measures table JTable table = ui.getWeightMeasuresTable(); + table.setRowHeight(22); UIHelper.setI18nTableHeaderRenderer(table, n("observe.data.ll.observation.WeightMeasure.weightMeasureType.short"), n("observe.data.ll.observation.WeightMeasure.weightMeasureType"), ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIHandler.java ===================================== @@ -38,6 +38,7 @@ import fr.ird.observe.dto.data.ll.observation.SectionWithTemplateDto; import fr.ird.observe.dto.data.ll.observation.SetDetailCompositionDto; import fr.ird.observe.dto.form.Form; import io.ultreia.java4all.i18n.I18n; +import io.ultreia.java4all.jaxx.widgets.combobox.JaxxComboBox; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -49,7 +50,6 @@ import org.jdesktop.swingx.renderer.StringValue; import org.nuiton.jaxx.runtime.swing.JVetoableTabbedPane; import org.nuiton.jaxx.validator.swing.SwingValidator; -import javax.swing.JComboBox; import javax.swing.JOptionPane; import java.awt.Color; import java.beans.PropertyChangeListener; @@ -274,8 +274,8 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition if (getModel().getStates().isCanGenerate()) { // update section templates list List<SectionTemplateDto> sectionTemplates = getModel().getStates().getSectionTemplatesTableModel().getNotEmptyData(); - @SuppressWarnings("unchecked") JComboBox<SectionTemplateDto> comboBox = (JComboBox<SectionTemplateDto>) getUi().getSectionsTable().getClientProperty(SECTION_TEMPLATES_EDITOR); - UIHelper.prepareComboBoxData(comboBox, sectionTemplates); + @SuppressWarnings("unchecked") JaxxComboBox<SectionTemplateDto> comboBox = (JaxxComboBox<SectionTemplateDto>) getUi().getSectionsTable().getClientProperty(SECTION_TEMPLATES_EDITOR); + comboBox.setData(sectionTemplates); //2014-FIXME See why templates are not well reselect in cell editor //2014-FIXME See cell editor does not loose focus and empty selection when losing focus } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIInitializer.java ===================================== @@ -45,16 +45,15 @@ import fr.ird.observe.client.datasource.editor.ll.data.observation.composition.t import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.client.util.init.DefaultUIInitializerResult; import fr.ird.observe.client.util.init.UIInitHelper; +import fr.ird.observe.client.util.treetable.JaxxComboBoxCellEditor; import fr.ird.observe.dto.data.ll.observation.BranchlineDto; import fr.ird.observe.dto.data.ll.observation.SectionTemplateDto; import fr.ird.observe.dto.decoration.DecoratorService; import io.ultreia.java4all.jaxx.widgets.choice.BeanCheckBox; -import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; -import org.nuiton.decorator.Decorator; +import org.nuiton.decorator.MultiJXPathDecorator; import org.nuiton.jaxx.widgets.number.NumberCellEditor; import javax.swing.AbstractAction; -import javax.swing.JComboBox; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.table.TableCellRenderer; @@ -121,6 +120,7 @@ public class SetDetailCompositionUIInitializer extends ContentSimpleUIInitialize protected void initSections(SectionTableModel tableModel) { JTable table = ui.getSectionsTable(); + table.setRowHeight(22); UIHelper.setI18nTableHeaderRenderer(table, n("observe.data.ll.observation.Section.settingIdentifier"), n("observe.data.ll.observation.Section.settingIdentifier"), @@ -137,10 +137,9 @@ public class SetDetailCompositionUIInitializer extends ContentSimpleUIInitialize UIHelper.setTableColumnEditor(table, 1, NumberCellEditor.newIntegerColumnEditor()); DecoratorService decoratorService = ui.getHandler().getDecoratorService(); - Decorator<SectionTemplateDto> sectionTemplateDecorator = decoratorService.getDecoratorByType(SectionTemplateDto.class); - JComboBox<SectionTemplateDto> comboBox = new JComboBox<>(); - table.putClientProperty(SetDetailCompositionUIHandler.SECTION_TEMPLATES_EDITOR, comboBox); - ComboBoxCellEditor editor = UIHelper.newDataColumnEditor(comboBox, Collections.emptyList(), sectionTemplateDecorator); + MultiJXPathDecorator<SectionTemplateDto> sectionTemplateDecorator = (MultiJXPathDecorator<SectionTemplateDto>) decoratorService.getDecoratorByType(SectionTemplateDto.class); + JaxxComboBoxCellEditor editor = UIHelper.newDataColumnEditor(Collections.emptyList(), sectionTemplateDecorator); + table.putClientProperty(SetDetailCompositionUIHandler.SECTION_TEMPLATES_EDITOR, editor.getComponent()); UIHelper.setTableColumnEditor(table, 2, editor); tableModel.installTableKeyListener(table); ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripGearUseFeaturesUIHandler.java ===================================== @@ -77,6 +77,7 @@ public class TripGearUseFeaturesUIHandler extends GeneratedTripGearUseFeaturesUI { // init measurements table JTable table = ui.getMeasurementsTable(); + table.setRowHeight(22); UIHelper.setI18nTableHeaderRenderer(table, n("observe.data.common.GearUseFeatures.gearCharacteristic.short"), n("observe.data.common.GearUseFeatures.gearCharacteristic"), ===================================== pom.xml ===================================== @@ -151,7 +151,7 @@ <maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format> <buildDate>${maven.build.timestamp}</buildDate> - <toolkit.version>5.0.8</toolkit.version> + <toolkit.version>5.0.9</toolkit.version> <lib.version.ognl>3.1.28</lib.version.ognl> <!--can't use 1.4.197 (date has changed + blob also)--> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9d65cd9dc22d878d9c6d3cfe6... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9d65cd9dc22d878d9c6d3cfe6... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT