/// <summary> /// Sets the mode and notify all properties. /// </summary> /// <param name="layerageCollection"> The layerage-collection. </param> public void SetMode(LayerageCollection layerageCollection) { //Layerages IEnumerable <Layerage> selectedLayeragesRecursive = LayerageCollection.GetAllSelectedRecursive(layerageCollection); int count = selectedLayeragesRecursive.Count(); if (count == 0) { this.SetModeNone();//None } else if (count == 1) { Layerage outermost = LayerageCollection.FindOutermostLayerage(selectedLayeragesRecursive); this.SetModeSingle(outermost);//Single } else if (count >= 2) { this.SetModeMultiple(selectedLayeragesRecursive);//Multiple } }
private void _setModeMultiple(IEnumerable <Layerage> layerages) { Layerage outermost = LayerageCollection.FindOutermostLayerage(layerages); ILayer outermostLayer = outermost.Self; this.SelectionMode = ListViewSelectionMode.Multiple;//Transformer this.SelectionLayerage = null; this.SelectionLayerages = layerages; //TransformerBorder TransformerBorder border = new TransformerBorder(layerages); this.Transformer = border.ToTransformer(); ////////////////////////// this.LayerType = outermostLayer == null ? LayerType.None : outermostLayer.Type; this.Opacity = outermostLayer == null ? 1.0f : outermostLayer.Opacity; this.BlendMode = outermostLayer?.BlendMode; this.SetVisibility(outermostLayer == null ? Visibility.Visible : outermostLayer.Visibility); this.SetTagType(outermostLayer == null ? TagType.None : outermostLayer.TagType); ////////////////////////// this.Effect = outermostLayer?.Effect; this.Filter = null; this.SetStyle(outermostLayer?.Style); ////////////////////////// this.SetGroupLayer(layerages); this.SetImageLayer(outermostLayer); this.SetCurveLayer(); this.SetFontLayer(null); ////////////////////////// this.SetPatternLayer(outermostLayer); this.SetGeometryLayer(outermostLayer); }