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