Пример #1
0
        /// <summary>
        /// When overridden in the derived class, handles setting up event listeners for a <see cref="IToolTargetContainer"/>.
        /// This will be invoked once for every <see cref="Tool"/> instance for every <see cref="IToolTargetContainer"/> available.
        /// When the <see cref="Tool"/> is newly added to the <see cref="ToolManager"/>, all existing <see cref="IToolTargetContainer"/>s
        /// will be sent through this method. As new ones are added while this <see cref="Tool"/> exists, those new
        /// <see cref="IToolTargetContainer"/>s will also be passed through. What events to listen to and on what instances is
        /// purely up to the derived <see cref="Tool"/>.
        /// Make sure that all attached event listeners are also removed in the <see cref="Tool.ToolTargetContainerRemoved"/> method.
        /// </summary>
        /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
        protected override void ToolTargetContainerAdded(IToolTargetContainer c)
        {
            base.ToolTargetContainerAdded(c);

            var mapContainer = c.AsMapContainer();

            if (mapContainer == null)
            {
                return;
            }

            mapContainer.MouseDown -= mapContainer_MouseDownCallback;
            mapContainer.MouseDown += mapContainer_MouseDownCallback;

            mapContainer.MouseUp -= mapContainer_MouseUpCallback;
            mapContainer.MouseUp += mapContainer_MouseUpCallback;

            mapContainer.MouseMove -= mapContainer_MouseMoveCallback;
            mapContainer.MouseMove += mapContainer_MouseMoveCallback;

            mapContainer.MouseWheel -= mapContainer_MouseWheelCallback;
            mapContainer.MouseWheel += mapContainer_MouseWheelCallback;

            mapContainer.KeyDown -= mapContainer_KeyDownCallback;
            mapContainer.KeyDown += mapContainer_KeyDownCallback;

            mapContainer.KeyUp -= mapContainer_KeyUpCallback;
            mapContainer.KeyUp += mapContainer_KeyUpCallback;

            mapContainer.KeyPress -= mapContainer_KeyPress;
            mapContainer.KeyPress += mapContainer_KeyPress;
        }
Пример #2
0
        /// <summary>
        /// When overridden in the derived class, handles tearing down event listeners for a <see cref="IToolTargetContainer"/>.
        /// Any event listeners set up in <see cref="Tool.ToolTargetContainerAdded"/> should be torn down here.
        /// </summary>
        /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
        protected override void ToolTargetContainerRemoved(IToolTargetContainer c)
        {
            base.ToolTargetContainerRemoved(c);

            var mapC = c.AsMapContainer();

            if (mapC != null)
            {
                _mapContainers.Remove(mapC);
            }
        }
 /// <summary>
 /// Gets the <see cref="IToolTargetContainer"/> as a <see cref="IToolTargetMapContainer"/>.
 /// </summary>
 /// <param name="c">The <see cref="IToolTargetContainer"/> to try to cast to the
 /// desired derived tool container type.</param>
 /// <returns>The <paramref name="c"/> as <see cref="IToolTargetMapContainer"/>, or null
 /// if <paramref name="c"/> is not of the expected type.</returns>
 public static IToolTargetMapContainer AsMapContainer(this IToolTargetContainer c)
 {
     return(c as IToolTargetMapContainer);
 }
Пример #4
0
 /// <summary>
 /// When overridden in the derived class, handles tearing down event listeners for a <see cref="IToolTargetContainer"/>.
 /// Any event listeners set up in <see cref="Tool.ToolTargetContainerAdded"/> should be torn down here.
 /// </summary>
 /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
 protected virtual void ToolTargetContainerRemoved(IToolTargetContainer c)
 {
 }
Пример #5
0
 /// <summary>
 /// Invokes the <see cref="Tool.ToolTargetContainerRemoved"/> method.
 /// </summary>
 /// <param name="c">The <see cref="IToolTargetContainer"/> to pass.</param>
 internal void InvokeToolTargetContainerRemoved(IToolTargetContainer c)
 {
     ToolTargetContainerRemoved(c);
 }
