fr.ird.observe.client.form.open.OpenDataFormUI Maven / Gradle / Ivy
package fr.ird.observe.client.form.open;
/*-
* #%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.form.action.WithOpenCloseDataActionFormUI;
import fr.ird.observe.dto.data.OpenableDto;
import fr.ird.observe.dto.reference.DataDtoReference;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import javax.swing.JButton;
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.swing.Table;
public abstract class OpenDataFormUI> extends FormUI implements WithBeanFormUI, WithOpenCloseDataActionFormUI, WithCreateActionFormUI, WithEditActionFormUI, WithDeleteActionFormUI {
/*-----------------------------------------------------------------------*/
/*------------------ Constants for all public bindings ------------------*/
/*-----------------------------------------------------------------------*/
public static final String BINDING_CLOSE_DATA_ENABLED = "closeData.enabled";
public static final String BINDING_CLOSE_DATA_VISIBLE = "closeData.visible";
public static final String BINDING_CREATE_ENABLED = "create.enabled";
public static final String BINDING_CREATE_VISIBLE = "create.visible";
public static final String BINDING_DELETE_VISIBLE = "delete.visible";
public static final String BINDING_EDIT_ACTIONS_VISIBLE = "editActions.visible";
public static final String BINDING_EXTRA_ACTIONS_VISIBLE = "extraActions.visible";
public static final String BINDING_OPEN_ACTIONS_VISIBLE = "openActions.visible";
public static final String BINDING_OPEN_DATA_ENABLED = "openData.enabled";
public static final String BINDING_OPEN_DATA_VISIBLE = "openData.visible";
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";
/*-----------------------------------------------------------------------*/
/*------------------------- Other static fields -------------------------*/
/*-----------------------------------------------------------------------*/
private static final String $jaxxObjectDescriptor = "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";
private static final Log log = LogFactory.getLog(OpenDataFormUI.class);
private static final long serialVersionUID = 1L;
/*-----------------------------------------------------------------------*/
/*------------------------ Protected components ------------------------*/
/*-----------------------------------------------------------------------*/
protected JButton closeData;
protected JButton create;
protected JButton delete;
protected Table editActions;
protected Table extraActions;
protected Table openActions;
protected JButton openData;
protected JButton reset;
protected JButton save;
/*-----------------------------------------------------------------------*/
/*------------------------- Private components -------------------------*/
/*-----------------------------------------------------------------------*/
private OpenDataFormUI $FormUI0;
/*-----------------------------------------------------------------------*/
/*---------------------- Raw body code from script ----------------------*/
/*-----------------------------------------------------------------------*/
@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();
}
@Override
public final void openData() {
getHandler().openData();
}
@Override
public final void closeData() {
getHandler().closeData();
}
/*-----------------------------------------------------------------------*/
/*---------------------------- Constructors ----------------------------*/
/*-----------------------------------------------------------------------*/
public OpenDataFormUI(String param0) {
super(param0);
}
public OpenDataFormUI(JAXXContext param0, String param1) {
super(param0 ,param1);
}
public OpenDataFormUI(String param0, Container param1) {
super(param0 ,param1);
}
public OpenDataFormUI(JAXXContext param0, String param1, Container param2) {
super(param0 ,param1 ,param2);
}
public OpenDataFormUI() {
}
public OpenDataFormUI(JAXXContext param0) {
super(param0);
}
/*-----------------------------------------------------------------------*/
/*--------------------------- Statics methods ---------------------------*/
/*-----------------------------------------------------------------------*/
public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
}
/*-----------------------------------------------------------------------*/
/*----------------------- Public acessor methods -----------------------*/
/*-----------------------------------------------------------------------*/
public JButton getCloseData() {
return closeData;
}
public JButton getCreate() {
return create;
}
public JButton getDelete() {
return delete;
}
public Table getEditActions() {
return editActions;
}
public Table getExtraActions() {
return extraActions;
}
@Override
public abstract OpenDataFormUIHandler getHandler();
@Override
public OpenDataFormUIModel getModel() {
return (OpenDataFormUIModel) super.getModel();
}
public Table getOpenActions() {
return openActions;
}
public JButton getOpenData() {
return openData;
}
public JButton getReset() {
return reset;
}
public JButton getSave() {
return save;
}
/*-----------------------------------------------------------------------*/
/*--------------------- Components creation methods ---------------------*/
/*-----------------------------------------------------------------------*/
protected void addChildrenToActions() {
actions.add(editActions, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(0, 0, 0, 0), 0, 0));
actions.add(extraActions, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(0, 0, 0, 0), 0, 0));
actions.add(openActions, new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0, 10, 1, new Insets(0, 0, 0, 0), 0, 0));
}
protected void addChildrenToEditActions() {
editActions.add(reset, new GridBagConstraints(0, 0, 1, 1, 0.5, 0.0, 10, 1, new Insets(2, 2, 2, 2), 0, 0));
editActions.add(save, new GridBagConstraints(1, 0, 1, 1, 0.5, 0.0, 10, 1, new Insets(2, 2, 2, 2), 0, 0));
editActions.add(delete, new GridBagConstraints(2, 0, 1, 1, 0.5, 0.0, 10, 1, new Insets(2, 2, 2, 2), 0, 0));
}
protected void addChildrenToOpenActions() {
openActions.add(openData, new GridBagConstraints(0, 0, 1, 1, 0.5, 0.0, 10, 1, new Insets(2, 2, 2, 2), 0, 0));
openActions.add(closeData, new GridBagConstraints(1, 0, 1, 1, 0.5, 0.0, 10, 1, new Insets(2, 2, 2, 2), 0, 0));
openActions.add(create, new GridBagConstraints(2, 0, 1, 1, 0.5, 0.0, 10, 1, new Insets(2, 2, 2, 2), 0, 0));
}
@Override
protected void createActions() {
super.createActions();
actions.setName("actions");
}
protected void createCloseData() {
$objectMap.put("closeData", closeData = new JButton());
closeData.setName("closeData");
}
protected void createCreate() {
$objectMap.put("create", create = new JButton());
create.setName("create");
}
protected void createDelete() {
$objectMap.put("delete", delete = new JButton());
delete.setName("delete");
}
protected void createEditActions() {
$objectMap.put("editActions", editActions = new Table());
editActions.setName("editActions");
}
protected void createExtraActions() {
$objectMap.put("extraActions", extraActions = new Table());
extraActions.setName("extraActions");
}
protected void createOpenActions() {
$objectMap.put("openActions", openActions = new Table());
openActions.setName("openActions");
}
protected void createOpenData() {
$objectMap.put("openData", openData = new JButton());
openData.setName("openData");
}
protected void createReset() {
$objectMap.put("reset", reset = new JButton());
reset.setName("reset");
}
protected void createSave() {
$objectMap.put("save", save = new JButton());
save.setName("save");
}
/*-----------------------------------------------------------------------*/
/*------------------------ 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);
createEditActions();
createReset();
createSave();
createDelete();
createExtraActions();
createOpenActions();
createOpenData();
createCloseData();
createCreate();
// inline creation of $FormUI0
setName("$FormUI0");
}
@Override
protected void $initialize_02_registerDataBindings() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_02_registerDataBindings();
// register 13 data bindings
registerDataBinding(new DefaultJAXXBinding(this, BINDING_EXTRA_ACTIONS_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
extraActions.setVisible(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_EDIT_ACTIONS_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("readingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
editActions.setVisible(!getModel().isReadingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("readingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_RESET_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("readingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
reset.setVisible(!getModel().isReadingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("readingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_RESET_ENABLED, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("creatingMode", this);
}
if (model != null) {
model.addPropertyChangeListener("modified", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
reset.setEnabled(getModel().isCreatingMode() ? true : getModel().isModified());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("creatingMode", this);
}
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_OPEN_ACTIONS_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("canWrite", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
openActions.setVisible(getModel().isCanWrite());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("canWrite", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_OPEN_DATA_VISIBLE, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("readingMode", this);
}
if (model != null) {
model.addPropertyChangeListener("canReopen", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
openData.setVisible(getModel().isReadingMode() && getModel().isCanReopen());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("readingMode", this);
}
if (model != null) {
model.removePropertyChangeListener("canReopen", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_OPEN_DATA_ENABLED, true, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("readingMode", this);
}
if (model != null) {
model.addPropertyChangeListener("canReopen", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
openData.setEnabled(getModel().isReadingMode() && getModel().isCanReopen());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("readingMode", this);
}
if (model != null) {
model.removePropertyChangeListener("canReopen", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_CLOSE_DATA_VISIBLE, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
closeData.setVisible(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
registerDataBinding(new DefaultJAXXBinding(this, BINDING_CLOSE_DATA_ENABLED, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
closeData.setEnabled(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
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_CREATE_ENABLED, true) {
@Override
public void applyDataBinding() {
if (model != null) {
model.addPropertyChangeListener("updatingMode", this);
}
}
@Override
public void processDataBinding() {
if (model != null) {
create.setEnabled(getModel().isUpdatingMode());
}
}
@Override
public void removeDataBinding() {
if (model != null) {
model.removePropertyChangeListener("updatingMode", this);
}
}
});
}
@Override
protected void $initialize_03_finalizeCreateComponents() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_03_finalizeCreateComponents();
addChildrenToActions();
addChildrenToEditActions();
addChildrenToOpenActions();
}
@Override
protected void $initialize_04_applyDataBindings() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_04_applyDataBindings();
// apply 13 data bindings
JAXXUtil.applyDataBinding(this, $bindings.keySet());
}
@Override
protected void $initialize_05_setProperties() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_05_setProperties();
// apply 1 property setters
reset.setHorizontalTextPosition(JButton.RIGHT);
}
@Override
protected void $initialize_06_finalizeInitialize() {
if (log.isDebugEnabled()) {
log.debug(this);
}
super.$initialize_06_finalizeInitialize();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy