Ejemplo n.º 1
0
        /// <summary>
        /// Adds the given tool.
        /// </summary>
        /// <param name="tool">The tool.</param>
        public void AddTool(ITool tool)
        {
            tool.Controller = this;
            //add the tool to the collection even if it doesn't attach to anything (yet)
            registeredTools.Add(tool);

            IMouseListener mouseTool = null;

            if ((mouseTool = tool as IMouseListener) != null)
            {
                mouseListeners.Add(mouseTool);
            }

            IKeyboardListener keyboardTool = null;

            if ((keyboardTool = tool as IKeyboardListener) != null)
            {
                keyboardListeners.Add(keyboardTool);
            }

            IDragDropListener dragdropTool = null;

            if ((dragdropTool = tool as IDragDropListener) != null)
            {
                dragdropListeners.Add(dragdropTool);
            }
        }
Ejemplo n.º 2
0
        public void RemoveTool(ITool tool)
        {
            if (tool == null)
            {
                return;
            }
            tool.Controller = null;
            registeredTools.Remove(tool);

            IMouseListener mouseTool = tool as IMouseListener;

            if (mouseTool != null)
            {
                mouseListeners.Remove(mouseTool);
            }
            IKeyboardListener keyboardTool = tool as IKeyboardListener;

            if (keyboardTool != null)
            {
                keyboardListeners.Remove(keyboardTool);
            }
            IDragDropListener dragdropTool = tool as IDragDropListener;

            if (dragdropTool != null)
            {
                dragdropListeners.Remove(dragdropTool);
            }

            tool.OnToolActivate   -= new EventHandler <ToolEventArgs>(AddedTool_OnToolActivate);
            tool.OnToolDeactivate -= new EventHandler <ToolEventArgs>(AddedTool_OnToolDeactivate);
        }