X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FcomponentTypeEditor%2FComponentTypePropertiesResultRequest.java;fp=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FcomponentTypeEditor%2FComponentTypePropertiesResultRequest.java;h=a1bb4f4419f06d9e4ec757db5d97a58c64433e49;hb=0b4ab685b0aa54ba8fbe0a5742e27726c862cfd9;hp=0000000000000000000000000000000000000000;hpb=6fc013b9a70621230879014575b244f3714d5ba8;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/ComponentTypePropertiesResultRequest.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/ComponentTypePropertiesResultRequest.java new file mode 100644 index 000000000..a1bb4f441 --- /dev/null +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/ComponentTypePropertiesResultRequest.java @@ -0,0 +1,45 @@ +package org.simantics.modeling.ui.componentTypeEditor; + +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.modeling.utils.ComponentTypeViewerPropertyInfo; +import org.simantics.modeling.utils.HeadlessComponentTypePropertiesResultRequest; + +public class ComponentTypePropertiesResultRequest extends HeadlessComponentTypePropertiesResultRequest { + + private final Collection sections; + + /** + * @param componentTypeViewer + */ + public ComponentTypePropertiesResultRequest(Resource componentType, Collection sections) { + super(componentType); + this.sections = sections; + } + + @Override + protected void readSectionSpecificData(ReadGraph graph, ComponentTypeViewerPropertyInfo info) throws DatabaseException { + + Object sectionSpecificData = null; + double priority = Double.NEGATIVE_INFINITY; + if(sections != null) { + for(ComponentTypeViewerSection section : sections) { + Object temp = section.getSectionSpecificData(graph, info); + if(temp != null) { + double sectionPriority = section.getDataPriority(); + if(sectionPriority > priority) { + sectionSpecificData = temp; + priority = sectionPriority; + } + } + } + } + + info.sectionSpecificData = sectionSpecificData; + + } + +} \ No newline at end of file