X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fscl%2FSimantics%2FDiagramMapping.scl;h=0c184489565cabbc0eeb4a587d1653d5eb6141b4;hb=4bc25acb8086df68836950af08faeacd382e5427;hp=a612aca96cc089003b0aa514e932ee32d9ade642;hpb=c26409b1caf2f1e560d37c5befd11b442399c3fe;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/scl/Simantics/DiagramMapping.scl b/bundles/org.simantics.modeling/scl/Simantics/DiagramMapping.scl index a612aca96..0c1844895 100644 --- a/bundles/org.simantics.modeling/scl/Simantics/DiagramMapping.scl +++ b/bundles/org.simantics.modeling/scl/Simantics/DiagramMapping.scl @@ -1,5 +1,4 @@ import "Simantics/DB" -import "Extras/HashMap" as Map import "Simantics/Entity" import "Simantics/Model" import "Simantics/Diagram" @@ -7,19 +6,19 @@ import "Simantics/Diagram" import "http://www.simantics.org/Modeling-1.2" as MOD import "http://www.simantics.org/ModelingTemplate2d-1.0" as TMPL -applyConnectionTypes :: Map.T (DiagramElement Resource) (Resource,Resource) -> () +applyConnectionTypes :: MMap.T (DiagramElement Resource) (Resource,Resource) -> () applyConnectionTypes elementMap = let isConnection ((Connection _ _ _),_) = True isConnection _ = False - in iter (\(a,(source,target)) -> applyConnectionType target) (filter isConnection (Map.entries elementMap)) + in iter (\(a,(source,target)) -> applyConnectionType target) (filter isConnection (MMap.entries elementMap)) // ---- -doElementPostProcessing (elementMap :: Map.T (DiagramElement Resource) (Resource,Resource)) +doElementPostProcessing (elementMap :: MMap.T (DiagramElement Resource) (Resource,Resource)) (elementPostProcessing :: DiagramElement Resource -> Resource -> Resource -> ()) = do - list = sortByCluster (Map.entries elementMap) (\(a,(source,target)) -> target) + list = sortByCluster (MMap.entries elementMap) (\(a,(source,target)) -> target) iter (\(a,(source,target)) -> elementPostProcessing a source target) list translateDiagrams (sourceModel :: Model) @@ -31,7 +30,7 @@ translateDiagrams (sourceModel :: Model) (elementPostProcessing :: DiagramElement Resource -> Resource -> Resource -> ()) (sourceDiagrams :: [Diagram]) = do - elementMap = Map.create() :: Map.T (DiagramElement Resource) (Resource,Resource) + elementMap = MMap.create () :: MMap.T (DiagramElement Resource) (Resource,Resource) // Join map contains all joins of the model joinMap = createJoinMap () @@ -60,7 +59,7 @@ translateDiagram (sourceModel :: Model) (compositeType :: Resource) (f :: Diagram -> [(DiagramElement Resource,Resource)]) (joinMap :: Dynamic -> Resource) - (elementMap :: Map.T (DiagramElement Resource) (Resource,Resource)) + (elementMap :: MMap.T (DiagramElement Resource) (Resource,Resource)) (diagramPostProcessing :: Diagram -> Diagram -> ()) (sourceDiagram :: Diagram) = do disableDependencies @@ -96,9 +95,9 @@ makeSpec targetModel sourceDiagram folderType compositeType = getTargetDiagram (targetModel :: Model) (sourceDiagram :: Diagram) = (possibleDiagram targetModel $ pathOf sourceDiagram) :: Maybe Diagram -store :: Map.T (DiagramElement Resource) (Resource,Resource) -> (DiagramElement Resource) -> Resource -> Resource -> () +store :: MMap.T (DiagramElement Resource) (Resource,Resource) -> (DiagramElement Resource) -> Resource -> Resource -> () store elementMap a b c = do - Map.put elementMap a (b,c) + MMap.put elementMap a (b,c) () getTargetComponent (targetDiagram :: Diagram) (sourceComponent :: Resource) = @@ -110,7 +109,7 @@ translateDiagram2 (targetModel :: Model) (compositeType :: Resource) (f :: Diagram -> [(DiagramElement Resource,Resource)]) (joinMap :: Dynamic -> Resource) - (elementMap :: Map.T (DiagramElement Resource) (Resource,Resource)) = do + (elementMap :: MMap.T (DiagramElement Resource) (Resource,Resource)) = do spec = makeSpec targetModel sourceDiagram folderType compositeType elementSpecs = f sourceDiagram in1 = (filter (not . isReferring) elementSpecs + filter isReferring elementSpecs)