101 lines
2.4 KiB
Java
Executable File
101 lines
2.4 KiB
Java
Executable File
package org.gcube.portlets.user.dataminerexecutor.client.parametersfield;
|
|
|
|
import org.gcube.data.analysis.dataminermanagercl.shared.parameters.ObjectParameter;
|
|
import org.gcube.portlets.user.dataminerexecutor.client.DataMinerExecutor;
|
|
|
|
import com.sencha.gxt.core.client.util.Margins;
|
|
import com.sencha.gxt.widget.core.client.button.TextButton;
|
|
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer;
|
|
import com.sencha.gxt.widget.core.client.event.SelectEvent;
|
|
import com.sencha.gxt.widget.core.client.form.TextField;
|
|
|
|
/**
|
|
*
|
|
* @author Giancarlo Panichi
|
|
*
|
|
*
|
|
*/
|
|
public class StringItem extends HBoxLayoutContainer {
|
|
private ListStringFld parent;
|
|
private TextField field;
|
|
private TextButton addBtn;
|
|
private TextButton removeBtn;
|
|
|
|
/**
|
|
*
|
|
* @param parent parend
|
|
* @param objectParameter object parameter
|
|
* @param first true if is first
|
|
*/
|
|
public StringItem(ListStringFld parent, ObjectParameter objectParameter, boolean first) {
|
|
super();
|
|
this.parent=parent;
|
|
create(objectParameter,first);
|
|
}
|
|
|
|
private void create( ObjectParameter objectParameter, boolean first){
|
|
field = new TextField();
|
|
field.setAllowBlank(false);
|
|
|
|
if(objectParameter!=null && objectParameter.getDefaultValue()!=null &&
|
|
!objectParameter.getDefaultValue().isEmpty()) {
|
|
field.setValue(objectParameter.getDefaultValue());
|
|
}
|
|
|
|
addBtn = new TextButton("");
|
|
|
|
addBtn.setIcon(DataMinerExecutor.resources.add());
|
|
|
|
addBtn.addSelectHandler(new SelectEvent.SelectHandler() {
|
|
|
|
@Override
|
|
public void onSelect(SelectEvent event) {
|
|
parent.addField(StringItem.this);
|
|
|
|
|
|
}
|
|
});
|
|
|
|
removeBtn = new TextButton("");
|
|
|
|
removeBtn.setIcon(DataMinerExecutor.resources.cancel());
|
|
|
|
removeBtn.addSelectHandler(new SelectEvent.SelectHandler() {
|
|
|
|
@Override
|
|
public void onSelect(SelectEvent event) {
|
|
parent.removeField(StringItem.this);
|
|
|
|
|
|
}
|
|
});
|
|
|
|
removeBtn.setVisible(!first);
|
|
|
|
setPack(BoxLayoutPack.START);
|
|
setEnableOverflow(false);
|
|
add(field, new BoxLayoutData(new Margins()));
|
|
add(addBtn, new BoxLayoutData(new Margins()));
|
|
add(removeBtn, new BoxLayoutData(new Margins()));
|
|
|
|
forceLayout();
|
|
}
|
|
|
|
public void showCancelButton() {
|
|
removeBtn.setVisible(true);
|
|
}
|
|
|
|
public void hideCancelButton() {
|
|
removeBtn.setVisible(false);
|
|
}
|
|
|
|
public String getValue() {
|
|
return field.getCurrentValue();
|
|
}
|
|
|
|
public boolean isValid() {
|
|
return field.isValid();
|
|
}
|
|
|
|
}
|