1 package org.simantics.modeling;
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.exception.DatabaseException;
5 import org.simantics.db.layer0.variable.Variable;
6 import org.simantics.utils.datastructures.hints.IHintContext;
9 * TODO: the IHintContext is just a nasty vimpautus to provide data to the
10 * monitor drop participant
12 * A property variable must have at least a visualized part,
13 * {@link #getModificationVariable()} may return null.
15 public interface PropertyVariables extends IHintContext {
18 * @return the container of the property
20 Variable getContainer();
23 * @return the configuration space variable for the property
25 Variable getConfiguration();
28 * @return the variable to read labeling/other visualisation information
31 Variable getVisualVariable();
34 * @return the variable into which to write modifications to this property
36 Variable getModificationVariable();
44 * To support indexing.
49 PropertyVariables withSuffix(String suffix);
52 * @return a new instance where {@link #getVisualVariable()} and
53 * {@link #getModificationVariable()} are both browsed with a suffix
54 * attached to this property variable. {@link #getContainer()}
55 * returns the same value. If this instance has no suffix, this will
58 PropertyVariables resolved(ReadGraph graph) throws DatabaseException;