示例#1
0
 /// <summary>
 /// Mezzanine layers.
 /// </summary>
 /// <param name="mezzanineLayerages"> The mezzanine layers. </param>
 public static void MezzanineRange(IEnumerable <Layerage> mezzanineLayerages) => LayerManager.MezzanineCore(null, mezzanineLayerages);
 /// <summary>
 /// Remove all selected layerages.
 /// </summary>
 public static void RemoveAllSelected() => LayerManager.RemoveAllSelectedCore(LayerManager.RootLayerage);
示例#3
0
 /// <summary>
 /// Mezzanine a layerage.
 /// </summary>
 /// <param name="mezzanineLayerage"> The mezzanine layerage. </param>
 public static void Mezzanine(Layerage mezzanineLayerage) => LayerManager.MezzanineCore(mezzanineLayerage, null);
        /// <summary>
        /// Remove a layerage.
        /// </summary>
        /// <param name="removeLayerage"> The remove Layerage. </param>
        public static void Remove(Layerage removeLayerage)
        {
            Layerage parents = LayerManager.GetParentsChildren(removeLayerage);

            parents.Children.Remove(removeLayerage);
        }
示例#5
0
 /// <summary>
 /// Find first layerage by <see cref="ILayer.Id"/>.
 /// </summary>
 /// <param name="layer"> The layer. </param>
 /// <returns> The found layerage. </returns>
 public static Layerage FindFirstLayerage(ILayer layer) => LayerManager.FindFirstLayerageCore(LayerManager.RootLayerage, layer);
        /// <summary>
        /// Drag complete.
        /// </summary>
        /// <param name="destination"> The destination layerage. </param>
        /// <param name="source"> The source layerage. </param>
        /// <param name="destinationOverlayMode"> The destination OverlayMode. </param>
        /// <param name="sourceIsSelected"> The source SelectMode. </param>
        public static void DragComplete(Layerage destination, Layerage source, OverlayMode destinationOverlayMode, bool sourceIsSelected)
        {
            if (source is null)
            {
                return;
            }
            if (destination is null)
            {
                return;
            }
            ILayer destinationLayer = destination.Self;
            ILayer sourceLayer      = source.Self;

            destinationLayer.Control.OverlayMode = OverlayMode.None;
            if (destinationLayer.IsSelected)
            {
                return;
            }
            if (destinationOverlayMode == OverlayMode.None)
            {
                return;
            }

            if (source == destination)
            {
                return;
            }


            if (sourceIsSelected == false)
            {
                switch (destinationOverlayMode)
                {
                case OverlayMode.Top:
                    LayerManager.Insert(destination, source, isBottomInsert: false);
                    break;

                case OverlayMode.Center:
                    LayerManager.Add(destination, source);
                    break;

                case OverlayMode.Bottom:
                    LayerManager.Insert(destination, source, isBottomInsert: true);
                    break;
                }
            }
            else
            {
                // Layerages
                IEnumerable <Layerage> selectedLayerages = LayerManager.GetAllSelected();

                switch (destinationOverlayMode)
                {
                case OverlayMode.Top:
                    LayerManager.InsertRange(destination, selectedLayerages, isBottomInsert: false);
                    break;

                case OverlayMode.Center:
                    LayerManager.AddRange(destination, selectedLayerages);
                    break;

                case OverlayMode.Bottom:
                    LayerManager.InsertRange(destination, selectedLayerages, isBottomInsert: true);
                    break;
                }
            }
        }
 /// <summary>
 /// Insert some layers to the top of destination layerage.
 /// </summary>
 /// <param name="destination"> The destination layerage. </param>
 /// <param name="sources"> The source layers. </param>
 /// <param name="isBottomInsert"> Insert to the top or bottom. </param>
 public static void InsertRange(Layerage destination, IEnumerable <Layerage> sources, bool isBottomInsert) => LayerManager.InsertCore(destination, null, sources, isBottomInsert);
 /// <summary>
 /// Insert a layerage to the top of destination layerage.
 /// </summary>
 /// <param name="destination"> The destination layerage. </param>
 /// <param name="source"> The source layerage. </param>
 /// <param name="isBottomInsert"> Insert to the top or bottom. </param>
 public static void Insert(Layerage destination, Layerage source, bool isBottomInsert) => LayerManager.InsertCore(destination, source, null, isBottomInsert);