Commit f919de6c authored by Christoph Döbber's avatar Christoph Döbber
Browse files

refactoring

refs 671
parent 8037afab
......@@ -19,15 +19,12 @@ package org.fortiss.af3.component.ui.properties;
import static org.eclipse.emf.ecore.util.EcoreUtil.copy;
import static org.fortiss.af3.component.ui.properties.PortDataPropagation.newPropagationComposite;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getConstructorsForType;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveTypes;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getTypeDefinitions;
import static org.fortiss.af3.component.ui.utils.CompletionProposalProviderFactory.createInitialValueProposals;
import static org.fortiss.af3.component.ui.utils.CompletionProposalProviderFactory.createTypeProposals;
import static org.fortiss.tooling.kernel.ui.util.DataBindingUtils.performComplexTextBinding;
import static org.fortiss.tooling.kernel.ui.util.ObservableUtils.observeValue;
import static org.fortiss.tooling.kernel.utils.LoggingUtils.error;
import java.util.ArrayList;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
......@@ -45,7 +42,6 @@ import org.fortiss.af3.expression.ui.databinding.validate.StringToIExpressionTer
import org.fortiss.af3.expression.ui.databinding.validate.StringToTypeValidator;
import org.fortiss.af3.project.model.typesystem.IType;
import org.fortiss.tooling.base.ui.fieldassist.FieldAssist;
import org.fortiss.tooling.base.ui.fieldassist.ProposalProviderBase;
import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
/**
......@@ -95,27 +91,8 @@ public final class PortSpecificationPropertySection extends PropertySectionBase
/** Creates {@link FieldAssist} for text fields. */
private void setupFieldAssist() {
new FieldAssist(typeText, new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals = getTypeDefinitions(specification);
proposals.addAll(getPrimitiveTypes());
return proposals.toArray(new String[0]);
}
});
new FieldAssist(initialValueText, new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals =
getConstructorsForType(specification.getType().toString(), true,
specification);
return proposals.toArray(new String[0]);
}
});
new FieldAssist(typeText, createTypeProposals(specification));
new FieldAssist(initialValueText, createInitialValueProposals(specification));
}
/** {@inheritDoc} */
......
/*--------------------------------------------------------------------------+
$Id$
| |
| Copyright 2012 ForTISS GmbH |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
+--------------------------------------------------------------------------*/
package org.fortiss.af3.component.ui.utils;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getConstructorsForType;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveTypes;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getTypeDefinitions;
import java.util.ArrayList;
import org.fortiss.af3.component.model.PortSpecification;
import org.fortiss.tooling.base.ui.fieldassist.ProposalProviderBase;
/**
* Factory methods for the proposal providers.
*
* @author doebber
* @author $Author$
* @version $Rev$
* @ConQAT.Rating RED Hash:
*/
public class CompletionProposalProviderFactory {
/** Creates the {@link ProposalProviderBase} for the "type" input text field. */
public static ProposalProviderBase createTypeProposals(final PortSpecification specification) {
return new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals = getTypeDefinitions(specification);
proposals.addAll(getPrimitiveTypes());
return proposals.toArray(new String[0]);
}
};
}
/** Creates the {@link ProposalProviderBase} for the "initial value" input text field. */
public static ProposalProviderBase createInitialValueProposals(
final PortSpecification specification) {
return new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals =
getConstructorsForType(specification.getType().toString(), true,
specification);
return proposals.toArray(new String[0]);
}
};
}
}
......@@ -17,18 +17,13 @@ $Id$
+--------------------------------------------------------------------------*/
package org.fortiss.af3.expression.ui.properties;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getAllConstructors;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getFunctions;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveTypes;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveValues;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getTypeDefinitions;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getUsefulExpressions;
import static org.fortiss.af3.expression.ui.utils.CompletionProposalProviderFactory.createDefinitionProposals;
import static org.fortiss.af3.expression.ui.utils.CompletionProposalProviderFactory.createParametersProposals;
import static org.fortiss.af3.expression.ui.utils.CompletionProposalProviderFactory.createReturnTypeProposals;
import static org.fortiss.tooling.kernel.ui.util.DataBindingUtils.DECORATION_KEY;
import static org.fortiss.tooling.kernel.ui.util.DataBindingUtils.performComplexTextBinding;
import static org.fortiss.tooling.kernel.ui.util.ObservableUtils.observeValue;
import java.util.ArrayList;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.fieldassist.ControlDecoration;
......@@ -49,7 +44,6 @@ import org.fortiss.af3.expression.ui.databinding.validate.StringToStatementSeque
import org.fortiss.af3.expression.ui.databinding.validate.StringToStructureMemberOrParameterValidator;
import org.fortiss.af3.expression.ui.databinding.validate.StringToTypeValidator;
import org.fortiss.tooling.base.ui.fieldassist.FieldAssist;
import org.fortiss.tooling.base.ui.fieldassist.ProposalProviderBase;
import org.fortiss.tooling.kernel.model.FortissToolingKernelPackage;
import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
......@@ -61,8 +55,7 @@ import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
* @version $Rev$
* @ConQAT.Rating GREEN Hash: F39C67E2F8AB60B026FA4297E0AD7F83
*/
public final class FunctionDefinitionPropertySection extends
PropertySectionBase {
public final class FunctionDefinitionPropertySection extends PropertySectionBase {
/** The selected {@link FunctionDefinition}. */
protected FunctionDefinition function;
......@@ -84,8 +77,7 @@ public final class FunctionDefinitionPropertySection extends
/** {@inheritDoc} */
@Override
public void createControls(Composite parent,
TabbedPropertySheetPage aTabbedPropertySheetPage) {
public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) {
super.createControls(parent, aTabbedPropertySheetPage);
nameText = createFormText("Name");
......@@ -93,11 +85,10 @@ public final class FunctionDefinitionPropertySection extends
parametersText = createDecoratedText("Parameter");
returnTypeText = createDecoratedText("Return");
definitionText = getWidgetFactory()
.createText(composite, "", SWT.MULTI);
definitionText = getWidgetFactory().createText(composite, "", SWT.MULTI);
createFormEntry(definitionText, "Definition");
definitionText.setData(DECORATION_KEY, new ControlDecoration(
definitionText, SWT.LEFT | SWT.TOP));
definitionText.setData(DECORATION_KEY, new ControlDecoration(definitionText, SWT.LEFT |
SWT.TOP));
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.heightHint = 150;
definitionText.setLayoutData(gd);
......@@ -107,49 +98,15 @@ public final class FunctionDefinitionPropertySection extends
/** Creates {@link FieldAssist} for text fields. */
private void setupFieldAssist() {
new FieldAssist(parametersText, new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals = getTypeDefinitions(function);
proposals.addAll(getPrimitiveTypes());
return proposals.toArray(new String[0]);
}
/** {@inheritDoc} */
@Override
public char[] getAdditionalWhitespaceChars() {
return new char[] { ':' };
}
});
new FieldAssist(returnTypeText, new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals = getTypeDefinitions(function);
proposals.addAll(getPrimitiveTypes());
return proposals.toArray(new String[0]);
}
});
new FieldAssist(definitionText, new ProposalProviderBase() {
@Override
/** {@inheritDoc} */
public String[] getProposals(String currentWord) {
ArrayList<String> prop = getFunctions(function);
prop.addAll(getAllConstructors(function, true));
prop.addAll(getPrimitiveValues());
prop.addAll(getUsefulExpressions());
return prop.toArray(new String[0]);
}
});
new FieldAssist(parametersText, createParametersProposals(function));
new FieldAssist(returnTypeText, createReturnTypeProposals(function));
new FieldAssist(definitionText, createDefinitionProposals(function));
}
/** {@inheritDoc} */
@Override
protected void setSectionInput(Object input) {
function = (FunctionDefinition) input;
function = (FunctionDefinition)input;
}
/** {@inheritDoc} */
......@@ -157,39 +114,36 @@ public final class FunctionDefinitionPropertySection extends
public void refresh() {
super.refresh();
IObservableValue modelObservable = observeValue(function.getFunction(),
FortissToolingKernelPackage.Literals.INAMED_ELEMENT__NAME);
dbc.bindValue(SWTObservables.observeText(nameText, SWT.FocusOut),
modelObservable, null, null);
IObservableValue modelObservable =
observeValue(function.getFunction(),
FortissToolingKernelPackage.Literals.INAMED_ELEMENT__NAME);
dbc.bindValue(SWTObservables.observeText(nameText, SWT.FocusOut), modelObservable, null,
null);
modelObservable = observeValue(
function.getFunction(),
FortissToolingKernelPackage.Literals.INAMED_COMMENTED_ELEMENT__COMMENT);
dbc.bindValue(SWTObservables.observeText(commentText, SWT.FocusOut),
modelObservable, null, null);
modelObservable =
observeValue(function.getFunction(),
FortissToolingKernelPackage.Literals.INAMED_COMMENTED_ELEMENT__COMMENT);
dbc.bindValue(SWTObservables.observeText(commentText, SWT.FocusOut), modelObservable, null,
null);
modelObservable = observeValue(function,
DefinitionsPackage.Literals.FUNCTION_DEFINITION__RETURN_TYPE);
modelObservable =
observeValue(function, DefinitionsPackage.Literals.FUNCTION_DEFINITION__RETURN_TYPE);
performComplexTextBinding(dbc, returnTypeText, modelObservable,
new TypeToStringConverter(), new StringToTypeConverter(),
new StringToTypeValidator(function), null);
modelObservable = observeValue(function,
DefinitionsPackage.Literals.FUNCTION_DEFINITION__PARAMETERS);
performComplexTextBinding(
dbc,
parametersText,
modelObservable,
modelObservable =
observeValue(function, DefinitionsPackage.Literals.FUNCTION_DEFINITION__PARAMETERS);
performComplexTextBinding(dbc, parametersText, modelObservable,
new StructureMemberOrParameterToStringConverter(),
new StringToStructureMemberOrParameterConverter(false),
new StringToStructureMemberOrParameterValidator(false, function),
null);
new StringToStructureMemberOrParameterValidator(false, function), null);
modelObservable = observeValue(function,
DefinitionsPackage.Literals.FUNCTION_DEFINITION__DEFINITION);
modelObservable =
observeValue(function, DefinitionsPackage.Literals.FUNCTION_DEFINITION__DEFINITION);
performComplexTextBinding(dbc, definitionText, modelObservable,
new StatementSequenceToStringConverter(true),
new StringToStatementSequenceConverter(),
new StringToStatementSequenceValidator(function), null);
new StringToStatementSequenceConverter(), new StringToStatementSequenceValidator(
function), null);
}
}
/*--------------------------------------------------------------------------+
$Id$
| |
| Copyright 2012 ForTISS GmbH |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
+--------------------------------------------------------------------------*/
package org.fortiss.af3.expression.ui.utils;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getAllConstructors;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getFunctions;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveTypes;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveValues;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getTypeDefinitions;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getUsefulExpressions;
import java.util.ArrayList;
import org.fortiss.af3.expression.model.definitions.FunctionDefinition;
import org.fortiss.tooling.base.ui.fieldassist.ProposalProviderBase;
/**
* Factory methods for the proposal providers.
*
* @author doebber
* @author $Author$
* @version $Rev$
* @ConQAT.Rating RED Hash:
*/
public class CompletionProposalProviderFactory {
/** Creates the {@link ProposalProviderBase} for the "parameters" input text field. */
public static ProposalProviderBase createParametersProposals(final FunctionDefinition function) {
return new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals = getTypeDefinitions(function);
proposals.addAll(getPrimitiveTypes());
return proposals.toArray(new String[0]);
}
/** {@inheritDoc} */
@Override
public char[] getAdditionalWhitespaceChars() {
return new char[] {':'};
}
};
}
/** Creates the {@link ProposalProviderBase} for the "return type" input text field. */
public static ProposalProviderBase createReturnTypeProposals(final FunctionDefinition function) {
return new ProposalProviderBase() {
/** {@inheritDoc} */
@Override
public String[] getProposals(String currentWord) {
ArrayList<String> proposals = getTypeDefinitions(function);
proposals.addAll(getPrimitiveTypes());
return proposals.toArray(new String[0]);
}
};
}
/** Creates the {@link ProposalProviderBase} for the "definition" input text field. */
public static ProposalProviderBase createDefinitionProposals(final FunctionDefinition function) {
return new ProposalProviderBase() {
@Override
/** {@inheritDoc} */
public String[] getProposals(String currentWord) {
ArrayList<String> prop = getFunctions(function);
prop.addAll(getAllConstructors(function, true));
prop.addAll(getPrimitiveValues());
prop.addAll(getUsefulExpressions());
return prop.toArray(new String[0]);
}
};
}
}
......@@ -17,20 +17,11 @@ $Id$
+--------------------------------------------------------------------------*/
package org.fortiss.af3.mode.ui.properties;
import static org.fortiss.af3.component.ui.utils.ComponentFieldAssistUtils.getInputPortNames;
import static org.fortiss.af3.component.ui.utils.ComponentFieldAssistUtils.getOutputPortNames;
import static org.fortiss.af3.component.utils.ComponentArchitectureUtils.getEnclosingComponent;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getAllConstructors;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getFunctions;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveValues;
import static org.fortiss.af3.mode.model.AF3ModePackage.Literals.SWITCH_SEGMENT_SPECIFICATION__GUARD;
import static org.fortiss.af3.mode.ui.utils.ModeFieldAssistUtils.getModeDataStateVariables;
import static org.fortiss.af3.mode.utils.ModeAutomatonUtils.getEnclosingModeAutomaton;
import static org.fortiss.af3.mode.ui.utils.CompletionProposalProviderFactory.createGuardProposals;
import static org.fortiss.tooling.kernel.ui.util.DataBindingUtils.performComplexTextBinding;
import static org.fortiss.tooling.kernel.ui.util.ObservableUtils.observeValue;
import java.util.ArrayList;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.swt.widgets.Composite;
......@@ -44,7 +35,6 @@ import org.fortiss.af3.component.ui.behavior.StringToGuardValidator;
import org.fortiss.af3.mode.model.SwitchSegment;
import org.fortiss.af3.mode.model.SwitchSegmentSpecification;
import org.fortiss.tooling.base.ui.fieldassist.FieldAssist;
import org.fortiss.tooling.base.ui.fieldassist.ProposalProviderBase;
import org.fortiss.tooling.base.ui.properties.view.PropertySectionWithCopyPasteBase;
import org.fortiss.tooling.kernel.extension.data.ITopLevelElement;
import org.fortiss.tooling.kernel.service.IPersistencyService;
......@@ -80,23 +70,7 @@ public class SwitchSegmentSpecificationPropertySection extends
/** Creates {@link FieldAssist} for text fields. */
private void setupFieldAssist() {
// Must use inner classes here, since specification is null during
// createControls, but will be not null when field assist is used
new FieldAssist(guardText, new ProposalProviderBase() {
@Override
/** {@inheritDoc} */
public String[] getProposals(String currentWord) {
ArrayList<String> prop =
getModeDataStateVariables(getEnclosingModeAutomaton(specification));
prop.addAll(getInputPortNames(getEnclosingComponent(specification)));
prop.addAll(getOutputPortNames(getEnclosingComponent(specification)));
prop.addAll(getFunctions(specification));
prop.addAll(getAllConstructors(specification, true));
prop.addAll(getPrimitiveValues());
return prop.toArray(new String[0]);
}
});
new FieldAssist(guardText, createGuardProposals(specification));
}
/** {@inheritDoc} */
......
/*--------------------------------------------------------------------------+
$Id$
| |
| Copyright 2012 ForTISS GmbH |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
+--------------------------------------------------------------------------*/
package org.fortiss.af3.mode.ui.utils;
import static org.fortiss.af3.component.ui.utils.ComponentFieldAssistUtils.getInputPortNames;
import static org.fortiss.af3.component.ui.utils.ComponentFieldAssistUtils.getOutputPortNames;
import static org.fortiss.af3.component.utils.ComponentArchitectureUtils.getEnclosingComponent;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getAllConstructors;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getFunctions;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveValues;
import static org.fortiss.af3.mode.ui.utils.ModeFieldAssistUtils.getModeDataStateVariables;
import static org.fortiss.af3.mode.utils.ModeAutomatonUtils.getEnclosingModeAutomaton;
import java.util.ArrayList;
import org.fortiss.af3.mode.model.SwitchSegmentSpecification;
import org.fortiss.tooling.base.ui.fieldassist.ProposalProviderBase;
/**
* Factory methods for the proposal providers.
*
* @author doebber
* @author $Author$
* @version $Rev$
* @ConQAT.Rating RED Hash:
*/
public class CompletionProposalProviderFactory {
/** Creates the {@link ProposalProviderBase} for the "guard" input text field. */
public static ProposalProviderBase createGuardProposals(
final SwitchSegmentSpecification specification) {
return new ProposalProviderBase() {
@Override
/** {@inheritDoc} */
public String[] getProposals(String currentWord) {
ArrayList<String> prop =
getModeDataStateVariables(getEnclosingModeAutomaton(specification));
prop.addAll(getInputPortNames(getEnclosingComponent(specification)));
prop.addAll(getOutputPortNames(getEnclosingComponent(specification)));
prop.addAll(getFunctions(specification));
prop.addAll(getAllConstructors(specification, true));
prop.addAll(getPrimitiveValues());
return prop.toArray(new String[0]);
}
};
}
}
......@@ -17,21 +17,12 @@ $Id: codetemplates.xml 1 2011-01-01 00:00:01Z ratiu $
+--------------------------------------------------------------------------*/
package org.fortiss.af3.state.ui.properties;
import static org.fortiss.af3.component.ui.utils.ComponentFieldAssistUtils.getInputPortNames;
import static org.fortiss.af3.component.ui.utils.ComponentFieldAssistUtils.getOutputPortNames;
import static org.fortiss.af3.component.utils.ComponentArchitectureUtils.getEnclosingComponent;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getAllConstructors;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getFunctions;
import static org.fortiss.af3.expression.ui.utils.ExpressionFieldAssistUtils.getPrimitiveValues;
import static org.fortiss.af3.state.model.AF3StatePackage.Literals.STATE_SPECIFICATION__INITIAL;
import static org.fortiss.af3.state.model.AF3StatePackage.Literals.TRANSITION_SEGMENT_SPECIFICATION__ACTIONS;
import static org.fortiss.af3.state.ui.utils.StateFieldAssistUtils.getDataStateVariables;
import static org.fortiss.af3.state.ui.utils.StateFieldAssistUtils.getEnclosingAutomaton;
import static org.fortiss.af3.state.ui.utils.CompletionProposalProviderFactory.createIdleActionsProposals;
import static org.fortiss.tooling.kernel.ui.util.DataBindingUtils.performComplexTextBinding;
import static org.fortiss.tooling.kernel.ui.util.ObservableUtils.observeValue;
import java.util.ArrayList;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
......@@ -48,7 +39,6 @@ import org.fortiss.af3.state.model.StateSpecification;
import org.fortiss.af3.state.model.TransitionSegmentSpecification;
import org.fortiss.af3.state.ui.AF3StateUIActivator;
import org.fortiss.tooling.base.ui.fieldassist.FieldAssist;
import org.fortiss.tooling.base.ui.fieldassist.ProposalProviderBase;
import org.fortiss.tooling.kernel.ui.extension.base.PropertySectionBase;
import org.fortiss.tooling.kernel.utils.LoggingUtils;