Пример #6
0
 /// <summary>
 /// When overridden in the derived class, handles setting up event listeners for a <see cref="IToolTargetContainer"/>.
 /// This will be invoked once for every <see cref="Tool"/> instance for every <see cref="IToolTargetContainer"/> available.
 /// When the <see cref="Tool"/> is newly added to the <see cref="ToolManager"/>, all existing <see cref="IToolTargetContainer"/>s
 /// will be sent through this method. As new ones are added while this <see cref="Tool"/> exists, those new
 /// <see cref="IToolTargetContainer"/>s will also be passed through. What events to listen to and on what instances is
 /// purely up to the derived <see cref="Tool"/>.
 /// Make sure that all attached event listeners are also removed in the <see cref="Tool.ToolTargetContainerRemoved"/> method.
 /// </summary>
 /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
 protected virtual void ToolTargetContainerAdded(IToolTargetContainer c)
 {
 }
Пример #7
0
        /// <summary>
        /// When overridden in the derived class, handles tearing down event listeners for a <see cref="IToolTargetContainer"/>.
        /// Any event listeners set up in <see cref="Tool.ToolTargetContainerAdded"/> should be torn down here.
        /// </summary>
        /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
        protected override void ToolTargetContainerRemoved(IToolTargetContainer c)
        {
            base.ToolTargetContainerRemoved(c);

            var mapContainer = c.AsMapContainer();
            if (mapContainer == null)
                return;

            mapContainer.MouseDown -= mapContainer_MouseDownCallback;
            mapContainer.MouseUp -= mapContainer_MouseUpCallback;
            mapContainer.MouseMove -= mapContainer_MouseMoveCallback;
            mapContainer.MouseWheel -= mapContainer_MouseWheelCallback;
            mapContainer.KeyDown -= mapContainer_KeyDownCallback;
            mapContainer.KeyUp -= mapContainer_KeyUpCallback;
            mapContainer.KeyPress -= mapContainer_KeyPress;
        }
Пример #8
0
 /// <summary>
 /// When overridden in the derived class, handles tearing down event listeners for a <see cref="IToolTargetContainer"/>.
 /// Any event listeners set up in <see cref="Tool.ToolTargetContainerAdded"/> should be torn down here.
 /// </summary>
 /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
 protected virtual void ToolTargetContainerRemoved(IToolTargetContainer c)
 {
 }
Пример #9
0
 /// <summary>
 /// When overridden in the derived class, handles setting up event listeners for a <see cref="IToolTargetContainer"/>.
 /// This will be invoked once for every <see cref="Tool"/> instance for every <see cref="IToolTargetContainer"/> available.
 /// When the <see cref="Tool"/> is newly added to the <see cref="ToolManager"/>, all existing <see cref="IToolTargetContainer"/>s
 /// will be sent through this method. As new ones are added while this <see cref="Tool"/> exists, those new
 /// <see cref="IToolTargetContainer"/>s will also be passed through. What events to listen to and on what instances is
 /// purely up to the derived <see cref="Tool"/>.
 /// Make sure that all attached event listeners are also removed in the <see cref="Tool.ToolTargetContainerRemoved"/> method.
 /// </summary>
 /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
 protected virtual void ToolTargetContainerAdded(IToolTargetContainer c)
 {
 }
Пример #10
0
 /// <summary>
 /// Invokes the <see cref="Tool.ToolTargetContainerRemoved"/> method.
 /// </summary>
 /// <param name="c">The <see cref="IToolTargetContainer"/> to pass.</param>
 internal void InvokeToolTargetContainerRemoved(IToolTargetContainer c)
 {
     ToolTargetContainerRemoved(c);
 }
Пример #11
0
        /// <summary>
        /// When overridden in the derived class, handles tearing down event listeners for a <see cref="IToolTargetContainer"/>.
        /// Any event listeners set up in <see cref="Tool.ToolTargetContainerAdded"/> should be torn down here.
        /// </summary>
        /// <param name="c">The <see cref="IToolTargetContainer"/> to optionally listen to events on.</param>
        protected override void ToolTargetContainerRemoved(IToolTargetContainer c)
        {
            base.ToolTargetContainerRemoved(c);

            var mapC = c.AsMapContainer();
            if (mapC != null)
                _mapContainers.Remove(mapC);
        }