mirror of
https://gitlab.kit.edu/uskyk/typicalc.git
synced 2024-11-08 18:30:42 +00:00
Merge branch 'master' of https://git.scc.kit.edu/pse-typinferenz/typicalc
This commit is contained in:
commit
363646f6d2
@ -96,6 +96,11 @@ public class InputBar extends HorizontalLayout implements LocaleChangeObserver {
|
|||||||
UI.getCurrent().getPage().executeJs("document.getElementById($0).click()", INFER_BUTTON_ID);
|
UI.getCurrent().getPage().executeJs("document.getElementById($0).click()", INFER_BUTTON_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the type assumptions displayed in the type assumptions area.
|
||||||
|
*
|
||||||
|
* @param typeAssumptions the type assumptions as a map
|
||||||
|
*/
|
||||||
protected void setTypeAssumptions(Map<String, String> typeAssumptions) {
|
protected void setTypeAssumptions(Map<String, String> typeAssumptions) {
|
||||||
typeAssumptionsArea = new TypeAssumptionsArea(typeAssumptions);
|
typeAssumptionsArea = new TypeAssumptionsArea(typeAssumptions);
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,9 @@ import com.vaadin.flow.component.textfield.TextField;
|
|||||||
import com.vaadin.flow.i18n.LocaleChangeEvent;
|
import com.vaadin.flow.i18n.LocaleChangeEvent;
|
||||||
import com.vaadin.flow.i18n.LocaleChangeObserver;
|
import com.vaadin.flow.i18n.LocaleChangeObserver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a single type assumption. Each TypeAssumptionField is displayed in the TypeAssumptionsArea.
|
||||||
|
*/
|
||||||
@CssImport("./styles/view/main/type-assumption-field.css")
|
@CssImport("./styles/view/main/type-assumption-field.css")
|
||||||
public class TypeAssumptionField extends HorizontalLayout implements LocaleChangeObserver {
|
public class TypeAssumptionField extends HorizontalLayout implements LocaleChangeObserver {
|
||||||
|
|
||||||
@ -28,12 +31,26 @@ public class TypeAssumptionField extends HorizontalLayout implements LocaleChang
|
|||||||
private final TextField variableInputField;
|
private final TextField variableInputField;
|
||||||
private final TextField typeInputField;
|
private final TextField typeInputField;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new TypeAssumptionField with initial values and a Consumer-object to remove this
|
||||||
|
* type assumption from the {@link edu.kit.typicalc.view.main.TypeAssumptionsArea}.
|
||||||
|
*
|
||||||
|
* @param deleteSelf deletes this object from the TypeAssumptionsArea
|
||||||
|
* @param variable variable of the type assumption
|
||||||
|
* @param type type of the type assumption
|
||||||
|
*/
|
||||||
protected TypeAssumptionField(Consumer<TypeAssumptionField> deleteSelf, String variable, String type) {
|
protected TypeAssumptionField(Consumer<TypeAssumptionField> deleteSelf, String variable, String type) {
|
||||||
this(deleteSelf);
|
this(deleteSelf);
|
||||||
variableInputField.setValue(variable);
|
variableInputField.setValue(variable);
|
||||||
typeInputField.setValue(type);
|
typeInputField.setValue(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new TypeAssumptionField with a Consumer-object to remove this
|
||||||
|
* type assumption from the {@link edu.kit.typicalc.view.main.TypeAssumptionsArea}.
|
||||||
|
*
|
||||||
|
* @param deleteSelf deletes this object from the TypeAssumptionsArea
|
||||||
|
*/
|
||||||
protected TypeAssumptionField(Consumer<TypeAssumptionField> deleteSelf) {
|
protected TypeAssumptionField(Consumer<TypeAssumptionField> deleteSelf) {
|
||||||
variableInputField = new TextField();
|
variableInputField = new TextField();
|
||||||
variableInputField.setLabel(getTranslation("root.variable"));
|
variableInputField.setLabel(getTranslation("root.variable"));
|
||||||
@ -47,10 +64,20 @@ public class TypeAssumptionField extends HorizontalLayout implements LocaleChang
|
|||||||
setId(ASSUMPTIONS_FIELD_ID);
|
setId(ASSUMPTIONS_FIELD_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the variable of the type assumption.
|
||||||
|
*
|
||||||
|
* @return the variable of the type assumption
|
||||||
|
*/
|
||||||
protected String getVariable() {
|
protected String getVariable() {
|
||||||
return variableInputField.getOptionalValue().orElse(StringUtils.EMPTY);
|
return variableInputField.getOptionalValue().orElse(StringUtils.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the type of the type assumption.
|
||||||
|
*
|
||||||
|
* @return the type of the type assumption
|
||||||
|
*/
|
||||||
protected String getType() {
|
protected String getType() {
|
||||||
return typeInputField.getOptionalValue().orElse(StringUtils.EMPTY);
|
return typeInputField.getOptionalValue().orElse(StringUtils.EMPTY);
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,10 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dialog which allows the user to create and delete type assumptions.
|
||||||
|
* The current type assumptions are stored after closing the dialog.
|
||||||
|
*/
|
||||||
@CssImport("./styles/view/main/type-assumptions-area.css")
|
@CssImport("./styles/view/main/type-assumptions-area.css")
|
||||||
public class TypeAssumptionsArea extends Dialog implements LocaleChangeObserver {
|
public class TypeAssumptionsArea extends Dialog implements LocaleChangeObserver {
|
||||||
|
|
||||||
@ -37,6 +41,11 @@ public class TypeAssumptionsArea extends Dialog implements LocaleChangeObserver
|
|||||||
|
|
||||||
private final List<TypeAssumptionField> fields = new ArrayList<>();
|
private final List<TypeAssumptionField> fields = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new TypeAssumptionsArea with initial type assumptions.
|
||||||
|
*
|
||||||
|
* @param types map containing the values for the initial type assumptions
|
||||||
|
*/
|
||||||
protected TypeAssumptionsArea(Map<String, String> types) {
|
protected TypeAssumptionsArea(Map<String, String> types) {
|
||||||
heading = new H3(getTranslation("root.typeAssumptions"));
|
heading = new H3(getTranslation("root.typeAssumptions"));
|
||||||
|
|
||||||
@ -70,6 +79,9 @@ public class TypeAssumptionsArea extends Dialog implements LocaleChangeObserver
|
|||||||
add(layout);
|
add(layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new TypeAssumptionsArea.
|
||||||
|
*/
|
||||||
protected TypeAssumptionsArea() {
|
protected TypeAssumptionsArea() {
|
||||||
this(new HashMap<>());
|
this(new HashMap<>());
|
||||||
}
|
}
|
||||||
@ -88,6 +100,11 @@ public class TypeAssumptionsArea extends Dialog implements LocaleChangeObserver
|
|||||||
fields.clear();
|
fields.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current type assumptions.
|
||||||
|
*
|
||||||
|
* @return the current type assumptions as mappings from a variable to a type
|
||||||
|
*/
|
||||||
protected Map<String, String> getTypeAssumptions() {
|
protected Map<String, String> getTypeAssumptions() {
|
||||||
return fields.stream()
|
return fields.stream()
|
||||||
.collect(Collectors.toMap(TypeAssumptionField::getVariable, TypeAssumptionField::getType));
|
.collect(Collectors.toMap(TypeAssumptionField::getVariable, TypeAssumptionField::getType));
|
||||||
|
Loading…
Reference in New Issue
Block a user