fr.ird.observe.client.form.referential.ReferentialFormUI Maven / Gradle / Ivy
package fr.ird.observe.client.form.referential;
/*-
* #%L
* ObServe Toolkit :: Common Client
* %%
* Copyright (C) 2008 - 2017 IRD, Ultreia.io
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* .
* #L%
*/
import fr.ird.observe.client.form.FormUI;
import fr.ird.observe.client.form.action.WithBeanFormUI;
import fr.ird.observe.client.form.action.WithCreateActionFormUI;
import fr.ird.observe.client.form.action.WithDeleteActionFormUI;
import fr.ird.observe.client.form.action.WithEditActionFormUI;
import fr.ird.observe.client.util.ObserveBlockingLayerUI;
import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
import fr.ird.observe.dto.referential.ReferentialDto;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.Box.Filler;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableCellRenderer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.jaxx.runtime.JAXXContext;
import org.nuiton.jaxx.runtime.JAXXObjectDescriptor;
import org.nuiton.jaxx.runtime.JAXXUtil;
import org.nuiton.jaxx.runtime.binding.DefaultJAXXBinding;
import org.nuiton.jaxx.runtime.binding.SimpleJAXXObjectBinding;
import org.nuiton.jaxx.runtime.swing.CardLayout2Ext;
import org.nuiton.jaxx.runtime.swing.SwingUtil;
import org.nuiton.jaxx.runtime.swing.Table;
import org.nuiton.jaxx.validator.swing.SwingValidator;
import org.nuiton.jaxx.widgets.select.BeanListHeader;
import static org.nuiton.i18n.I18n.t;
public abstract class ReferentialFormUI> extends FormUI implements WithBeanFormUI, WithEditActionFormUI, WithCreateActionFormUI, WithDeleteActionFormUI {
/*-----------------------------------------------------------------------*/
/*------------------ Constants for all public bindings ------------------*/
/*-----------------------------------------------------------------------*/
public static final String BINDING_CREATE_VISIBLE = "create.visible";
public static final String BINDING_DELETE_ENABLED = "delete.enabled";
public static final String BINDING_DELETE_FROM_LIST_ENABLED = "deleteFromList.enabled";
public static final String BINDING_DELETE_FROM_LIST_VISIBLE = "deleteFromList.visible";
public static final String BINDING_DELETE_VISIBLE = "delete.visible";
public static final String BINDING_DETAIL_ACTIONS_VISIBLE = "detailActions.visible";
public static final String BINDING_DETAIL_ENABLED = "detail.enabled";
public static final String BINDING_DETAIL_VISIBLE = "detail.visible";
public static final String BINDING_EDIT_KEY_TABLE_LAYER_UI_BLOCK = "editKeyTableLayerUI.block";
public static final String BINDING_LIST_ACTIONS_VISIBLE = "listActions.visible";
public static final String BINDING_MODEL_ENABLED = "model.enabled";
public static final String BINDING_MODEL_MODIFIED = "model.modified";
public static final String BINDING_MODEL_VALID = "model.valid";
public static final String BINDING_MODIFY_ENABLED = "modify.enabled";
public static final String BINDING_MODIFY_VISIBLE = "modify.visible";
public static final String BINDING_REFERENTIAL_LIST_HEADER_BEAN_TYPE = "referentialListHeader.beanType";
public static final String BINDING_REFERENTIAL_LIST_HEADER_LABEL_TEXT = "referentialListHeader.labelText";
public static final String BINDING_RESET_ENABLED = "reset.enabled";
public static final String BINDING_RESET_VISIBLE = "reset.visible";
public static final String BINDING_SAVE_ENABLED = "save.enabled";
public static final String BINDING_SHOW_TECHNICAL_INFORMATIONS_ENABLED = "showTechnicalInformations.enabled";
public static final String BINDING_SHOW_UNIQUE_KEYS_ENABLED = "showUniqueKeys.enabled";
public static final String BINDING_SHOW_USAGES_ENABLED = "showUsages.enabled";
/*-----------------------------------------------------------------------*/
/*--------------- Constants for all none public bindings ---------------*/
/*-----------------------------------------------------------------------*/
private static final String BINDING_$TABLE0_VISIBLE = "$Table0.visible";
/*-----------------------------------------------------------------------*/
/*------------------------- Other static fields -------------------------*/
/*-----------------------------------------------------------------------*/
private static final String $jaxxObjectDescriptor = "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";
private static final Log log = LogFactory.getLog(ReferentialFormUI.class);
private static final long serialVersionUID = 1L;
/*-----------------------------------------------------------------------*/
/*------------------------ Protected components ------------------------*/
/*-----------------------------------------------------------------------*/
protected JButton backToList;
protected JButton create;
protected String createToolTip;
protected JButton delete;
protected JButton deleteFromList;
protected String deleteToolTip;
protected JButton detail;
protected Table detailActions;
protected String detailToolTip;
protected Table editExtraTable;
protected Table editI18nTable;
protected ObserveBlockingLayerUI editKeyTableLayerUI;
protected Table editMoreExtraTable;
protected Table editTable;
protected Table editView;
protected Filler filler;
protected JList list;
protected Table listActions;
protected JScrollPane listPane;
protected String listText;
protected JPanel listView;
protected JButton modify;
protected String modifyToolTip;
protected String pluralTypeI18nKey;
protected BeanListHeader referentialListHeader;
protected JButton reset;
protected JButton save;
protected String saveToolTip;
protected JButton showUniqueKeys;
protected JButton showUsages;
protected String typeI18nKey;
protected CardLayout2Ext viewLayout;
/*-----------------------------------------------------------------------*/
/*------------------------- Private components -------------------------*/
/*-----------------------------------------------------------------------*/
private ReferentialFormUI $FormUI0;
private Table $Table0;
/*-----------------------------------------------------------------------*/
/*---------------------- Raw body code from script ----------------------*/
/*-----------------------------------------------------------------------*/
public static final String LIST_VIEW = "listView";
public static final String DETAIL_VIEW = "detailView";
public abstract SwingValidator getValidator();
public abstract JTextField getUri();
public void decorateUniqueKeyTable(JTable table, TableCellRenderer renderer, JScrollPane pane) {
table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
SwingUtil.fixTableColumnWidth(table, 1, 70);
}
@Override
public final void startEdit() {
getHandler().startEdit();
}
@Override
public final void stopEdit() {
getHandler().stopEdit();
}
@Override
public final void resetEdit() {
getHandler().resetEdit();
}
@Override
public final void saveEdit() {
getHandler().saveEdit();
}
@Override
public final void createData() {
getHandler().createData();
}
@Override
public final void deleteData() {
getHandler().deleteData();
}
/*-----------------------------------------------------------------------*/
/*---------------------------- Constructors ----------------------------*/
/*-----------------------------------------------------------------------*/
public ReferentialFormUI(String param0) {
super(param0);
}
public ReferentialFormUI(JAXXContext param0, String param1) {
super(param0 ,param1);
}
public ReferentialFormUI(String param0, Container param1) {
super(param0 ,param1);
}
public ReferentialFormUI(JAXXContext param0, String param1, Container param2) {
super(param0 ,param1 ,param2);
}
public ReferentialFormUI() {
}
public ReferentialFormUI(JAXXContext param0) {
super(param0);
}
/*-----------------------------------------------------------------------*/
/*--------------------------- Statics methods ---------------------------*/
/*-----------------------------------------------------------------------*/
public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
}
/*-----------------------------------------------------------------------*/
/*---------------------------- Event methods ----------------------------*/
/*-----------------------------------------------------------------------*/
public void doActionPerformed__on__backToList(ActionEvent event) {
if (log.isDebugEnabled()) {
log.debug(event);
}
getHandler().backToList();
}
public void doActionPerformed__on__showUniqueKeys(ActionEvent event) {
if (log.isDebugEnabled()) {
log.debug(event);
}
getHandler().showUniqueKeys((JButton) event.getSource());
}
public void doActionPerformed__on__showUsages(ActionEvent event) {
if (log.isDebugEnabled()) {
log.debug(event);
}
getHandler().showUsages();
}
public void doMouseClicked__on__list(MouseEvent event) {
if (log.isDebugEnabled()) {
log.debug(event);
}
if (event.getClickCount() == 2) { getHandler().modifyDataUI(); }
}
public void doValueChanged__on__list(ListSelectionEvent event) {
if (log.isDebugEnabled()) {
log.debug(event);
}
if (!event.getValueIsAdjusting()) { getHandler().selectBean((R)getSelectedBean(list)); }
}
/*-----------------------------------------------------------------------*/
/*----------------------- Public acessor methods -----------------------*/
/*-----------------------------------------------------------------------*/
public JButton getBackToList() {
return backToList;
}
public JButton getCreate() {
return create;
}
public String getCreateToolTip() {
return createToolTip;
}
public JButton getDelete() {
return delete;
}
public JButton getDeleteFromList() {
return deleteFromList;
}
public String getDeleteToolTip() {
return deleteToolTip;
}
public JButton getDetail() {
return detail;
}
public Table getDetailActions() {
return detailActions;
}
public String getDetailToolTip() {
return detailToolTip;
}
public Table getEditExtraTable() {
return editExtraTable;
}
public Table getEditI18nTable() {
return editI18nTable;
}
public ObserveBlockingLayerUI getEditKeyTableLayerUI() {
return editKeyTableLayerUI;
}
public Table getEditMoreExtraTable() {
return editMoreExtraTable;
}
public Table getEditTable() {
return editTable;
}
public Table getEditView() {
return editView;
}
public Filler getFiller() {
return filler;
}
@Override
public abstract ReferentialFormUIHandler getHandler();
public JList getList() {
return list;
}
public Table getListActions() {
return listActions;
}
public JScrollPane getListPane() {
return listPane;
}
public String getListText() {
return listText;
}
public JPanel getListView() {
return listView;
}
@Override
public ReferentialFormUIModel getModel() {
return (ReferentialFormUIModel) super.getModel();
}
public JButton getModify() {
return modify;
}
public String getModifyToolTip() {
return modifyToolTip;
}
public String getPluralTypeI18nKey() {
return pluralTypeI18nKey;
}
public BeanListHeader getReferentialListHeader() {
return referentialListHeader;
}
public JButton getReset() {
return reset;
}
public JButton getSave() {
return save;
}
public String getSaveToolTip() {
return saveToolTip;
}
public JButton getShowUniqueKeys() {
return showUniqueKeys;
}
public JButton getShowUsages() {
return showUsages;
}
public String getTypeI18nKey() {
return typeI18nKey;
}
public CardLayout2Ext getViewLayout() {
return viewLayout;
}
/*-----------------------------------------------------------------------*/
/*--------------------- Protected acessors methods ---------------------*/
/*-----------------------------------------------------------------------*/
protected Table get$Table0() {
return $Table0;
}
/*-----------------------------------------------------------------------*/
/*--------------------- Components creation methods ---------------------*/
/*-----------------------------------------------------------------------*/
protected void addChildrenToActions() {
actions.add(listActions, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(0, 0, 0, 0), 0, 0));
actions.add(detailActions, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(0, 0, 0, 0), 0, 0));
}
protected void addChildrenToBody() {
body.add(listView, LIST_VIEW);
body.add(editView, DETAIL_VIEW);
}
protected void addChildrenToDetailActions() {
detailActions.add($Table0, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 4, 1, 1), 0, 0));
detailActions.add(backToList, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 4, 1, 1), 0, 0));
}
protected void addChildrenToEditMoreExtraTable() {
editMoreExtraTable.add(filler, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
}
protected void addChildrenToEditView() {
editView.add(editTable, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, 11, 1, new Insets(0, 0, 0, 0), 0, 0));
editView.add(editExtraTable, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0, 11, 1, new Insets(0, 0, 0, 0), 0, 0));
editView.add(editI18nTable, new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0, 11, 1, new Insets(0, 0, 0, 0), 0, 0));
editView.add(editMoreExtraTable, new GridBagConstraints(0, 3, 1, 1, 1.0, 1.0, 11, 1, new Insets(0, 0, 0, 0), 0, 0));
}
protected void addChildrenToInvisible() {
invisible.add(showUsages);
invisible.add(showUniqueKeys);
}
protected void addChildrenToListActions() {
listActions.add(create, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
listActions.add(modify, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
listActions.add(detail, new GridBagConstraints(2, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
listActions.add(deleteFromList, new GridBagConstraints(3, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
}
protected void addChildrenToListPane() {
listPane.getViewport().add(list);
}
protected void addChildrenToListView() {
listView.add(listPane, BorderLayout.CENTER);
}
@Override
protected void createActions() {
super.createActions();
actions.setName("actions");
}
protected void createBackToList() {
$objectMap.put("backToList", backToList = new JButton());
backToList.setName("backToList");
backToList.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__backToList"));
}
@Override
protected void createBody() {
super.createBody();
body.setName("body");
body.setLayout(viewLayout);
}
protected void createCreate() {
$objectMap.put("create", create = new JButton());
create.setName("create");
create.putClientProperty("toolTipText", createToolTip);
}
protected void createCreateToolTip() {
$objectMap.put("createToolTip", createToolTip = t("observe.type.action.create", typeI18nKey));
}
protected void createDelete() {
$objectMap.put("delete", delete = new JButton());
delete.setName("delete");
}
protected void createDeleteFromList() {
$objectMap.put("deleteFromList", deleteFromList = new JButton());
deleteFromList.setName("deleteFromList");
}
protected void createDeleteToolTip() {
$objectMap.put("deleteToolTip", deleteToolTip = t("observe.type.action.delete", typeI18nKey));
}
protected void createDetail() {
$objectMap.put("detail", detail = new JButton());
detail.setName("detail");
}
protected void createDetailActions() {
$objectMap.put("detailActions", detailActions = new Table());
detailActions.setName("detailActions");
}
protected void createDetailToolTip() {
$objectMap.put("detailToolTip", detailToolTip = t("observe.type.action.view", typeI18nKey));
}
protected void createEditExtraTable() {
$objectMap.put("editExtraTable", editExtraTable = new Table());
editExtraTable.setName("editExtraTable");
editExtraTable.setVisible(false);
}
protected void createEditI18nTable() {
$objectMap.put("editI18nTable", editI18nTable = new Table());
editI18nTable.setName("editI18nTable");
editI18nTable.setVisible(false);
}
protected void createEditKeyTableLayerUI() {
$objectMap.put("editKeyTableLayerUI", editKeyTableLayerUI = new ObserveBlockingLayerUI());
editKeyTableLayerUI.setUseIcon(false);
}
protected void createEditMoreExtraTable() {
$objectMap.put("editMoreExtraTable", editMoreExtraTable = new Table());
editMoreExtraTable.setName("editMoreExtraTable");
}
protected void createEditTable() {
$objectMap.put("editTable", editTable = new Table());
editTable.setName("editTable");
}
protected void createEditView() {
$objectMap.put("editView", editView = new Table());
editView.setName("editView");
}
protected void createFiller() {
$objectMap.put("filler", filler = new Filler(SwingUtil.newMinDimension(), SwingUtil.newMinDimension(), SwingUtil.newMaxXDimension()));
filler.setName("filler");
}
@Override
protected void createInvisible() {
super.createInvisible();
invisible.setName("invisible");
}
protected void createList() {
$objectMap.put("list", list = new JList());
list.setName("list");
list.addMouseListener(JAXXUtil.getEventListener(MouseListener.class, "mouseClicked", this, "doMouseClicked__on__list"));
list.addListSelectionListener(JAXXUtil.getEventListener(ListSelectionListener.class, "valueChanged", this, "doValueChanged__on__list"));
}
protected void createListActions() {
$objectMap.put("listActions", listActions = new Table());
listActions.setName("listActions");
}
protected void createListPane() {
$objectMap.put("listPane", listPane = new JScrollPane());
listPane.setName("listPane");
}
protected void createListText() {
$objectMap.put("listText", listText = t("observe.type.list", pluralTypeI18nKey));
}
protected void createListView() {
$objectMap.put("listView", listView = new JPanel());
listView.setName("listView");
listView.setLayout(new BorderLayout());
}
protected void createModify() {
$objectMap.put("modify", modify = new JButton());
modify.setName("modify");
modify.putClientProperty("toolTipText", modifyToolTip);
}
protected void createModifyToolTip() {
$objectMap.put("modifyToolTip", modifyToolTip = t("observe.type.action.edit", typeI18nKey));
}
protected void createPluralTypeI18nKey() {
$objectMap.put("pluralTypeI18nKey", pluralTypeI18nKey = t(ObserveI18nDecoratorHelper.getTypePluralI18nKey(getModel().getBeanType())));
}
protected void createReferentialListHeader() {
$objectMap.put("referentialListHeader", referentialListHeader = new BeanListHeader());
referentialListHeader.setName("referentialListHeader");
referentialListHeader.setShowReset(true);
}
protected void createReset() {
$objectMap.put("reset", reset = new JButton());
reset.setName("reset");
}
protected void createSave() {
$objectMap.put("save", save = new JButton());
save.setName("save");
}
protected void createSaveToolTip() {
$objectMap.put("saveToolTip", saveToolTip = t("observe.type.action.save", typeI18nKey));
}
@Override
protected void createShowTechnicalInformations() {
super.createShowTechnicalInformations();
showTechnicalInformations.setName("showTechnicalInformations");
}
protected void createShowUniqueKeys() {
$objectMap.put("showUniqueKeys", showUniqueKeys = new JButton());
showUniqueKeys.setName("showUniqueKeys");
showUniqueKeys.setBorderPainted(false);
showUniqueKeys.setToolTipText(t("observe.common.ReferentialDto.action.showUniqueKeys.tip"));
showUniqueKeys.setFocusPainted(false);
showUniqueKeys.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__showUniqueKeys"));
}
protected void createShowUsages() {
$objectMap.put("showUsages", showUsages = new JButton());
showUsages.setName("showUsages");
showUsages.setBorderPainted(false);
showUsages.setToolTipText(t("observe.action.show.usages.tip"));
showUsages.setFocusPainted(false);
showUsages.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__showUsages"));
}
protected void createTypeI18nKey() {
$objectMap.put("typeI18nKey", typeI18nKey = t(ObserveI18nDecoratorHelper.getTypeI18nKey(getModel().getBeanType())));
}
protected void createViewLayout() {
$objectMap.put("viewLayout", viewLayout = new CardLayout2Ext(this, "body"));
}
/*-----------------------------------------------------------------------*/
/*------------------------ Internal jaxx methods ------------------------*/
/*-----------------------------------------------------------------------*/
@Override
protected void $initialize() {
if (log.isDebugEnabled()) {
log.debug(this);
}
$FormUI0 = this;
super.$initialize();
}
@Override
protected void $initialize_01_createComponents() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_01_createComponents();
$objectMap.put("$FormUI0", $FormUI0);
createPluralTypeI18nKey();
createTypeI18nKey();
createListText();
createCreateToolTip();
createDetailToolTip();
createModifyToolTip();
createDeleteToolTip();
createSaveToolTip();
createEditKeyTableLayerUI();
createViewLayout();
createListView();
createListPane();
createList();
createReferentialListHeader();
createEditView();
createEditTable();
createEditExtraTable();
createEditI18nTable();
createEditMoreExtraTable();
createFiller();
createListActions();
createCreate();
createModify();
createDetail();
createDeleteFromList();
createDetailActions();
// inline creation of $Table0
$objectMap.put("$Table0", $Table0 = new Table());
$Table0.setName("$Table0");
createReset();
createSave();
createDelete();
createBackToList();
createShowUsages();
createShowUniqueKeys();
// inline creation of $FormUI0
setName("$FormUI0");
body.setLayout(viewLayout);viewLayout.addLayoutComponent(listView, LIST_VIEW);viewLayout.addLayoutComponent(editView, DETAIL_VIEW);
}
@Override
protected void $initialize_02_registerDataBindings() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_02_registerDataBindings();
// register 24 data bindings
registerDataBinding(new DefaultJAXXBinding(this, BINDING_LIST_ACTIONS_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("editing", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
listActions.setVisible(!getModel().isEditing());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("editing", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_DETAIL_ACTIONS_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("editing", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
detailActions.setVisible(getModel().isEditing());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("editing", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_$TABLE0_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("readingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
$Table0.setVisible(!getModel().isReadingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("readingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODEL_VALID, true) {
@Override
public void applyDataBinding() {
if (getValidator() != null) {
getValidator().addPropertyChangeListener("valid", this);
}
}
@Override
public void processDataBinding() {
if (getValidator() != null) {
((ReferentialFormUIModel) model).setValid(getValidator().isValid());
}
}
@Override
public void removeDataBinding() {
if (getValidator() != null) {
getValidator().removePropertyChangeListener("valid", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODEL_MODIFIED, true) {
@Override
public void applyDataBinding() {
if (getValidator() != null) {
getValidator().addPropertyChangeListener("changed", this);
}
}
@Override
public void processDataBinding() {
if (getValidator() != null) {
((ReferentialFormUIModel) model).setModified(getValidator().isChanged());
}
}
@Override
public void removeDataBinding() {
if (getValidator() != null) {
getValidator().removePropertyChangeListener("changed", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODEL_ENABLED, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("editing", this);
}
if (model != null) {
model.addPropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
((ReferentialFormUIModel) model).setEnabled(!getModel().isEditing() || getModel().isCreatingMode() || getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("editing", this);
}
if (model != null) {
model.removePropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_EDIT_KEY_TABLE_LAYER_UI_BLOCK, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
editKeyTableLayerUI.setBlock(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_REFERENTIAL_LIST_HEADER_LABEL_TEXT, true ,"title") {
@Override
public void processDataBinding() {
referentialListHeader.setLabelText(getTitle());
}
});
registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_REFERENTIAL_LIST_HEADER_BEAN_TYPE, true ,"model") {
@Override
public void processDataBinding() {
if (getModel() != null) {
referentialListHeader.setBeanType(getModel().getReferenceType());
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_CREATE_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
create.setVisible(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODIFY_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
modify.setVisible(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODIFY_ENABLED, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("selectedBean", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
modify.setEnabled(getModel().getSelectedBean() != null);
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("selectedBean", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_DETAIL_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("readingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
detail.setVisible(getModel().isReadingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("readingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_DETAIL_ENABLED, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("selectedBean", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
detail.setEnabled(getModel().getSelectedBean() != null);
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("selectedBean", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_DELETE_FROM_LIST_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
deleteFromList.setVisible(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_DELETE_FROM_LIST_ENABLED, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("selectedBean", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
deleteFromList.setEnabled(getModel().getSelectedBean() != null);
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("selectedBean", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_RESET_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
reset.setVisible(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_RESET_ENABLED, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("modified", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
reset.setEnabled(getModel().isModified());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("modified", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAVE_ENABLED, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("modified", this);
}
if (model != null) {
model.addPropertyChangeListener("valid", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
save.setEnabled(getModel().isModified() && getModel().isValid());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("modified", this);
}
if (model != null) {
model.removePropertyChangeListener("valid", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_DELETE_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
delete.setVisible(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_DELETE_ENABLED, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("selectedBean", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
delete.setEnabled(getModel().getSelectedBean() != null);
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("selectedBean", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_SHOW_USAGES_ENABLED, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.addPropertyChangeListener("editing", this);
}
if (model != null) {
model.addPropertyChangeListener("selectedBean", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
showUsages.setEnabled(!getModel().isCreatingMode() && (getModel().isEditing() || getModel().getSelectedBean() != null));
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.removePropertyChangeListener("editing", this);
}
if (model != null) {
model.removePropertyChangeListener("selectedBean", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_SHOW_UNIQUE_KEYS_ENABLED, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.addPropertyChangeListener("selectedBean", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
showUniqueKeys.setEnabled(getModel().isCreatingMode() || getModel().getSelectedBean() != null);
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.removePropertyChangeListener("selectedBean", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_SHOW_TECHNICAL_INFORMATIONS_ENABLED, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.addPropertyChangeListener("editing", this);
}
if (model != null) {
model.addPropertyChangeListener("selectedBean", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
showTechnicalInformations.setEnabled(!getModel().isCreatingMode() && (getModel().isEditing() || getModel().getSelectedBean() != null));
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.removePropertyChangeListener("editing", this);
}
if (model != null) {
model.removePropertyChangeListener("selectedBean", this);
}
}
});
}
@Override
protected void $initialize_03_finalizeCreateComponents() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_03_finalizeCreateComponents();
addChildrenToBody();
addChildrenToListView();
addChildrenToListPane();
addChildrenToEditView();
addChildrenToEditMoreExtraTable();
addChildrenToActions();
addChildrenToListActions();
addChildrenToDetailActions();
// inline complete setup of $Table0
$Table0.add(reset, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
$Table0.add(save, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
$Table0.add(delete, new GridBagConstraints(2, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(1, 1, 1, 1), 0, 0));
addChildrenToInvisible();
}
@Override
protected void $initialize_04_applyDataBindings() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_04_applyDataBindings();
// apply 24 data bindings
JAXXUtil.applyDataBinding(this, $bindings.keySet());
}
@Override
protected void $initialize_05_setProperties() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_05_setProperties();
// apply 15 property setters
setTitle(t(pluralTypeI18nKey));
listPane.setColumnHeaderView(referentialListHeader);
editKeyTableLayerUI.setAcceptedComponentTypes(javax.swing.JScrollBar.class);
editKeyTableLayerUI.setBlockingColor(javax.swing.UIManager.getColor("BlockingLayerUI.blockingColor"));
list.setModel(new DefaultListModel());
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
referentialListHeader.setList(list);
editTable.setBorder(new TitledBorder(t("observe.common.ReferentialDto.caracteristics")));
editI18nTable.setBorder(new TitledBorder(t("observe.common.I18nReferentialDto.libelles")));
deleteFromList.setToolTipText(t(deleteToolTip));
delete.setToolTipText(t(deleteToolTip));
showUsages.setIcon(SwingUtil.getUIManagerActionIcon("show-usages"));
showUniqueKeys.setIcon(SwingUtil.getUIManagerActionIcon("show-keys"));
}
@Override
protected void $initialize_06_finalizeInitialize() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_06_finalizeInitialize();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy