2021-08-04 17:11:46 +02:00
|
|
|
package org.gcube.portlets.user.geoportaldataentry.client.ui.form;
|
2020-10-08 16:06:58 +02:00
|
|
|
|
2022-07-07 18:21:34 +02:00
|
|
|
import java.util.Arrays;
|
2020-10-09 16:34:23 +02:00
|
|
|
import java.util.LinkedHashMap;
|
|
|
|
|
2022-07-08 16:38:45 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.events.SaveGeonaDataFormsEvent;
|
2022-07-05 15:51:43 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.events.TreeItemEvent;
|
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.events.TreeItemEvent.ACTION;
|
2020-10-12 13:04:01 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.GeoNaFormCardModel;
|
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.card.MetadataFormCard;
|
2022-07-07 12:36:08 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.tree.NodeItem;
|
2022-07-05 15:51:43 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.tree.TreeItemPanel;
|
2022-07-08 11:44:48 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.client.ui.utils.TreeVisitUtil;
|
2020-10-12 17:42:55 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.GeoNaFormDataObject;
|
2022-07-07 18:21:34 +02:00
|
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.Tree_Node;
|
2020-10-09 16:34:23 +02:00
|
|
|
import org.gcube.portlets.widgets.mpformbuilder.client.form.generic.CreateMetadataForm;
|
|
|
|
|
2020-10-13 11:52:50 +02:00
|
|
|
import com.github.gwtbootstrap.client.ui.AlertBlock;
|
2020-10-21 16:16:53 +02:00
|
|
|
import com.github.gwtbootstrap.client.ui.Button;
|
2022-03-04 14:40:43 +01:00
|
|
|
import com.github.gwtbootstrap.client.ui.FormActions;
|
2022-07-05 15:51:43 +02:00
|
|
|
import com.github.gwtbootstrap.client.ui.NavList;
|
2020-10-13 11:52:50 +02:00
|
|
|
import com.github.gwtbootstrap.client.ui.constants.AlertType;
|
2020-10-08 16:06:58 +02:00
|
|
|
import com.google.gwt.core.client.GWT;
|
2020-10-12 16:46:17 +02:00
|
|
|
import com.google.gwt.event.dom.client.ClickEvent;
|
2022-07-05 15:51:43 +02:00
|
|
|
import com.google.gwt.event.dom.client.ClickHandler;
|
2020-10-20 09:58:56 +02:00
|
|
|
import com.google.gwt.event.shared.HandlerManager;
|
2020-10-08 16:06:58 +02:00
|
|
|
import com.google.gwt.uibinder.client.UiBinder;
|
|
|
|
import com.google.gwt.uibinder.client.UiField;
|
2020-10-12 16:46:17 +02:00
|
|
|
import com.google.gwt.uibinder.client.UiHandler;
|
2020-10-13 11:52:50 +02:00
|
|
|
import com.google.gwt.user.client.Timer;
|
2020-10-08 16:06:58 +02:00
|
|
|
import com.google.gwt.user.client.ui.Composite;
|
|
|
|
import com.google.gwt.user.client.ui.HTMLPanel;
|
2022-07-05 15:51:43 +02:00
|
|
|
import com.google.gwt.user.client.ui.ScrollPanel;
|
2022-07-07 12:36:08 +02:00
|
|
|
import com.google.gwt.user.client.ui.TreeItem;
|
2020-10-08 16:06:58 +02:00
|
|
|
import com.google.gwt.user.client.ui.Widget;
|
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
|
|
|
* The Class GeonaDataEntryMainForm.
|
|
|
|
*
|
|
|
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
|
|
|
*
|
|
|
|
* Mar 4, 2022
|
|
|
|
*/
|
2020-10-08 16:06:58 +02:00
|
|
|
public class GeonaDataEntryMainForm extends Composite {
|
|
|
|
|
|
|
|
private static GeonaDataEntryMainFormUiBinder uiBinder = GWT.create(GeonaDataEntryMainFormUiBinder.class);
|
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
|
|
|
* The Interface GeonaDataEntryMainFormUiBinder.
|
|
|
|
*
|
|
|
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
|
|
|
*
|
|
|
|
* Mar 4, 2022
|
|
|
|
*/
|
2020-10-08 16:06:58 +02:00
|
|
|
interface GeonaDataEntryMainFormUiBinder extends UiBinder<Widget, GeonaDataEntryMainForm> {
|
|
|
|
}
|
2022-03-04 14:40:43 +01:00
|
|
|
|
2022-07-07 18:21:34 +02:00
|
|
|
private Tree_Node<GeoNaFormCardModel> nodes = new Tree_Node<GeoNaFormCardModel>();
|
2020-10-08 16:06:58 +02:00
|
|
|
|
|
|
|
@UiField
|
2020-10-09 16:34:23 +02:00
|
|
|
HTMLPanel mainHTMLPanel;
|
2022-03-04 14:40:43 +01:00
|
|
|
|
2022-07-05 15:51:43 +02:00
|
|
|
@UiField
|
|
|
|
ScrollPanel treePanel;
|
|
|
|
|
|
|
|
@UiField
|
|
|
|
NavList navbarTree;
|
|
|
|
|
|
|
|
@UiField
|
|
|
|
ScrollPanel inputPanel;
|
|
|
|
|
2020-10-13 11:52:50 +02:00
|
|
|
@UiField
|
|
|
|
AlertBlock alertFormAction;
|
2022-03-04 14:40:43 +01:00
|
|
|
|
2022-07-05 15:51:43 +02:00
|
|
|
@UiField
|
|
|
|
Button duplicateSelected;
|
|
|
|
|
|
|
|
@UiField
|
|
|
|
Button removeSelected;
|
|
|
|
|
2020-10-21 16:16:53 +02:00
|
|
|
@UiField
|
|
|
|
Button buttonSave;
|
2022-03-04 14:40:43 +01:00
|
|
|
|
|
|
|
@UiField
|
|
|
|
FormActions formActions;
|
|
|
|
|
|
|
|
private LinkedHashMap<String, MetadataFormCard> mapForms = new LinkedHashMap<String, MetadataFormCard>();
|
|
|
|
|
2020-10-20 09:58:56 +02:00
|
|
|
private HandlerManager appManagerBus;
|
|
|
|
|
2022-07-05 15:51:43 +02:00
|
|
|
private TreeItemPanel treeItemPanel;
|
|
|
|
|
2022-07-07 12:36:08 +02:00
|
|
|
private boolean canSave = true;
|
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
|
|
|
* Instantiates a new geona data entry main form.
|
|
|
|
*
|
|
|
|
* @param appManagerBus the app manager bus
|
|
|
|
*/
|
2020-10-20 09:58:56 +02:00
|
|
|
public GeonaDataEntryMainForm(HandlerManager appManagerBus) {
|
2020-10-08 16:06:58 +02:00
|
|
|
initWidget(uiBinder.createAndBindUi(this));
|
2020-10-20 09:58:56 +02:00
|
|
|
this.appManagerBus = appManagerBus;
|
2022-07-05 15:51:43 +02:00
|
|
|
|
|
|
|
duplicateSelected.addClickHandler(new ClickHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onClick(ClickEvent event) {
|
|
|
|
appManagerBus.fireEvent(new TreeItemEvent(null, ACTION.DUPLICATE));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
removeSelected.addClickHandler(new ClickHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onClick(ClickEvent event) {
|
|
|
|
appManagerBus.fireEvent(new TreeItemEvent(null, ACTION.DELETE));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
2020-10-08 16:06:58 +02:00
|
|
|
}
|
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
2022-07-05 15:51:43 +02:00
|
|
|
* Adds the tree.
|
2022-03-04 14:40:43 +01:00
|
|
|
*
|
2022-07-05 15:51:43 +02:00
|
|
|
* @param treeItemPanel the tree item panel
|
2022-03-04 14:40:43 +01:00
|
|
|
*/
|
2022-07-05 15:51:43 +02:00
|
|
|
public void addTree(TreeItemPanel treeItemPanel) {
|
|
|
|
this.treeItemPanel = treeItemPanel;
|
|
|
|
navbarTree.setVisible(true);
|
|
|
|
treePanel.add(treeItemPanel.getTree());
|
2020-10-12 13:04:01 +02:00
|
|
|
}
|
2022-03-04 14:40:43 +01:00
|
|
|
|
2022-08-08 09:54:49 +02:00
|
|
|
public void removeTree(TreeItemPanel treeItemPanel) {
|
|
|
|
try {
|
|
|
|
treePanel.remove(treeItemPanel.getTree());
|
|
|
|
} catch (Exception e) {
|
2022-11-10 16:38:44 +01:00
|
|
|
GWT.log("error: "+e.getMessage());
|
2022-08-08 09:54:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2022-07-05 15:51:43 +02:00
|
|
|
/**
|
|
|
|
* Gets the tree item panel.
|
|
|
|
*
|
|
|
|
* @return the tree item panel
|
|
|
|
*/
|
|
|
|
public TreeItemPanel getTreeItemPanel() {
|
|
|
|
return treeItemPanel;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the selected form.
|
|
|
|
*
|
|
|
|
* @param form the new selected form
|
|
|
|
*/
|
|
|
|
public void setSelectedForm(CreateMetadataForm form) {
|
|
|
|
inputPanel.clear();
|
2022-08-08 09:54:49 +02:00
|
|
|
GWT.log("Showing form: " + form);
|
2022-11-11 11:45:48 +01:00
|
|
|
|
|
|
|
form.getElement().addClassName("gna-dataentry-form-fieldset");
|
2022-07-05 15:51:43 +02:00
|
|
|
inputPanel.add(form);
|
|
|
|
}
|
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
|
|
|
* Reset.
|
|
|
|
*/
|
2022-07-06 11:06:35 +02:00
|
|
|
public void resetUI() {
|
2022-07-05 15:51:43 +02:00
|
|
|
navbarTree.setVisible(false);
|
2020-10-20 09:58:56 +02:00
|
|
|
mapForms.clear();
|
2022-08-08 09:54:49 +02:00
|
|
|
// mainHTMLPanel.clear();
|
2022-07-06 11:06:35 +02:00
|
|
|
inputPanel.clear();
|
2022-11-10 16:38:44 +01:00
|
|
|
//inputPanel = new ScrollPanel();
|
|
|
|
//removeTree(treeItemPanel);
|
2022-08-02 17:06:50 +02:00
|
|
|
treePanel.clear();
|
2022-11-10 16:38:44 +01:00
|
|
|
alertFormAction.clear();
|
|
|
|
alertFormAction.setVisible(false);
|
|
|
|
//treePanel = new ScrollPanel();
|
2022-08-08 09:54:49 +02:00
|
|
|
// treePanel = new ScrollPanel();
|
2022-07-07 12:36:08 +02:00
|
|
|
// listTabs.clear();
|
2020-10-20 09:58:56 +02:00
|
|
|
}
|
2022-07-07 12:36:08 +02:00
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
2022-07-06 11:06:35 +02:00
|
|
|
* Reset.
|
2022-03-04 14:40:43 +01:00
|
|
|
*/
|
2022-07-06 11:06:35 +02:00
|
|
|
public void resetInputPanel() {
|
|
|
|
inputPanel.clear();
|
2020-10-09 16:34:23 +02:00
|
|
|
}
|
2022-03-04 14:40:43 +01:00
|
|
|
|
2022-07-07 12:36:08 +02:00
|
|
|
public void validateFormsIntoTree(TreeItem root) {
|
|
|
|
GWT.log("validateFormsIntoTree called");
|
|
|
|
|
|
|
|
if (root == null) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
GWT.log("validateFormsIntoTree called for: " + root.getText());
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-07 12:36:08 +02:00
|
|
|
for (int i = 0; i < root.getChildCount(); i++) {
|
|
|
|
TreeItem child = root.getChild(i);
|
|
|
|
validateFormsIntoTree(child);
|
|
|
|
}
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-07 12:36:08 +02:00
|
|
|
NodeItem node = (NodeItem) root.getWidget();
|
|
|
|
GWT.log("validateFormsIntoTree called for: " + root.getText() + " node: " + node);
|
|
|
|
|
2022-08-08 09:54:49 +02:00
|
|
|
// Is root
|
2022-08-02 17:06:50 +02:00
|
|
|
if (node.isRoot()) {
|
|
|
|
return;
|
|
|
|
}
|
2022-07-07 12:36:08 +02:00
|
|
|
|
|
|
|
boolean isValid = node.validateForm();
|
|
|
|
GWT.log("validateFormsIntoTree called for: " + root.getText() + " is valid: " + isValid);
|
2022-07-07 18:21:34 +02:00
|
|
|
node.setValidCard(isValid);
|
2022-07-07 12:36:08 +02:00
|
|
|
if (!isValid) {
|
|
|
|
canSave = false;
|
|
|
|
}
|
|
|
|
}
|
2022-07-06 11:06:35 +02:00
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
|
|
|
* Save data.
|
|
|
|
*
|
|
|
|
* @param e the e
|
|
|
|
*/
|
2020-10-12 16:46:17 +02:00
|
|
|
@UiHandler("buttonSave")
|
2022-03-04 14:40:43 +01:00
|
|
|
void saveData(ClickEvent e) {
|
|
|
|
|
2022-07-07 12:36:08 +02:00
|
|
|
canSave = true;
|
2022-07-08 11:44:48 +02:00
|
|
|
final TreeItem root = treeItemPanel.getRoot();
|
2022-07-07 12:36:08 +02:00
|
|
|
validateFormsIntoTree(root);
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
if (canSave) {
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-08 11:44:48 +02:00
|
|
|
Tree_Node<GeoNaFormDataObject> treeNode = buildTree(root);
|
|
|
|
GWT.log("Tree node built correctly!");
|
2022-08-08 09:54:49 +02:00
|
|
|
// System.out.println(treeNode);
|
|
|
|
|
2022-07-07 12:36:08 +02:00
|
|
|
// for (String metadataType : mapForms.keySet()) {
|
|
|
|
// MetadataFormCard card = mapForms.get(metadataType);
|
|
|
|
// List<GenericDatasetBean> listGDB = new ArrayList<GenericDatasetBean>(card.getListForms().size());
|
|
|
|
// for (CreateMetadataForm form : card.getListForms()) {
|
|
|
|
// listGDB.add(form.getFormDataBean());
|
|
|
|
//
|
|
|
|
// }
|
|
|
|
// listGeonaFormObjects.add(new GeoNaFormDataObject(listGDB, card.getGeonaFormModel().getGcubeProfile()));
|
|
|
|
// }
|
|
|
|
// appManagerBus.fireEvent(new SaveGeonaDataFormsEvent(profileID, listGeonaFormObjects));
|
|
|
|
|
2022-08-03 17:50:47 +02:00
|
|
|
appManagerBus.fireEvent(new SaveGeonaDataFormsEvent(treeItemPanel.getProfileID(), treeNode));
|
2022-07-08 11:44:48 +02:00
|
|
|
TreeVisitUtil.preOrderVisit(treeNode);
|
2024-04-15 12:35:16 +02:00
|
|
|
//showAlertOnSaveAction("Andiamo a salvare", AlertType.INFO, true);
|
2022-03-04 14:40:43 +01:00
|
|
|
|
|
|
|
} else {
|
2020-10-13 11:52:50 +02:00
|
|
|
showAlertOnSaveAction("Detected errors, please fix it/them", AlertType.ERROR, true);
|
2020-10-12 17:42:55 +02:00
|
|
|
}
|
2022-03-04 14:40:43 +01:00
|
|
|
|
|
|
|
// Window.alert("I can save: "+listGeonaFormObjects);
|
|
|
|
|
2020-10-13 11:52:50 +02:00
|
|
|
}
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-07 18:21:34 +02:00
|
|
|
public <T> void printTree(Tree_Node<T> node) {
|
2022-08-08 09:54:49 +02:00
|
|
|
|
|
|
|
if (node == null) {
|
2022-07-07 18:21:34 +02:00
|
|
|
return;
|
|
|
|
}
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-07 18:21:34 +02:00
|
|
|
System.out.println(node);
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-07 18:21:34 +02:00
|
|
|
for (Tree_Node<T> children : node.getChildren()) {
|
|
|
|
printTree(children);
|
|
|
|
}
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-07 18:21:34 +02:00
|
|
|
}
|
2022-08-08 09:54:49 +02:00
|
|
|
|
2022-07-07 18:21:34 +02:00
|
|
|
private Tree_Node<GeoNaFormDataObject> buildTree(TreeItem root) {
|
|
|
|
GWT.log("buildTree called");
|
|
|
|
|
|
|
|
if (root == null) {
|
|
|
|
GWT.log("buildTree returns, node is null");
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
GWT.log("buildTree called on: " + root.getText());
|
|
|
|
|
|
|
|
// Cloning
|
2022-07-08 11:44:48 +02:00
|
|
|
NodeItem rootNodeItem = (NodeItem) root.getWidget();
|
2022-08-08 09:54:49 +02:00
|
|
|
GWT.log("buildTree called on: " + root.getText() + ", node json section: "
|
|
|
|
+ rootNodeItem.getJsonSectionFullPath());
|
|
|
|
|
2022-07-08 11:44:48 +02:00
|
|
|
Tree_Node<GeoNaFormDataObject> tNode;
|
2022-08-08 09:54:49 +02:00
|
|
|
|
|
|
|
// Children
|
|
|
|
if (!rootNodeItem.isRoot()) {
|
2022-07-08 11:44:48 +02:00
|
|
|
GeoNaFormCardModel nodeCard = rootNodeItem.getGeoNaFormCardModel();
|
2022-08-08 09:54:49 +02:00
|
|
|
GeoNaFormDataObject gfdo = new GeoNaFormDataObject(
|
|
|
|
Arrays.asList(nodeCard.getMetadataForm().getFormDataBean()), nodeCard.getGcubeProfile());
|
|
|
|
tNode = new Tree_Node<GeoNaFormDataObject>(nodeCard.getGcubeProfile().getSectionTitle(), gfdo);
|
|
|
|
} else {
|
|
|
|
// root of the tree
|
|
|
|
tNode = new Tree_Node<GeoNaFormDataObject>(root.getText(), null);
|
2022-07-08 16:38:45 +02:00
|
|
|
tNode.setRoot(true);
|
2022-07-08 11:44:48 +02:00
|
|
|
}
|
2022-07-07 18:21:34 +02:00
|
|
|
|
|
|
|
// Total children count
|
|
|
|
int total = root.getChildCount();
|
|
|
|
// All the children
|
|
|
|
for (int i = 0; i < total; i++) {
|
|
|
|
Tree_Node<GeoNaFormDataObject> childCloned = buildTree(root.getChild(i));
|
|
|
|
tNode.addChild(childCloned);
|
|
|
|
}
|
|
|
|
|
|
|
|
return tNode;
|
|
|
|
|
|
|
|
}
|
2022-03-04 14:40:43 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Show alert on save action.
|
|
|
|
*
|
|
|
|
* @param text the text
|
|
|
|
* @param type the type
|
|
|
|
* @param hideAfterAWhile the hide after A while
|
|
|
|
*/
|
|
|
|
public void showAlertOnSaveAction(String text, AlertType type, boolean hideAfterAWhile) {
|
|
|
|
|
|
|
|
// Window.alert("Called alertOnCreate");
|
2020-10-13 11:52:50 +02:00
|
|
|
alertFormAction.setText(text);
|
|
|
|
alertFormAction.setType(type);
|
|
|
|
alertFormAction.setVisible(true);
|
2022-03-04 14:40:43 +01:00
|
|
|
// goBackButtonSecondStep.setEnabled(true);
|
2020-10-13 11:52:50 +02:00
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
if (hideAfterAWhile) {
|
2020-10-13 11:52:50 +02:00
|
|
|
// hide after some seconds
|
|
|
|
Timer t = new Timer() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
alertFormAction.setVisible(false);
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
t.schedule(10000);
|
|
|
|
}
|
2020-10-12 16:46:17 +02:00
|
|
|
}
|
2022-03-04 14:40:43 +01:00
|
|
|
|
2022-07-05 15:51:43 +02:00
|
|
|
/**
|
|
|
|
* Enable button save.
|
|
|
|
*
|
|
|
|
* @param enabled the enabled
|
|
|
|
*/
|
|
|
|
public void enableButtonDuplicateSection(boolean enabled) {
|
|
|
|
duplicateSelected.setEnabled(enabled);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Enable button remove section.
|
|
|
|
*
|
|
|
|
* @param enabled the enabled
|
|
|
|
*/
|
|
|
|
public void enableButtonRemoveSection(boolean enabled) {
|
|
|
|
removeSelected.setEnabled(enabled);
|
|
|
|
}
|
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
|
|
|
* Enable button save.
|
|
|
|
*
|
|
|
|
* @param enabled the enabled
|
|
|
|
*/
|
2020-10-21 16:16:53 +02:00
|
|
|
public void enableButtonSave(boolean enabled) {
|
|
|
|
buttonSave.setEnabled(enabled);
|
|
|
|
}
|
2022-03-04 14:40:43 +01:00
|
|
|
|
2020-10-09 16:34:23 +02:00
|
|
|
/**
|
|
|
|
* Sets the ative after.
|
|
|
|
*
|
|
|
|
* @param index the index
|
2022-03-04 14:40:43 +01:00
|
|
|
* @param bool the bool
|
2020-10-09 16:34:23 +02:00
|
|
|
*/
|
2022-03-04 14:40:43 +01:00
|
|
|
public void setAtiveAfter(int index, boolean bool) {
|
|
|
|
|
2020-10-09 16:34:23 +02:00
|
|
|
// if(listTabs.size()<index) {
|
|
|
|
// for (int i = index; i < listTabs.size(); i++) {
|
|
|
|
// listTabs.get(i).setEnabled(bool);
|
|
|
|
// }
|
|
|
|
// }
|
2020-10-08 16:06:58 +02:00
|
|
|
}
|
|
|
|
|
2022-03-04 14:40:43 +01:00
|
|
|
/**
|
|
|
|
* Sets the visible form actions.
|
|
|
|
*
|
|
|
|
* @param bool the new visible form actions
|
|
|
|
*/
|
|
|
|
public void setVisibleFormActions(boolean bool) {
|
|
|
|
formActions.setVisible(bool);
|
|
|
|
}
|
|
|
|
|
2020-10-08 16:06:58 +02:00
|
|
|
}
|