Example #1
0
        public TrayForm(IBootloader loader, FormWindowState state)
        {
            if (loader == null)
            {
                throw new ArgumentNullException("Bootloader cannot be null.");
            }
            this.loader = loader;
            svc         = new Mokona(loader);

            fic = listener(typeof(InterruptedClickFilter));
            fmc = listener(typeof(MixedClicksFilter));
            fdc = listener(typeof(DoubleClicksFilter));
            fhs = listener(typeof(HyperactiveScrollFilter));

            InitializeComponent();

            origin = ClientSize;
            try {
                notifyIconMain.Icon             = Icon
                                                = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
            }
            catch (ArgumentException ex) {
                notifyIconMain.Icon = Icon;
                LSender.Send(this, ex.Message, Log.Message.Level.Debug);
            }

            hotKeys.KeyPress += onHotKeys;
            log.Received     += onLogMsgReceived;

            fic.Triggering += (object sender, DataArgs <ulong> e) => {
                uiAction(() => labelInterruptedClick.Text = e.Data.ToString());
            };

            fmc.Triggering += (object sender, DataArgs <ulong> e) => {
                uiAction(() => labelMixedClicks.Text = e.Data.ToString());
            };

            fdc.Triggering += (object sender, DataArgs <ulong> e) => {
                uiAction(() => labelDoubleClick.Text = e.Data.ToString());
            };

            fhs.Triggering += (object sender, DataArgs <ulong> e) => {
                uiAction(() => labelHyperactiveScroll.Text = e.Data.ToString());
            };

            WindowState = state;
            Resize     += (object _sender, EventArgs _e) => {
                visible(WindowState);
            };

            Modifiers mcomb = Modifiers.ControlKey | Modifiers.AltKey | Modifiers.ShiftKey;

            try {
                hotKeys.register(mcomb, Keys.Z);
                hotKeys.register(mcomb, Keys.X);
            }
            catch (Exception ex) {
                log.send(this, ex.Message, Log.Message.Level.Error);
            }
        }
Example #2
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);
            }
        }
Example #3
0
        public ConfigurationViewModel(IMouseListener mouseListener, IKeyboardListener keyboardListener)
        {
            this.ScreenElements = MacroData.Current.ScreenElements;
            this._mouseListener = mouseListener;
            this._keyboardListener = keyboardListener;

            _mouseListener.MouseMove += OnMouseMove;
            _keyboardListener.KeyUp += OnKeyUp;

            this.SelectedScreenElement = this.ScreenElements.FirstOrDefault();

            this.HelpInfo = new StringBuilder()
                .AppendLine("Keyboard Shortcuts")
                .AppendLine("F1: \tSelect previous screen element")
                .AppendLine("F2: \tAssign current mouse position to selected screen element")
                .AppendLine("F3: \tSelect next screen element")
                .AppendLine()
                .AppendLine("Screen Elements")
                .AppendLine("Jet Bay 1 - 8: \t\tpositions to select each jet bay")
                .AppendLine("Hero Slot 1 - 5: \t\tpositions to select heroes in the Deploy screen")
                .AppendLine("Prev/Next Hero Page: \tthe left/right arrows on the Deploy screen")
                .AppendLine("Confirm Button: \t\tthe big Confirm button on the Deploy screen")
                .AppendLine("Collect All: \t\tthe Collect All button to collect when deploys are over.\r\nNote: this is assumed to become visible by clicking Jet Bay 1")
                .ToString();
        }
Example #4
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);
        }
Example #5
0
        public void MouseDown(MouseEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException("The argument object is 'null'");
            }
            if (e.Button == MouseButtons.Left && Enabled && !IsSuspended)
            {
                //if(e.Clicks == 1)
                {
                    TextEditor.Hide();
                    Selection.CollectEntitiesAt(e.Location);
                    if (Selection.SelectedItems.Count > 0)
                    {
                        IMouseListener listener = Selection.SelectedItems[0].GetService(typeof(IMouseListener)) as IMouseListener;
                        if (listener != null)
                        {
                            listener.MouseDown(e);
                        }
                    }
                }
                if (e.Clicks == 2)
                {
                    if (Selection.SelectedItems.Count > 0 && Selection.SelectedItems[0] is TextOnly)
//                    if (Selection.SelectedItems.Count > 0 )
                    {
                        TextEditor.GetEditor(Selection.SelectedItems[0] as IShape);
                        TextEditor.Show();
                    }
                }
            }
        }
