Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
9c8ca5a9
by Tony Chemit at 2020-12-31T10:26:13+01:00
9 changed files:
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripUIHelper.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUIModel.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUI.jcss
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUIHandler.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripUIModel.java
- models/dto/src/main/java/fr/ird/observe/dto/data/ps/common/TripDto.java
Changes:
| ... | ... | @@ -319,6 +319,7 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe |
| 319 | 319 |
public final void fixFormSize() {
|
| 320 | 320 |
// we want to see the hole form on screen
|
| 321 | 321 |
ui.setMinimumSize(ui.getPreferredSize());
|
| 322 |
+ getDataSourceEditor().updateContentSize();
|
|
| 322 | 323 |
}
|
| 323 | 324 |
|
| 324 | 325 |
/**
|
| ... | ... | @@ -46,7 +46,6 @@ import org.apache.logging.log4j.Logger; |
| 46 | 46 |
import javax.swing.Icon;
|
| 47 | 47 |
import javax.swing.JComponent;
|
| 48 | 48 |
import javax.swing.KeyStroke;
|
| 49 |
-import javax.swing.SwingUtilities;
|
|
| 50 | 49 |
import javax.swing.tree.TreeNode;
|
| 51 | 50 |
import java.awt.event.ActionEvent;
|
| 52 | 51 |
import java.util.Objects;
|
| ... | ... | @@ -253,15 +252,12 @@ public class ChangeMode<U extends ContentUI> extends ContentUIActionSupport<U> { |
| 253 | 252 |
|
| 254 | 253 |
public void rebuildEditableZone(U ui) {
|
| 255 | 254 |
ui.getHandler().getDataSourceEditor().getMessageView().setVisible(true);
|
| 256 |
- SwingUtilities.invokeLater(ui.getHandler()::fixFormSize);
|
|
| 257 |
- getDataSourceEditor().updateContentSize();
|
|
| 255 |
+ ui.getHandler().fixFormSize();
|
|
| 258 | 256 |
}
|
| 259 | 257 |
|
| 260 | 258 |
protected void rebuildNotEditableZone(U ui) {
|
| 261 | 259 |
ui.getHandler().getDataSourceEditor().getMessageView().setVisible(false);
|
| 262 | 260 |
ui.getHandler().fixFormSize();
|
| 263 |
- getDataSourceEditor().updateContentSize();
|
|
| 264 |
- SwingUtilities.invokeLater(ui.getHandler()::fixFormSize);
|
|
| 265 | 261 |
}
|
| 266 | 262 |
|
| 267 | 263 |
protected void rebuildFocus(U ui, ContentMode mode) {
|
| ... | ... | @@ -116,6 +116,7 @@ public class TripUIHelper<D extends DataDto, U extends ContentOpenableUI<D, U> & |
| 116 | 116 |
TripMapUI tripMap1 = ui.getTripMap();
|
| 117 | 117 |
if (selectedComponent.getSelectedComponent().equals(tripMap1)) {
|
| 118 | 118 |
ui.getActions().setVisible(false);
|
| 119 |
+ ui.getHandler().getDataSourceEditor().getMessageView().setVisible(false);
|
|
| 119 | 120 |
if (ui.isBuildMap()) {
|
| 120 | 121 |
try {
|
| 121 | 122 |
buildTripMap();
|
| ... | ... | @@ -125,6 +126,9 @@ public class TripUIHelper<D extends DataDto, U extends ContentOpenableUI<D, U> & |
| 125 | 126 |
}
|
| 126 | 127 |
} else {
|
| 127 | 128 |
ui.getActions().setVisible(true);
|
| 129 |
+ ui.getHandler().getDataSourceEditor().getMessageView().setVisible(true);
|
|
| 130 |
+ ui.getHandler().fixFormSize();
|
|
| 131 |
+ |
|
| 128 | 132 |
}
|
| 129 | 133 |
}
|
| 130 | 134 |
|
| ... | ... | @@ -37,6 +37,7 @@ import java.util.Objects; |
| 37 | 37 |
import static io.ultreia.java4all.i18n.I18n.t;
|
| 38 | 38 |
|
| 39 | 39 |
/**
|
| 40 |
+ * FIXME:Focus tab0 ui.getTripType(), tab1 ui.getTripMap().getZoomIt()
|
|
| 40 | 41 |
* Created on 8/27/14.
|
| 41 | 42 |
*
|
| 42 | 43 |
* @author Tony Chemit - dev@tchemit.fr
|
| ... | ... | @@ -74,38 +75,6 @@ class TripUIHandler extends GeneratedTripUIHandler { |
| 74 | 75 |
.install(ui.getSave());
|
| 75 | 76 |
}
|
| 76 | 77 |
|
| 77 |
- // @Override
|
|
| 78 |
-// protected ContentOpenableUILayoutFocusTraversalPolicy<TripUI> createFocusTraversalPolicy() {
|
|
| 79 |
-// return new ContentOpenableUILayoutFocusTraversalPolicy<TripUI>() {
|
|
| 80 |
-//
|
|
| 81 |
-//// @Override
|
|
| 82 |
-//// protected Component getFirstComponentForEdit(Container aContainer) {
|
|
| 83 |
-//// TripUI ui = getUi();
|
|
| 84 |
-//// switch (ui.getMainTabbedPane().getSelectedIndex()) {
|
|
| 85 |
-//// case 0:
|
|
| 86 |
-//// return ui.getTripType();
|
|
| 87 |
-//// case 1:
|
|
| 88 |
-//// return ui.getTripMap().getZoomIt();
|
|
| 89 |
-//// }
|
|
| 90 |
-//// return ui.getTripType();
|
|
| 91 |
-//// }
|
|
| 92 |
-//
|
|
| 93 |
-// @Override
|
|
| 94 |
-// protected Component getLastComponentForEdit(Container aContainer) {
|
|
| 95 |
-// TripUI ui = getUi();
|
|
| 96 |
-// switch (ui.getMainTabbedPane().getSelectedIndex()) {
|
|
| 97 |
-// case 0:
|
|
| 98 |
-// return ui.getToggleConfigure();
|
|
| 99 |
-// case 1:
|
|
| 100 |
-// return ui.getTripMap().getExportPng();
|
|
| 101 |
-// }
|
|
| 102 |
-// //TODO-Focus
|
|
| 103 |
-// return null;
|
|
| 104 |
-// }
|
|
| 105 |
-//
|
|
| 106 |
-// };
|
|
| 107 |
-// }
|
|
| 108 |
- |
|
| 109 | 78 |
@Override
|
| 110 | 79 |
public void onOpenForm(Form<?> form) {
|
| 111 | 80 |
tripUIHelper.onOpenModel(getModel().getStates().getSelectedId());
|
| ... | ... | @@ -31,8 +31,6 @@ import fr.ird.observe.dto.data.ll.common.TripDto; |
| 31 | 31 |
import fr.ird.observe.dto.form.Form;
|
| 32 | 32 |
import fr.ird.observe.services.ObserveServicesProvider;
|
| 33 | 33 |
import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
|
| 34 |
-import org.apache.logging.log4j.LogManager;
|
|
| 35 |
-import org.apache.logging.log4j.Logger;
|
|
| 36 | 34 |
|
| 37 | 35 |
import java.beans.PropertyChangeListener;
|
| 38 | 36 |
import java.beans.PropertyVetoException;
|
| ... | ... | @@ -47,8 +45,6 @@ import java.beans.PropertyVetoException; |
| 47 | 45 |
@GenerateJavaBeanDefinition
|
| 48 | 46 |
public class TripUIModel extends GeneratedTripUIModel {
|
| 49 | 47 |
|
| 50 |
- private static final Logger log = LogManager.getLogger(TripUIModel.class);
|
|
| 51 |
- |
|
| 52 | 48 |
public TripUIModel(TripUINavigationNode source) {
|
| 53 | 49 |
super(source);
|
| 54 | 50 |
}
|
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 |
*/
|
| 22 | 22 |
|
| 23 | 23 |
#ocean {
|
| 24 |
- enabled:{!states.isUpdatingMode() || model.isRouteEmpty()};
|
|
| 24 |
+ enabled:{!states.isUpdatingMode() || bean.isRouteEmpty()};
|
|
| 25 | 25 |
}
|
| 26 | 26 |
|
| 27 | 27 |
#formsUrl {
|
| ... | ... | @@ -21,20 +21,13 @@ |
| 21 | 21 |
*/
|
| 22 | 22 |
package fr.ird.observe.client.datasource.editor.ps.data.common;
|
| 23 | 23 |
|
| 24 |
-import fr.ird.observe.client.datasource.editor.api.content.actions.create.CreateNewOpenableUI;
|
|
| 25 | 24 |
import fr.ird.observe.client.datasource.editor.api.content.data.TripUIHelper;
|
| 26 |
-import fr.ird.observe.client.datasource.editor.api.content.data.open.ContentOpenableUIModelStates;
|
|
| 27 |
-import fr.ird.observe.client.datasource.editor.ps.data.PsTripActionHelper;
|
|
| 28 |
-import fr.ird.observe.client.datasource.editor.ps.data.observation.ActivityListUINavigationNode;
|
|
| 29 | 25 |
import fr.ird.observe.dto.data.ps.common.TripDto;
|
| 30 |
-import fr.ird.observe.dto.data.ps.observation.ActivityDto;
|
|
| 31 | 26 |
import fr.ird.observe.dto.form.Form;
|
| 32 | 27 |
|
| 33 |
-import javax.swing.JMenuItem;
|
|
| 34 |
- |
|
| 35 |
-import static fr.ird.observe.client.datasource.editor.api.content.actions.InsertMenuAction.PROPERTY_NAME_UPDATING_MODE_AND_NOT_MODIFIED;
|
|
| 36 |
- |
|
| 37 | 28 |
/**
|
| 29 |
+ * FIXME:Focus tab0 ui.getCaptain(), tab1 ui.getTripMap().getZoomIt()
|
|
| 30 |
+ *
|
|
| 38 | 31 |
* @author Tony Chemit - dev@tchemit.fr
|
| 39 | 32 |
* @since 1.0
|
| 40 | 33 |
*/
|
| ... | ... | @@ -53,59 +46,6 @@ class TripUIHandler extends GeneratedTripUIHandler { |
| 53 | 46 |
ui.getLandingHarbour().getIndexes().setSelectedButton(1);
|
| 54 | 47 |
}
|
| 55 | 48 |
|
| 56 |
- @Override
|
|
| 57 |
- protected void installCreateNewAction() {
|
|
| 58 |
- super.installCreateNewAction();
|
|
| 59 |
- JMenuItem editor = CreateNewOpenableUI.installAction(ui,
|
|
| 60 |
- ActivityListUINavigationNode.class,
|
|
| 61 |
- n -> ((TripUINavigationNode) n).getRouteListUINavigationNode().getRouteUINavigationNode(ui.getModel().getClientUIContext().getObserveEditModel().getPs().getObservationRoute().getId()).getActivityListUINavigationNode(),
|
|
| 62 |
- PsTripActionHelper.createNewObservationActionPredicate(ui, ActivityDto.class));
|
|
| 63 |
- ui.getModel().addPropertyChangeListener("routeOpen", evt -> {
|
|
| 64 |
- if (!evt.getPropertyName().equals("routeOpen") || !evt.getPropertyName().equals(PROPERTY_NAME_UPDATING_MODE_AND_NOT_MODIFIED)) {
|
|
| 65 |
- return;
|
|
| 66 |
- }
|
|
| 67 |
- TripUIModel source = (TripUIModel) evt.getSource();
|
|
| 68 |
- editor.setEnabled(source.isRouteOpen() && source.getStates().isUpdatingMode() && !source.getStates().isModified());
|
|
| 69 |
- });
|
|
| 70 |
- |
|
| 71 |
- ui.getModel().getStates().addPropertyChangeListener(PROPERTY_NAME_UPDATING_MODE_AND_NOT_MODIFIED, evt -> {
|
|
| 72 |
- ContentOpenableUIModelStates<?> source = (ContentOpenableUIModelStates<?>) evt.getSource();
|
|
| 73 |
- editor.setEnabled(getModel().isRouteOpen() && source.isUpdatingMode() && !source.isModified());
|
|
| 74 |
- });
|
|
| 75 |
- }
|
|
| 76 |
- |
|
| 77 |
-// @Override
|
|
| 78 |
-// protected ContentOpenableUILayoutFocusTraversalPolicy<TripUI> createFocusTraversalPolicy() {
|
|
| 79 |
-// return new ContentOpenableUILayoutFocusTraversalPolicy<TripUI>() {
|
|
| 80 |
-//
|
|
| 81 |
-//// @Override
|
|
| 82 |
-//// protected Component getFirstComponentForEdit(Container aContainer) {
|
|
| 83 |
-//// switch (ui.getMainTabbedPane().getSelectedIndex()) {
|
|
| 84 |
-//// case 0:
|
|
| 85 |
-//// return ui.getCaptain();
|
|
| 86 |
-//// case 1:
|
|
| 87 |
-//// return ui.getTripMap().getZoomIt();
|
|
| 88 |
-//// }
|
|
| 89 |
-//// return null;
|
|
| 90 |
-//// }
|
|
| 91 |
-//
|
|
| 92 |
-// @Override
|
|
| 93 |
-// protected Component getLastComponentForEdit(Container aContainer) {
|
|
| 94 |
-// TripUI ui = getUi();
|
|
| 95 |
-// if (!ui.getCreate().isEnabled()) {
|
|
| 96 |
-// return ui.getDelete();
|
|
| 97 |
-// }
|
|
| 98 |
-// return ui.getCreate();
|
|
| 99 |
-// }
|
|
| 100 |
-// };
|
|
| 101 |
-// }
|
|
| 102 |
- |
|
| 103 |
-// @Override
|
|
| 104 |
-// protected Form<TripDto> onOpenForm() {
|
|
| 105 |
-// tripUIHelper.onOpenModel(getModel().getStates().getSelectedId());
|
|
| 106 |
-// return super.onOpenForm();
|
|
| 107 |
-// }
|
|
| 108 |
- |
|
| 109 | 49 |
@Override
|
| 110 | 50 |
public void onOpenForm(Form<?> form) {
|
| 111 | 51 |
tripUIHelper.onOpenModel(getModel().getStates().getSelectedId());
|
| ... | ... | @@ -117,18 +57,5 @@ class TripUIHandler extends GeneratedTripUIHandler { |
| 117 | 57 |
super.onOpenAfterOpenModel();
|
| 118 | 58 |
tripUIHelper.onOpenAfterOpenModel();
|
| 119 | 59 |
}
|
| 120 |
- |
|
| 121 |
-// @Override
|
|
| 122 |
-// public void startEditUI() {
|
|
| 123 |
-// super.startEditUI();
|
|
| 124 |
-// ui.getOcean().setEnabled(getModel().getStates().getBean().getRouteSize() == 0);
|
|
| 125 |
-// ui.getAddActivity().setEnabled(ui.getAddRoute().isEnabled() && ui.getModel().getClientUIContext().getObserveEditModel().getPs().getObservationRoute().isEnabled());
|
|
| 126 |
-// }
|
|
| 127 |
- |
|
| 128 |
-// @Override
|
|
| 129 |
-// public void stopEditUI() {
|
|
| 130 |
-// super.stopEditUI();
|
|
| 131 |
-// ui.getAddActivity().setEnabled(false);
|
|
| 132 |
-// }
|
|
| 133 | 60 |
}
|
| 134 | 61 |
|
| ... | ... | @@ -29,8 +29,6 @@ import fr.ird.observe.dto.data.ps.common.TripDto; |
| 29 | 29 |
import fr.ird.observe.dto.form.Form;
|
| 30 | 30 |
import fr.ird.observe.services.ObserveServicesProvider;
|
| 31 | 31 |
import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition;
|
| 32 |
-import org.apache.logging.log4j.LogManager;
|
|
| 33 |
-import org.apache.logging.log4j.Logger;
|
|
| 34 | 32 |
import org.nuiton.util.DateUtil;
|
| 35 | 33 |
|
| 36 | 34 |
import java.util.Date;
|
| ... | ... | @@ -44,12 +42,6 @@ import java.util.Date; |
| 44 | 42 |
@GenerateJavaBeanDefinition
|
| 45 | 43 |
public class TripUIModel extends GeneratedTripUIModel {
|
| 46 | 44 |
|
| 47 |
- public static final String PROPERTY_ROUTE_OPEN = "routeOpen";
|
|
| 48 |
- public static final String PROPERTY_ROUTE_EMPTY = "routeEmpty";
|
|
| 49 |
- private static final Logger log = LogManager.getLogger(TripUIModel.class);
|
|
| 50 |
- private boolean routeOpen;
|
|
| 51 |
- private boolean routeEmpty;
|
|
| 52 |
- |
|
| 53 | 45 |
public TripUIModel(TripUINavigationNode source) {
|
| 54 | 46 |
super(source);
|
| 55 | 47 |
}
|
| ... | ... | @@ -62,28 +54,6 @@ public class TripUIModel extends GeneratedTripUIModel { |
| 62 | 54 |
referenceCache.addReferentialFilter(TripDto.PROPERTY_VESSEL, ReferencesFilterHelper.newSubVesselList(clientConfig.getVesselTypeSeineCommonTripId()));
|
| 63 | 55 |
}
|
| 64 | 56 |
|
| 65 |
- public boolean isRouteOpen() {
|
|
| 66 |
- return routeOpen;
|
|
| 67 |
- }
|
|
| 68 |
- |
|
| 69 |
- public void setRouteOpen(boolean routeOpen) {
|
|
| 70 |
- this.routeOpen = routeOpen;
|
|
| 71 |
- firePropertyChange(PROPERTY_ROUTE_OPEN, routeOpen);
|
|
| 72 |
- }
|
|
| 73 |
- |
|
| 74 |
- public boolean isRouteEmpty() {
|
|
| 75 |
- return routeEmpty;
|
|
| 76 |
- }
|
|
| 77 |
- |
|
| 78 |
- public void setRouteEmpty(boolean routeEmpty) {
|
|
| 79 |
- this.routeEmpty = routeEmpty;
|
|
| 80 |
- firePropertyChange(PROPERTY_ROUTE_EMPTY, routeEmpty);
|
|
| 81 |
- }
|
|
| 82 |
- |
|
| 83 |
- // FIXME in context
|
|
| 84 |
-// public String getText(TripUINavigationNode node) {
|
|
| 85 |
-// return super.getText(node) + (node.isPersisted() ? String.format(" (%d)", node.getData().getRouteSize()) : "");
|
|
| 86 |
-// }
|
|
| 87 | 57 |
@Override
|
| 88 | 58 |
public void openForm(Form<TripDto> form) {
|
| 89 | 59 |
super.openForm(form);
|
| ... | ... | @@ -91,23 +61,16 @@ public class TripUIModel extends GeneratedTripUIModel { |
| 91 | 61 |
if (getStates().isUpdatingMode() && getStates().getBean().getEndDate() == null) {
|
| 92 | 62 |
Date date = DateUtil.getEndOfDay(new Date());
|
| 93 | 63 |
getStates().getBean().setEndDate(date);
|
| 94 |
- log.debug(getPrefix() + "date fin " + date);
|
|
| 95 | 64 |
}
|
| 96 |
- setRouteOpen(getClientUIContext().getObserveEditModel().getPs().getObservationRoute().isEnabled());
|
|
| 97 |
- setRouteEmpty(getStates().getBean().isRouteEmpty());
|
|
| 98 | 65 |
}
|
| 99 | 66 |
|
| 100 | 67 |
@Override
|
| 101 | 68 |
public TripDto getBeanToSave() {
|
| 102 | 69 |
TripDto bean = super.getBeanToSave();
|
| 103 | 70 |
|
| 104 |
- // on force toujours la date a etre sans heure, minute,...
|
|
| 71 |
+ // on force toujours la date a être sans heure, minute,...
|
|
| 105 | 72 |
Date startDate = DateUtil.getDay(bean.getStartDate());
|
| 106 |
- log.debug("startDate = " + startDate);
|
|
| 107 | 73 |
bean.setStartDate(startDate);
|
| 108 |
- |
|
| 109 |
- Date endDate = bean.getEndDate();
|
|
| 110 |
- log.debug("endDate = " + endDate);
|
|
| 111 | 74 |
return bean;
|
| 112 | 75 |
}
|
| 113 | 76 |
}
|
| ... | ... | @@ -27,6 +27,7 @@ import io.ultreia.java4all.bean.spi.GenerateJavaBeanDefinition; |
| 27 | 27 |
import org.nuiton.util.DateUtil;
|
| 28 | 28 |
|
| 29 | 29 |
import java.util.Date;
|
| 30 |
+import java.util.LinkedHashSet;
|
|
| 30 | 31 |
import java.util.Objects;
|
| 31 | 32 |
import java.util.Optional;
|
| 32 | 33 |
|
| ... | ... | @@ -41,11 +42,19 @@ public class TripDto extends GeneratedTripDto { |
| 41 | 42 |
Optional<RouteStubDto> optional = getRoute().stream()
|
| 42 | 43 |
.filter(r -> Objects.equals(r.getDate(), date) && !Objects.equals(r.getId(), routeId))
|
| 43 | 44 |
.findFirst();
|
| 44 |
- return !optional.isPresent();
|
|
| 45 |
+ return optional.isEmpty();
|
|
| 45 | 46 |
}
|
| 46 | 47 |
|
| 47 | 48 |
@Override
|
| 48 | 49 |
public void setStartDate(Date startDate) {
|
| 49 | 50 |
super.setStartDate(startDate == null ? null : DateUtil.getDay(startDate));
|
| 50 | 51 |
}
|
| 52 |
+ |
|
| 53 |
+ @Override
|
|
| 54 |
+ public void setRoute(LinkedHashSet<RouteStubDto> route) {
|
|
| 55 |
+ boolean oldValue = isRouteEmpty();
|
|
| 56 |
+ super.setRoute(route);
|
|
| 57 |
+ //FIXME:Dto should be generated by dto template
|
|
| 58 |
+ firePropertyChange("routeEmpty",oldValue, isRouteEmpty());
|
|
| 59 |
+ }
|
|
| 51 | 60 |
}
|