private void SetSelectedLayers(Layer layer) { selectedLayers.Clear(); selectedLayers.Add(layer); OnSelectedLayersChanged(this, LayerHelper.GetLayersEventArgs(selectedLayers)); }
/// <ToBeCompleted></ToBeCompleted> public LayerMouseEventArgs(Layer layer, LayerItem item, MouseEventType eventType, MouseButtonsDg buttons, int clickCount, int wheelDelta, Point position, KeysDg modifiers) : base(eventType, buttons, clickCount, wheelDelta, position, modifiers) { this.layer = layer; this.item = item; }
/// <ToBeCompleted></ToBeCompleted> protected internal LayerMouseEventArgs() : base() { layer = null; item = LayerItem.None; }
public LayerListViewMouseEventArgs(Layer layer, LayerItem item, MouseEventType eventType, MouseButtonsDg buttons, int clickCount, int wheelDelta, Point position, KeysDg modifiers) : base(layer, item, eventType, buttons, clickCount, wheelDelta, position, modifiers) { }
protected internal void SetMouseEvent(Layer layer, LayerItem item, MouseEventType eventType, MouseEventArgsDg eventArgs) { this.SetMouseEvent(eventType, eventArgs.Buttons, eventArgs.Clicks, eventArgs.WheelDelta, eventArgs.Position, eventArgs.Modifiers); this.Item = item; this.Layer = layer; }
/// <override></override> public void BeginEditLayerName(Layer layer) { if (LabelEdit) { enableRenameLayer = true; if (layer == null) throw new ArgumentNullException("layer"); ListViewItem item = FindItem(layer); if (item != null && LabelEdit) item.BeginEdit(); } }
private ListViewItem FindItem(Layer layer) { ListViewItem result = null; for (int i = 0; i < Items.Count; ++i) { if (layer == ((LayerInfo)Items[i].Tag).layer) { result = Items[i]; break; } } return result; }
/// <ToBeCompleted></ToBeCompleted> public void RenameLayer(Diagram diagram, Layer layer, string oldName, string newName) { if (diagram == null) throw new ArgumentNullException("diagram"); if (layer == null) throw new ArgumentNullException("layer"); if (oldName == null) throw new ArgumentNullException("oldName"); if (newName == null) throw new ArgumentNullException("newName"); AssertDiagramSetControllerIsSet(); ICommand cmd = new EditLayerCommand(diagram, layer, EditLayerCommand.ChangedProperty.Name, oldName, newName); Project.ExecuteCommand(cmd); if (LayerModified != null) LayerModified(this, LayerHelper.GetLayersEventArgs(LayerHelper.GetLayers(layer.Id, diagram))); }
/// <ToBeCompleted></ToBeCompleted> public void SetLayerZoomBounds(Diagram diagram, Layer layer, int lowerZoomBounds, int upperZoomBounds) { if (diagram == null) throw new ArgumentNullException("diagram"); if (layer == null) throw new ArgumentNullException("layer"); AssertDiagramSetControllerIsSet(); ICommand cmdMinZoom = null; ICommand cmdMaxZoom = null; if (layer.LowerZoomThreshold != lowerZoomBounds) cmdMinZoom = new EditLayerCommand(diagram, layer, EditLayerCommand.ChangedProperty.LowerZoomThreshold, layer.LowerZoomThreshold, lowerZoomBounds); if (layer.UpperZoomThreshold != upperZoomBounds) cmdMaxZoom = new EditLayerCommand(diagram, layer, EditLayerCommand.ChangedProperty.UpperZoomThreshold, layer.UpperZoomThreshold, upperZoomBounds); ICommand cmd; if (cmdMinZoom != null && cmdMaxZoom != null) { cmd = new AggregatedCommand(); ((AggregatedCommand) cmd).Add(cmdMinZoom); ((AggregatedCommand) cmd).Add(cmdMaxZoom); } else if (cmdMinZoom != null && cmdMaxZoom == null) cmd = cmdMinZoom; else if (cmdMaxZoom != null && cmdMinZoom == null) cmd = cmdMaxZoom; else cmd = null; if (cmd != null) { Project.ExecuteCommand(cmd); if (LayerModified != null) LayerModified(this, LayerHelper.GetLayersEventArgs(LayerHelper.GetLayers(layer.Id, diagram))); } }
void IEntity.LoadInnerObjects(string propertyName, IRepositoryReader reader, int version) { Debug.Assert(propertyName == "Layers"); Debug.Assert(layers.Count == 0); reader.BeginReadInnerObjects(); while (reader.BeginReadInnerObject()) { int id = reader.ReadInt32(); string name = reader.ReadString(); Layer l = new Layer(name); l.Id = (LayerIds)id; l.Title = reader.ReadString(); l.LowerZoomThreshold = reader.ReadInt32(); l.UpperZoomThreshold = reader.ReadInt32(); reader.EndReadInnerObject(); layers.Add(l); } reader.EndReadInnerObjects(); }
public SetupPatchingGraphical() { InitializeComponent(); project.LibrarySearchPaths.Add(@"Common\"); project.AutoLoadLibraries = true; project.AddLibraryByName("VixenApplication", false); project.Name = "filterProject"; project.Create(); _visibleLayer = new Layer("Visible"); _hiddenLayer = new Layer("Hidden"); _elementNodeToElementShapes = new Dictionary<ElementNode, List<ElementNodeShape>>(); _controllerToControllerShape = new Dictionary<IOutputDevice, ControllerShape>(); _filterToFilterShape = new Dictionary<IOutputFilterModuleInstance, FilterShape>(); _dataFlowComponentToShapes = new Dictionary<IDataFlowComponent, List<FilterSetupShapeBase>>(); _dataFlowComponentToChildFilterShapes = new Dictionary<IDataFlowComponent, List<FilterSetupShapeBase>>(); _elementDataFlowComponentsToMaxFilterDepth = new Dictionary<IDataFlowComponent, int>(); _filterDataFlowComponentsToSourceElementDataFlowComponents = new Dictionary<IDataFlowComponent, IDataFlowComponent>(); _elementShapes = new List<ElementNodeShape>(); _controllerShapes = new List<ControllerShape>(); _filterShapes = new List<FilterShape>(); _outputShapes = new List<OutputShape>(); }
public static void CreateDiagram(Project project, string diagramName, int shapeSize, int shapesPerRow, int shapesPerColumn, bool connectShapes, bool withModels, bool withMappings, bool withLayers) { shapeSize = Math.Max(10, shapeSize); int lineLength = shapeSize / 2; // // Create ModelMappings NumericModelMapping numericModelMapping = null; FormatModelMapping formatModelMapping = null; StyleModelMapping styleModelMapping = null; if (withMappings) { // Create numeric- and format model mappings numericModelMapping = new NumericModelMapping(2, 4, NumericModelMapping.MappingType.FloatInteger, 10, 0); formatModelMapping = new FormatModelMapping(4, 2, FormatModelMapping.MappingType.StringString, "{0}"); // Create style model mapping float range = (shapesPerRow * shapesPerColumn) / 15f; styleModelMapping = new StyleModelMapping(1, 4, StyleModelMapping.MappingType.FloatStyle); for (int i = 0; i < 15; ++i) { IStyle style = null; switch (i) { case 0: style = project.Design.LineStyles.None; break; case 1: style = project.Design.LineStyles.Dotted; break; case 2: style = project.Design.LineStyles.Dashed; break; case 3: style = project.Design.LineStyles.Special1; break; case 4: style = project.Design.LineStyles.Special2; break; case 5: style = project.Design.LineStyles.Normal; break; case 6: style = project.Design.LineStyles.Blue; break; case 7: style = project.Design.LineStyles.Green; break; case 8: style = project.Design.LineStyles.Yellow; break; case 9: style = project.Design.LineStyles.Red; break; case 10: style = project.Design.LineStyles.HighlightDotted; break; case 11: style = project.Design.LineStyles.HighlightDashed; break; case 12: style = project.Design.LineStyles.Highlight; break; case 13: style = project.Design.LineStyles.HighlightThick; break; case 14: style = project.Design.LineStyles.Thick; break; default: style = null; break; } if (style != null) styleModelMapping.AddValueRange(i * range, style); } } // // Create model obejct for the planar shape's template IModelObject planarModel = null; if (withModels) planarModel = project.ModelObjectTypes["Core.GenericModelObject"].CreateInstance(); // // Create a shape for the planar shape's template Shape planarShape = project.ShapeTypes["RoundedBox"].CreateInstance(); planarShape.Fit(0, 0, shapeSize, shapeSize); // // Create a template for the planar shapes Template planarTemplate = new Template("PlanarShape Template", planarShape); if (withModels) { planarTemplate.Shape.ModelObject = planarModel; if (withMappings) { foreach (ControlPointId id in planarTemplate.Shape.GetControlPointIds(ControlPointCapabilities.Connect)) planarTemplate.MapTerminal(TerminalId.Generic, id); planarTemplate.MapProperties(numericModelMapping); planarTemplate.MapProperties(formatModelMapping); planarTemplate.MapProperties(styleModelMapping); } } // // Create a template for the linear shapes Template linearTemplate = null; if (connectShapes) linearTemplate = new Template("LinearShape Template", project.ShapeTypes["Polyline"].CreateInstance()); // // Insert the created templates into the repository project.Repository.InsertAll(planarTemplate); if (connectShapes) project.Repository.InsertAll(linearTemplate); // // Prepare the connection points ControlPointId leftPoint = withModels ? ControlPointId.Reference : 4; ControlPointId rightPoint = withModels ? ControlPointId.Reference : 5; ControlPointId topPoint = withModels ? ControlPointId.Reference : 2; ControlPointId bottomPoint = withModels ? ControlPointId.Reference : 7; // // Create the diagram Diagram diagram = new Diagram(diagramName); // // Create and add layers LayerIds planarLayer = LayerIds.None, linearLayer = LayerIds.None, oddRowLayer = LayerIds.None, evenRowLayer = LayerIds.None, oddColLayer = LayerIds.None, evenColLayer = LayerIds.None; if (withLayers) { const string planarLayerName = "PlanarShapesLayer"; const string linearLayerName = "LinearShapesLayer"; const string oddRowsLayerName = "OddRowsLayer"; const string evenRowsLayerName = "EvenRowsLayer"; const string oddColsLayerName = "OddColsLayer"; const string evenColsLayerName = "EvenColsLayer"; // Create Layers Layer planarShapesLayer = new Layer(planarLayerName); planarShapesLayer.Title = "Planar Shapes"; planarShapesLayer.LowerZoomThreshold = 5; planarShapesLayer.UpperZoomThreshold = 750; diagram.Layers.Add(planarShapesLayer); Layer linearShapesLayer = new Layer(linearLayerName); linearShapesLayer.Title = "Linear Shapes"; linearShapesLayer.LowerZoomThreshold = 10; linearShapesLayer.UpperZoomThreshold = 500; diagram.Layers.Add(linearShapesLayer); Layer oddRowsLayer = new Layer(oddRowsLayerName); oddRowsLayer.Title = "Odd Rows"; oddRowsLayer.LowerZoomThreshold = 2; oddRowsLayer.UpperZoomThreshold = 1000; diagram.Layers.Add(oddRowsLayer); Layer evenRowsLayer = new Layer(evenRowsLayerName); evenRowsLayer.Title = "Even Rows"; evenRowsLayer.LowerZoomThreshold = 2; evenRowsLayer.UpperZoomThreshold = 1000; diagram.Layers.Add(evenRowsLayer); Layer oddColsLayer = new Layer(oddColsLayerName); oddColsLayer.Title = "Odd Columns"; oddColsLayer.LowerZoomThreshold = 2; oddColsLayer.UpperZoomThreshold = 1000; diagram.Layers.Add(oddColsLayer); Layer evenColsLayer = new Layer(evenColsLayerName); evenColsLayer.Title = "Even Columns"; evenColsLayer.LowerZoomThreshold = 2; evenColsLayer.UpperZoomThreshold = 1000; diagram.Layers.Add(evenColsLayer); // Assign LayerIds planarLayer = diagram.Layers.FindLayer(planarLayerName).Id; linearLayer = diagram.Layers.FindLayer(linearLayerName).Id; oddRowLayer = diagram.Layers.FindLayer(oddRowsLayerName).Id; evenRowLayer = diagram.Layers.FindLayer(evenRowsLayerName).Id; oddColLayer = diagram.Layers.FindLayer(oddColsLayerName).Id; evenColLayer = diagram.Layers.FindLayer(evenColsLayerName).Id; } for (int rowIdx = 0; rowIdx < shapesPerColumn; ++rowIdx) { LayerIds rowLayer = ((rowIdx + 1) % 2 == 0) ? evenRowLayer : oddRowLayer; for (int colIdx = 0; colIdx < shapesPerRow; ++colIdx) { LayerIds colLayer = ((colIdx + 1) % 2 == 0) ? evenColLayer : oddColLayer; int shapePosX = shapeSize + colIdx * (lineLength + shapeSize); int shapePosY = shapeSize + rowIdx * (lineLength + shapeSize); planarShape = planarTemplate.CreateShape(); if (planarShape is ICaptionedShape) ((ICaptionedShape)planarShape).SetCaptionText(0, string.Format("{0} / {1}", rowIdx + 1, colIdx + 1)); planarShape.MoveTo(shapePosX, shapePosY); if (withModels) { project.Repository.Insert(planarShape.ModelObject); ((GenericModelObject)planarShape.ModelObject).IntegerValue = rowIdx; } diagram.Shapes.Add(planarShape, project.Repository.ObtainNewTopZOrder(diagram)); if (withLayers) diagram.AddShapeToLayers(planarShape, planarLayer | rowLayer | colLayer); if (connectShapes) { if (rowIdx > 0) { Shape lineShape = linearTemplate.CreateShape(); lineShape.Connect(ControlPointId.FirstVertex, planarShape, topPoint); Debug.Assert(ControlPointId.None != lineShape.IsConnected(ControlPointId.FirstVertex, planarShape)); Shape otherShape = diagram.Shapes.FindShape(shapePosX, shapePosY - (shapeSize + lineLength), ControlPointCapabilities.None, 0, null); Debug.Assert(otherShape != null && otherShape != planarShape); lineShape.Connect(ControlPointId.LastVertex, otherShape, bottomPoint); diagram.Shapes.Add(lineShape, project.Repository.ObtainNewBottomZOrder(diagram)); if (withLayers) diagram.AddShapeToLayers(lineShape, linearLayer); Debug.Assert(ControlPointId.None != lineShape.IsConnected(ControlPointId.LastVertex, otherShape)); } if (colIdx > 0) { Shape lineShape = linearTemplate.CreateShape(); lineShape.Connect(1, planarShape, leftPoint); Debug.Assert(ControlPointId.None != lineShape.IsConnected(ControlPointId.FirstVertex, planarShape)); Shape otherShape = diagram.Shapes.FindShape(shapePosX - (shapeSize + lineLength), shapePosY, ControlPointCapabilities.None, 0, null); Debug.Assert(otherShape != null && otherShape != planarShape); lineShape.Connect(2, otherShape, rightPoint); diagram.Shapes.Add(lineShape, project.Repository.ObtainNewBottomZOrder(diagram)); if (withLayers) diagram.AddShapeToLayers(lineShape, linearLayer); Debug.Assert(ControlPointId.None != lineShape.IsConnected(ControlPointId.LastVertex, otherShape)); } } } } diagram.Width = ((shapeSize + lineLength) * shapesPerRow) + lineLength; diagram.Height = ((shapeSize + lineLength) * shapesPerColumn) + lineLength; project.Repository.InsertAll(diagram); }
public Layer FindLayer(LayerIds layerId) { int id = Layer.ConvertToLayerId(layerId); return(FindLayer(id)); }
public Layer this[LayerIds layerId] { get { return(this[Layer.ConvertToLayerId(layerId)]); } }
public ConfigFiltersAndPatching(VixenApplicationData applicationData) { InitializeComponent(); _applicationData = applicationData; project.LibrarySearchPaths.Add(@"Common\"); project.AutoLoadLibraries = true; project.AddLibraryByName("VixenApplication", false); project.Name = "filterProject"; project.Create(); _visibleLayer = new Layer("Visible"); _hiddenLayer = new Layer("Hidden"); _controllerToControllerShape = new Dictionary<IOutputDevice, ControllerShape>(); _elementNodeToElementShapes = new Dictionary<ElementNode, List<ElementNodeShape>>(); _filterToFilterShape = new Dictionary<IOutputFilterModuleInstance, FilterShape>(); _dataFlowComponentToShapes = new Dictionary<IDataFlowComponent, List<FilterSetupShapeBase>>(); _elementShapes = new List<ElementNodeShape>(); _controllerShapes = new List<ControllerShape>(); _filterShapes = new List<FilterShape>(); _previousDiagramWidth = 0; }
/// <ToBeCompleted></ToBeCompleted> public LayerEventArgs(Layer layer) { this.layer = layer; }
/// <override></override> public void RemoveLayer(Layer layer) { if (layer == null) throw new ArgumentNullException("layer"); ListViewItem item = FindItem(layer); if (item != null) { Items.Remove(item); Invalidate(item.Bounds); } }
/// <ToBeCompleted></ToBeCompleted> protected internal void SetLayers(Layer layer) { this.layers.Clear(); this.layers.Add(layer); }
/// <override></override> public void BeginEditLayerMaxZoomBound(Layer layer) { if (layer == null) throw new ArgumentNullException("layer"); ListViewItem item = FindItem(layer); if (item != null) ShowUpDown(item, idxColumnUpperZoomBound); }
/// <ToBeCompleted></ToBeCompleted> public LayerRenamedEventArgs(Layer layer, string oldName, string newName) : base(layer) { this.oldName = oldName; this.newName = newName; }
public LayerInfo(Layer layer, bool isActive, bool isVisible) { this.layer = layer; this.isActive = isActive; this.isVisible = isVisible; }
/// <ToBeCompleted></ToBeCompleted> public LayerZoomThresholdChangedEventArgs(Layer layer, int oldZoomThreshold, int newZoomThreshold) : base(layer) { this.oldZoomThreshold = oldZoomThreshold; this.newZoomThreshold = newZoomThreshold; }
protected internal void SetMouseEvent(Layer layer, LayerItem item, MouseEventType eventType, MouseEventArgs eventArgs) { this.SetMouseEvent(eventType, (MouseButtonsDg)eventArgs.Button, eventArgs.Clicks, eventArgs.Delta, eventArgs.Location, (KeysDg)Control.ModifierKeys); this.Layer = layer; this.Item = item; }
/// <ToBeCompleted></ToBeCompleted> public static IEnumerable<Layer> Getlayers(Layer layer) { yield return layer; }
public SetupPatchingGraphical() { InitializeComponent(); buttonAddFilter.Image = Tools.GetIcon(Resources.add, 16); buttonAddFilter.Text = ""; buttonDeleteFilter.Image = Tools.GetIcon(Resources.delete, 16); buttonDeleteFilter.Text = ""; buttonZoomIn.Image = Tools.GetIcon(Resources.zoom_in, 16); buttonZoomIn.Text = ""; buttonZoomOut.Image = Tools.GetIcon(Resources.zoom_out, 16); buttonZoomOut.Text = ""; buttonZoomFit.Image = Tools.GetIcon(Resources.zoom_fit, 16); buttonZoomFit.Text = ""; ForeColor = ThemeColorTable.ForeColor; BackColor = ThemeColorTable.BackgroundColor; ThemeUpdateControls.UpdateControls(this); diagramDisplay.BackColorGradient = ThemeColorTable.TextBoxBackgroundColor; diagramDisplay.BackColor = ThemeColorTable.TextBoxBackgroundColor; project.LibrarySearchPaths.Add(@"Common\"); project.AutoLoadLibraries = true; project.AddLibraryByName("VixenApplication", false); project.Name = "filterProject"; project.Create(); _visibleLayer = new Layer("Visible"); _hiddenLayer = new Layer("Hidden"); _elementNodeToElementShapes = new Dictionary<ElementNode, List<ElementNodeShape>>(); _controllerToControllerShape = new Dictionary<IOutputDevice, ControllerShape>(); _filterToFilterShape = new Dictionary<IOutputFilterModuleInstance, FilterShape>(); _dataFlowComponentToShapes = new Dictionary<IDataFlowComponent, List<FilterSetupShapeBase>>(); _dataFlowComponentToChildFilterShapes = new Dictionary<IDataFlowComponent, List<FilterSetupShapeBase>>(); _elementDataFlowComponentsToMaxFilterDepth = new Dictionary<IDataFlowComponent, int>(); _filterDataFlowComponentsToSourceElementDataFlowComponents = new Dictionary<IDataFlowComponent, IDataFlowComponent>(); _elementShapes = new List<ElementNodeShape>(); _controllerShapes = new List<ControllerShape>(); _filterShapes = new List<FilterShape>(); _outputShapes = new List<OutputShape>(); }
/// <ToBeCompleted></ToBeCompleted> public static LayersEventArgs GetLayersEventArgs(Layer layer) { if (layer == null) throw new ArgumentNullException("layer"); layersEventArgs.SetLayers(layer); return layersEventArgs; }
/// <ToBeCompleted></ToBeCompleted> public LayerMouseEventArgs(Layer layer, LayerItem item, MouseEventArgsDg mouseEventArgs) : this(layer, item, mouseEventArgs.EventType, mouseEventArgs.Buttons, mouseEventArgs.Clicks, mouseEventArgs.WheelDelta, mouseEventArgs.Position, mouseEventArgs.Modifiers) { if (layer == null) throw new ArgumentNullException("layer"); this.layer = layer; this.item = item; }
/// <override></override> public void AddLayer(Layer layer, bool isActive, bool isVisible) { if (layer == null) throw new ArgumentNullException("layer"); if (FindItem(layer) != null) return; ListViewItem item = new ListViewItem(layer.Name); ListViewItem.ListViewSubItem subItem = null; for (int i = 0; i < Columns.Count; ++i) { if (i == idxColumnState) subItem = item.SubItems.Add(new ListViewItem.ListViewSubItem(item, layer.Name)); else if (i == idxColumnName) item.SubItems.Add(new ListViewItem.ListViewSubItem(item, layer.Name)); else if (i == idxColumnVisibility) item.SubItems.Add(new ListViewItem.ListViewSubItem(item, layer.Name)); else if (i == idxColumnLowerZoomBound) item.SubItems.Add(new ListViewItem.ListViewSubItem(item, layer.LowerZoomThreshold.ToString())); else if (i == idxColumnUpperZoomBound) item.SubItems.Add(new ListViewItem.ListViewSubItem(item, layer.UpperZoomThreshold.ToString())); } item.Text = layer.Name; item.Tag = new LayerInfo(layer, isActive, isVisible); Items.Add(item); Refresh(); //return Items.IndexOf(item); }
private void GetLayerState(Layer layer, out bool isActive, out bool isVisible) { if (layer == null) throw new ArgumentNullException("layer"); if (diagramPresenter == null) throw new ArgumentNullException("DiagramPresener"); isActive = diagramPresenter.IsLayerActive(layer.Id); isVisible = diagramPresenter.IsLayerVisible(layer.Id); }
/// <override></override> public void RefreshLayer(Layer layer, bool isActive, bool isVisible) { if (layer == null) throw new ArgumentNullException("layer"); oldName = newName = string.Empty; ListViewItem item = FindItem(layer); if (item != null) { item.Text = layer.Name; item.Tag = new LayerInfo(layer, isActive, isVisible); Invalidate(item.Bounds); } }
private void UnselectLayer(Layer layer) { selectedLayers.Remove(layer); OnSelectedLayersChanged(this, LayerHelper.GetLayersEventArgs(selectedLayers)); }
public ConfigFiltersAndPatching(VixenApplicationData applicationData) { InitializeComponent(); Icon = Resources.Icon_Vixen3; buttonAddFilter.Image = Tools.GetIcon(Resources.add, 16); buttonAddFilter.Text = ""; buttonDelete.Image = Tools.GetIcon(Resources.delete, 16); buttonDelete.Text = ""; buttonZoomIn.Image = Tools.GetIcon(Resources.zoom_in, 16); buttonZoomIn.Text = ""; buttonZoomOut.Image = Tools.GetIcon(Resources.zoom_out, 16); buttonZoomOut.Text = ""; _applicationData = applicationData; project.LibrarySearchPaths.Add(@"Common\"); project.AutoLoadLibraries = true; project.AddLibraryByName("VixenApplication", false); project.Name = "filterProject"; project.Create(); _visibleLayer = new Layer("Visible"); _hiddenLayer = new Layer("Hidden"); _controllerToControllerShape = new Dictionary<IOutputDevice, ControllerShape>(); _elementNodeToElementShapes = new Dictionary<ElementNode, List<ElementNodeShape>>(); _filterToFilterShape = new Dictionary<IOutputFilterModuleInstance, FilterShape>(); _dataFlowComponentToShapes = new Dictionary<IDataFlowComponent, List<FilterSetupShapeBase>>(); _elementShapes = new List<ElementNodeShape>(); _controllerShapes = new List<ControllerShape>(); _filterShapes = new List<FilterShape>(); _previousDiagramWidth = 0; }