import "Simantics/DB"
-import "Extras/HashMap" as Map
import "Simantics/Entity"
import "Simantics/Model"
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) -> <Proc,WriteGraph,ReadGraph> ()
+applyConnectionTypes :: MMap.T (DiagramElement Resource) (Resource,Resource) -> <Proc,WriteGraph,ReadGraph> ()
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 -> <Proc,ReadGraph,WriteGraph> ()) = 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)
(elementPostProcessing :: DiagramElement Resource -> Resource -> Resource -> <Proc,ReadGraph,WriteGraph> ())
(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 ()
(compositeType :: Resource)
(f :: Diagram -> <ReadGraph> [(DiagramElement Resource,Resource)])
(joinMap :: Dynamic -> <WriteGraph> Resource)
- (elementMap :: Map.T (DiagramElement Resource) (Resource,Resource))
+ (elementMap :: MMap.T (DiagramElement Resource) (Resource,Resource))
(diagramPostProcessing :: Diagram -> Diagram -> <Proc,ReadGraph,WriteGraph> ())
(sourceDiagram :: Diagram) = do
disableDependencies
getTargetDiagram (targetModel :: Model) (sourceDiagram :: Diagram) =
(possibleDiagram targetModel $ pathOf sourceDiagram) :: Maybe Diagram
-store :: Map.T (DiagramElement Resource) (Resource,Resource) -> (DiagramElement Resource) -> Resource -> Resource -> <Proc,WriteGraph,ReadGraph> ()
+store :: MMap.T (DiagramElement Resource) (Resource,Resource) -> (DiagramElement Resource) -> Resource -> Resource -> <Proc,WriteGraph,ReadGraph> ()
store elementMap a b c = do
- Map.put elementMap a (b,c)
+ MMap.put elementMap a (b,c)
()
getTargetComponent (targetDiagram :: Diagram) (sourceComponent :: Resource) =
(compositeType :: Resource)
(f :: Diagram -> <ReadGraph> [(DiagramElement Resource,Resource)])
(joinMap :: Dynamic -> <WriteGraph> 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)