Example #6
0
 private void setFlags(bool state, IMouseListener filter, MouseState.Flags val)
 {
     if (state)
     {
         filter.Handler |= val;
     }
     else
     {
         filter.Handler &= ~val;
     }
 }
Example #7
0
        public void configureTest1()
        {
            IBootloader loader = new Bootloader();

            loader.register();

            IMouseListener fic = loader.Filters[typeof(InterruptedClickFilter).GUID];
            IMouseListener fmc = loader.Filters[typeof(MixedClicksFilter).GUID];
            IMouseListener fdc = loader.Filters[typeof(DoubleClicksFilter).GUID];
            IMouseListener fhs = loader.Filters[typeof(HyperactiveScrollFilter).GUID];

            Assert.AreEqual(false, fic.Activated);
            Assert.AreEqual(false, fmc.Activated);
            Assert.AreEqual(false, fdc.Activated);
            Assert.AreEqual(false, fhs.Activated);

            string[] args = "-InterruptedClick LMR 4.1;5;6 -MixedClicks R 1 -DoubleClicks LR 8 -HyperactiveScroll 9;2".Split(' ');
            loader.configure(args);

            Assert.AreEqual(true, fic.Activated);
            Assert.AreEqual(true, fmc.Activated);
            Assert.AreEqual(true, fdc.Activated);
            Assert.AreEqual(true, fhs.Activated);


            Assert.AreEqual(MouseState.Flags.LMR, fic.Handler);
            Assert.AreEqual(4.1d, fic.Value);
            Assert.AreEqual((uint)5, ((InterruptedClickFilter.TData)fic.Data).deltaMin);
            Assert.AreEqual((uint)6, ((InterruptedClickFilter.TData)fic.Data).deltaMax);

            Assert.AreEqual(MouseState.Flags.Right, fmc.Handler);
            Assert.AreEqual(true, ((MixedClicksFilter.TData)fmc.Data).onlyDownCodes);

            Assert.AreEqual(MouseState.Flags.Left | MouseState.Flags.Right, fdc.Handler);
            Assert.AreEqual(8, fdc.Value);

            Assert.AreEqual(9, ((HyperactiveScrollFilter.TData)fhs.Data).capacity);
            Assert.AreEqual((uint)2, ((HyperactiveScrollFilter.TData)fhs.Data).limit);
        }
Example #8
0
 private void reset(IMouseListener h, Label label)
 {
     h.resetTriggerCount();
     label.Text = "0";
 }
Example #9
0
    void Update()
    {
        GameObject     clickedGmObj  = null;
        IMouseListener mouseListener = null;

        // Left click
        if (handleLeftClick && (Input.GetMouseButtonDown(0) || Input.GetMouseButtonUp(0)))
        {
            clickedGmObj = GetClickedGameObject();
            if (clickedGmObj != null)
            {
                mouseListener = clickedGmObj.GetComponent <IMouseListener>();
                if (mouseListener != null)
                {
                    if (Input.GetMouseButtonDown(0))
                    {
                        lastMouseListener = mouseListener;
                        mouseListener.OnMouseButtonDown(0);
                    }
                    else
                    {
                        mouseListener.OnMouseButtonUp(0);
                    }
                }
            }

            if (lastMouseListener != null && Input.GetMouseButtonUp(0))
            {
                lastMouseListener.OnMouseButtonUpAnywhere(0);
                lastMouseListener = null;
            }
        }
        // Right click
        if (handleRightClick && (Input.GetMouseButtonDown(1) || Input.GetMouseButtonUp(1)))
        {
            clickedGmObj = GetClickedGameObject();
            if (clickedGmObj != null)
            {
                mouseListener = clickedGmObj.GetComponent <IMouseListener>();
                if (mouseListener != null)
                {
                    if (Input.GetMouseButtonDown(1))
                    {
                        mouseListener.OnMouseButtonDown(1);
                    }
                    else
                    {
                        mouseListener.OnMouseButtonUp(1);
                    }
                }
            }
        }
        // Middle click
        if (handleMiddleClick && (Input.GetMouseButtonDown(2) || Input.GetMouseButtonUp(2)))
        {
            clickedGmObj = GetClickedGameObject();
            if (clickedGmObj != null)
            {
                mouseListener = clickedGmObj.GetComponent <IMouseListener>();
                if (mouseListener != null)
                {
                    if (Input.GetMouseButtonDown(2))
                    {
                        mouseListener.OnMouseButtonDown(2);
                    }
                    else
                    {
                        mouseListener.OnMouseButtonUp(2);
                    }
                }
            }
        }
    }
 public void AddWorkspaceMouseUpListener(IMouseListener listener)
 {
     pboxWorkspaceRegion.MouseUp += listener.ActionPerformed;
 }
