--- /dev/null
+L0 = <http://www.simantics.org/Layer0-1.1>\r
+L0X = <http://www.simantics.org/Layer0X-1.1>\r
+STR = <http://www.simantics.org/Structural-1.2>\r
+DIA = <http://www.simantics.org/Diagram-2.2>\r
+MOD = <http://www.simantics.org/Modeling-1.2>\r
+TEMPLATE2D = <http://www.simantics.org/ModelingTemplate2d-1.0>\r
+IMAGE = <http://www.simantics.org/Image2-1.2>\r
+VP = <http://www.simantics.org/Viewpoint-1.2>\r
+PROJ = <http://www.simantics.org/Project-1.2>\r
+ACT = <http://www.simantics.org/Action-1.1>\r
+G2D = <http://www.simantics.org/G2D-1.1>\r
+SG = <http://www.simantics.org/Scenegraph-1.1>\r
+SEL = <http://www.simantics.org/SelectionView-1.2>\r
+SEL_UI = <http://www.simantics.org/SelectionViewUI-1.1>\r
+ANNO = <http://www.simantics.org/Annotation-1.0>\r
+\r
+DIAGRAM_TEMPLATE_BC = TEMPLATE2D.DiagramTemplateBC : VP.BrowseContext\r
+// VP.BrowseContext.IsIncludedIn MOD.ModelingBrowseContext\r
+// VP.BrowseContext.IsIncludedIn PROJ.ProjectBrowseContext\r
+\r
+\r
+TEMPLATE2D.BrowseNode <T L0.Entity\r
+TEMPLATE2D.DrawingTemplateLibraryUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.DrawingTemplateUI <T TEMPLATE2D.BrowseNode <T L0.Library\r
+TEMPLATE2D.BorderUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.TextTemplateUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.FlagTableUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.FlagTypeVisualUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.FlagTypeVisual.FilterUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.FlagTableUI.ColumnUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.FlagTableUI.ColumnUI.DataUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.FlagTableUI.ColumnUI.HeaderUI <T TEMPLATE2D.BrowseNode\r
+TEMPLATE2D.CompositeUI <T TEMPLATE2D.BrowseNode\r
+\r
+TEMPLATE2D.TemplateTabContribution : SEL.TypedVariableTabContribution\r
+ SEL.TypedVariableTabContribution.HasType SG.Node\r
+ SEL.VariableTabContribution.HasView SEL_UI.StandardProperties\r
+ SEL.VariableTabContribution.HasPriority 1\r
+ L0.HasLabel "Parameters"\r
+\r
+TEMPLATE2D.DiagramTemplateBC.ScenegraphChildren : VP.ChildRule\r
+ VP.RelationChildRule.HasRelation SG.Node.children\r
+\r
+DIAGRAM_TEMPLATE_BC\r
+ // Produces drawing template library/libraries under model\r
+ @VP.relationChildRule MOD.StructuralModel TEMPLATE2D.HasDrawingTemplateRoot TEMPLATE2D.BrowseNode\r
+\r
+ // Produces BrowseNode hierarchy through L0.ConsistsOf but leaves out\r
+ // CompositeUI instances. Those are contributed separately.\r
+ VP.BrowseContext.HasChildContribution _ : VP.ChildContribution\r
+ VP.ChildContribution.HasParentNodeType TEMPLATE2D.BrowseNode\r
+ VP.ChildContribution.HasChildNodeType TEMPLATE2D.BrowseNode \r
+ VP.ChildContribution.HasRule _ : VP.RelationChildRule\r
+ VP.RelationChildRule.HasRelation L0.ConsistsOf\r
+ VP.RelationChildRule.HasTest _ : VP.HasNegatedTest\r
+ VP.HasNegatedTest.HasTest _ : VP.OrTest\r
+ VP.OrTest.HasTest\r
+ _ : VP.HasInstanceOfTest\r
+ VP.HasInstanceOfTest.IsInstanceOf TEMPLATE2D.CompositeUI\r
+ _ : VP.HasInstanceOfTest\r
+ VP.HasInstanceOfTest.IsInstanceOf TEMPLATE2D.FlagTableUI\r
+\r
+ // Produce root-level VisualComposites under drawing template.\r
+ @VP.relationChildRule TEMPLATE2D.DrawingTemplateUI L0.ConsistsOf DIA.Scenegraph.Composite\r
+\r
+ // Produces filters under scene graph nodes in flag type visuals\r
+ @VP.relationChildRule SG.Node L0.ConsistsOf TEMPLATE2D.FlagTypeVisual.Filter\r
+\r
+ // Produces scene graph node hiearchy under DIA.Scenegraph.Composite instances\r
+ VP.BrowseContext.HasChildContribution _ : VP.ChildContribution\r
+ VP.ChildContribution.HasParentNodeType DIA.Scenegraph.Composite\r
+ VP.ChildContribution.HasChildNodeType DIA.Scenegraph.Node\r
+ VP.ChildContribution.HasRule TEMPLATE2D.DiagramTemplateBC.ScenegraphChildren\r
+\r
+ VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+ VP.VisualsContribution.HasNodeType DIA.Scenegraph.Composite\r
+ VP.VisualsContribution.HasRule VP.PassThruSorterRule\r
+\r
+ VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+ VP.VisualsContribution.HasNodeType TEMPLATE2D.CompositeUI\r
+ VP.VisualsContribution.HasRule VP.PassThruSorterRule\r
+\r
+ VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+ VP.VisualsContribution.HasNodeType TEMPLATE2D.FlagTableUI\r
+ VP.VisualsContribution.HasRule VP.PassThruSorterRule\r
+\r
+ VP.BrowseContext.HasVisualsContribution _ : VP.VisualsContribution\r
+ VP.VisualsContribution.HasNodeType TEMPLATE2D.FlagTypeVisualUI\r
+ VP.VisualsContribution.HasRule VP.PassThruSorterRule\r
+\r
+DIAGRAM_TEMPLATE_BC\r
+ @VP.customLabelRule TEMPLATE2D.BrowseNode VP.StandardNameLabelRule\r
+ @VP.customLabelRule TEMPLATE2D.PageOrientation VP.ResourceNameLabelRule\r
+\r
+DIAGRAM_TEMPLATE_BC\r
+ @VP.constantImageRule TEMPLATE2D.BrowseNode IMAGES.DiagramTemplateLibrary\r
+ @VP.constantImageRule TEMPLATE2D.BorderUI IMAGES.BorderIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTable IMAGES.FlagTableIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTableUI IMAGES.FlagTableIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTableUI.ColumnUI.DataUI IMAGES.DiagramTemplateDataIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTableUI.ColumnUI.HeaderUI IMAGES.DiagramTemplateHeaderIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTypeVisual IMAGES.FlagTypeVisualIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTypeVisualUI IMAGES.FlagTypeVisualIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTypeVisual.Filter IMAGES.FilterIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTypeVisual.FilterUI IMAGES.FilterIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.FlagTableColumnIcon\r
+ @VP.constantImageRule TEMPLATE2D.FlagTable.RowNumberColumn IMAGES.FlagTableNumberingColumnIcon\r
+ @VP.constantImageRule TEMPLATE2D.Page IMAGES.PageIcon\r
+ @VP.constantImageRule SG.Node IMAGES.ScenegraphNode\r
+ @VP.constantImageRule TEMPLATE2D.CompositeUI IMAGES.VisualCompositeIcon\r
+ @VP.constantImageRule DIA.Scenegraph.Composite IMAGES.VisualCompositeIcon\r
+ @VP.constantImageRule DIA.Scenegraph.Text IMAGES.TextIcon\r
+ @VP.constantImageRule DIA.Scenegraph.Monitor IMAGES.MonitorIcon\r
+ @VP.constantImageRule DIA.Scenegraph.SVGImage IMAGES.SVGImageIcon\r
+\r
+DIAGRAM_TEMPLATE_AC = TEMPLATE2D.DiagramTemplateAC : VP.BrowseContext\r
+ VP.BrowseContext.IsIncludedIn MOD.ModelingActionContext\r
+ //MOD.ModelingActionContext\r
+\r
+TEMPLATE2D.DiagramTemplateAC.IsInModelTest : VP.Test\r
+\r
+DIAGRAM_TEMPLATE_AC\r
+ @VP.actionContribution "Diagram Template" TEMPLATE2D.DrawingTemplateLibraryUI IMAGES.NewDrawingTemplate VP.NewActionCategory ACTIONS.NewDrawingTemplate\r
+ @VP.actionContribution "VisualComposite" TEMPLATE2D.DrawingTemplateUI IMAGES.VisualCompositeIcon VP.NewActionCategory ACTIONS.NewScenegraph\r
+ @VP.actionContribution "VisualComposite" DIA.Scenegraph.Composite IMAGES.VisualCompositeIcon VP.NewActionCategory ACTIONS.NewScenegraph\r
+ @VP.actionContribution "FlagTable" TEMPLATE2D.DrawingTemplateUI IMAGES.FlagTableIcon VP.NewActionCategory ACTIONS.NewFlagTable\r
+ @VP.actionContribution "FlagTypeVisual" TEMPLATE2D.FlagTable IMAGES.FlagTypeVisualIcon VP.NewActionCategory ACTIONS.NewFlagTypeVisual\r
+ @VP.actionContribution "Filter" DIA.Scenegraph.Node IMAGES.FilterIcon VP.NewActionCategory ACTIONS.NewFlagTypeVisualFilter\r
+ @VP.actionContribution "Column" TEMPLATE2D.FlagTableUI IMAGES.FlagTableColumnIcon VP.NewActionCategory ACTIONS.NewFlagTableColumn\r
+ @VP.actionContribution "Data" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.DiagramTemplateDataIcon VP.NewActionCategory ACTIONS.NewFlagTableColumnData\r
+ @VP.actionContribution "Header" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.DiagramTemplateHeaderIcon VP.NewActionCategory ACTIONS.NewFlagTableColumnHeader\r
+ @VP.actionContribution "Row Numbering" TEMPLATE2D.FlagTableUI IMAGES.FlagTableNumberingColumnIcon VP.NewActionCategory ACTIONS.NewFlagTableRowNumberColumn\r
+ @VP.actionContribution "SVGImage" DIA.Scenegraph.Composite IMAGES.SVGImageIcon VP.NewActionCategory ACTIONS.NewSVGImage\r
+ @VP.actionContribution "SVGImage" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.SVGImageIcon VP.NewActionCategory ACTIONS.NewSVGImage\r
+ @VP.actionContribution "Monitor" DIA.Scenegraph.Composite IMAGES.MonitorIcon VP.NewActionCategory ACTIONS.NewMonitor\r
+ @VP.actionContribution "Text" DIA.Scenegraph.Composite IMAGES.TextIcon VP.NewActionCategory ACTIONS.NewText\r
+ @VP.actionContribution "Move Up" DIA.Scenegraph.Node IMAGES.MoveUpIcon ACTIONS.NoActionCategory ACTIONS.MoveUp\r
+ @VP.actionContribution "Move Down" DIA.Scenegraph.Node IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.MoveDown\r
+ @VP.actionContribution "Move Up" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.MoveUpIcon ACTIONS.NoActionCategory ACTIONS.MoveUp\r
+ @VP.actionContribution "Move Down" TEMPLATE2D.FlagTableUI.ColumnUI IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.MoveDown\r
+ @VP.actionContribution "Move up" TEMPLATE2D.FlagTypeVisual.FilterUI IMAGES.MoveUpIcon ACTIONS.NoActionCategory ACTIONS.MoveUp\r
+ @VP.actionContribution "Move Down" TEMPLATE2D.FlagTypeVisual.FilterUI IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.MoveDown\r
+ // This was just a temporary hack for fixing broken linked lists caused by the lack of NodeRemover.\r
+ //@VP.actionContribution "Fix Linked List" DIA.Scenegraph.Composite IMAGES.MoveDownIcon ACTIONS.NoActionCategory ACTIONS.FixLinkedList\r
+\r
+ @VP.actionContribution "Set Color" TEMPLATE2D.BorderUI IMAGES.Action ACTIONS.NoActionCategory ACTIONS.SetBorderColor\r
+ //@VP.actionContribution "Set font" TEMPLATE2D.TextTemplateUI IMAGES.Action ACTIONS.NoActionCategory ACTIONS.SetTextTemplateFont\r
+ @VP.actionContributionWithVisibility "Assign Diagram Template" STR.Composite IMAGES.Action VP.EditActionCategory ACTIONS.AssignDrawingTemplate TEMPLATE2D.DiagramTemplateAC.IsInModelTest\r
+\r
+ACTIONS = TEMPLATE2D.Actions : L0.Library\r
+ACTIONS.AssignDrawingTemplate : ACT.Action\r
+ACTIONS.NewDrawingTemplate : ACT.Action\r
+ACTIONS.SetBorderColor : ACT.Action\r
+ACTIONS.NewScenegraph : ACT.Action\r
+ACTIONS.NewFlagTable : ACT.Action\r
+ACTIONS.NewFlagTypeVisual : ACT.Action\r
+ACTIONS.NewFlagTypeVisualFilter : ACT.Action\r
+ACTIONS.NewFlagTableColumn : ACT.Action\r
+ACTIONS.NewFlagTableRowNumberColumn : ACT.Action\r
+ACTIONS.NewFlagTableColumnData : ACT.Action\r
+ACTIONS.NewFlagTableColumnHeader : ACT.Action\r
+ACTIONS.NewMonitor : ACT.Action\r
+ACTIONS.NewText : ACT.Action\r
+ACTIONS.NewSVGImage : ACT.Action\r
+ACTIONS.MoveUp : ACT.Action\r
+ACTIONS.MoveDown : ACT.Action\r
+//ACTIONS.FixLinkedList : ACT.Action\r
+\r
+ACTIONS.NoActionCategory : VP.ActionCategory\r
+ L0.HasLabel "Root"\r
+ VP.ActionCategory.IsSubmenu L0.False\r
+\r
+IMAGES = TEMPLATE2D.Images : L0.Library\r
+IMAGES.Action : IMAGE.PngImage\r
+ @L0.loadBytes "images/action.png"\r
+IMAGES.NewDrawingTemplate : IMAGE.PngImage\r
+ @L0.loadBytes "images/layout_add.png"\r
+IMAGES.ScenegraphNode : IMAGE.PngImage\r
+ @L0.loadBytes "images/shape_square.png"\r
+IMAGES.DiagramTemplateLibrary : IMAGE.PngImage\r
+ @L0.loadBytes "images/folder_page.png"\r
+IMAGES.DiagramTemplate : IMAGE.PngImage\r
+ @L0.loadBytes "images/layout_sidebar.png"\r
+IMAGES.DiagramTemplateDataIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/templateData.png"\r
+IMAGES.DiagramTemplateHeaderIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/templateHeader.png"\r
+IMAGES.MonitorIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/text_complete.png"\r
+IMAGES.TextIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/textfield.png"\r
+IMAGES.VisualCompositeIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/layout_content.png"\r
+IMAGES.FlagTableIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/slottable.png"\r
+IMAGES.FlagTableColumnIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/slottable_column.png"\r
+IMAGES.FlagTableNumberingColumnIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/slottable_numbering_column.png"\r
+IMAGES.FlagTypeVisualIcon: IMAGE.PngImage\r
+ @L0.loadBytes "images/flagtypevisual.png"\r
+IMAGES.SVGImageIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/image.png"\r
+IMAGES.BorderIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/border_outer.png"\r
+IMAGES.ColumnIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/border_outer.png"\r
+IMAGES.MoveUpIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/arrow_up.png"\r
+IMAGES.MoveDownIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/arrow_down.png"\r
+IMAGES.PageIcon : IMAGE.PngImage\r
+ @L0.loadBytes "images/page_white_horizontal.png"\r
+IMAGES.FilterIcon: IMAGE.PngImage\r
+ @L0.loadBytes "images/basket_put.png"\r