Example #11
0
 public static void RemoveMouseListener([NotNull] IMouseListener listener) => MouseListeners.Remove(listener);
Example #12
0
 public static void AddMouseListener([NotNull] IMouseListener listener) => MouseListeners.Add(listener);
Example #13
0
        // ------------------------------------------------------------------
        /// <summary>
        /// Handles the mouse down event
        /// </summary>
        /// <param name="e">The
        /// <see cref="T:System.Windows.Forms.MouseEventArgs"/> instance
        /// containing the event data.</param>
        // ------------------------------------------------------------------
        public virtual bool MouseDown(MouseEventArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException("The argument object is 'null'");
            }

            //if(e.Button == MouseButtons.Left  && Enabled && !IsSuspended)
            if (Enabled && !IsSuspended)
            {
                // Only if one of the multi-select keys are pressed do we NOT
                // clear the selection before adding to it the selected entity.
                bool clearSelectionFirst = true;
                if (this.isMultiSelectKeyPressed == true)
                {
                    clearSelectionFirst = false;
                }

                // Also don't clear the selection if a group is currently
                // selected so we can drill-down into it.
                if (this.Controller.Model.Selection.SelectedItems.Count > 0)
                {
                    foreach (IDiagramEntity entity in this.Controller.Model.Selection.SelectedItems)
                    {
                        if ((entity is IGroup) &&
                            (entity.Hit(e.Location) == true))
                        {
                            clearSelectionFirst = false;
                        }
                    }
                }
                this.Controller.Model.Selection.CollectEntitiesAt(e.Location, clearSelectionFirst);

                if (this.Controller.Model.Selection.SelectedItems.Count > 0)
                {
                    IMouseListener listener =
                        this.Controller.Model.Selection.SelectedItems[0].GetService(
                            typeof(IMouseListener)) as IMouseListener;

                    if (listener != null)
                    {
                        if (listener.MouseDown(e))
                        {
                            return(true);
                        }
                    }
                }

                if ((this.Controller.Model.Selection.SelectedItems.Count > 0) &&
                    (this.Controller.Model.Selection.SelectedItems[0] is ITextProvider))
                {
                    //ActivateTool();
                    ITextProvider textProvider =
                        this.Controller.Model.Selection.SelectedItems[0] as ITextProvider;

                    if ((e.Clicks == textProvider.EditTextClicks) &&
                        (textProvider.AllowTextEditing))
                    {
                        return(Controller.ActivateTextEditor(textProvider));
                    }
                }
            }
            return(false);
        }
 public MouseContext(IMouseListener mouseListener, in Position relativePosition)
 public void RegisterMouseListener(IMouseListener mouseListener)
 {
     _mouseListeners.Add(mouseListener);
 }
 public void UnregisterMouseListener(IMouseListener mouseListener)
 {
     _mouseListeners.Remove(mouseListener);
 }
Example #17
0
 /// <summary>
 /// Subscribe a mouse listener
 /// </summary>
 /// <param name="pListener"></param>
 public void SubscribeListener(IMouseListener pListener)
 {
     inputManager.AddListener(pListener.OnNewMouseInput);
 }