예제 #1
0
        public void NotifyParent()
        {
            GMacroEditorForm parent = base.m_Parent.Parent as GMacroEditorForm;

            if (parent != null)
            {
                parent.UpdateKeyboard();
            }
        }
예제 #2
0
        private void Delete_OnClick(Gump g)
        {
            Macros.List.Remove(this.m_Macro);
            GMacroEditorForm parent = base.m_Parent.Parent as GMacroEditorForm;

            if (parent != null)
            {
                parent.Current = null;
                parent.UpdateKeyboard();
            }
        }
예제 #3
0
        private void Clicked(Gump g)
        {
            GMacroEditorForm parent = base.m_Parent.Parent as GMacroEditorForm;

            if (parent != null)
            {
                if (this.m_Macro == null)
                {
                    Keys           none = Keys.None;
                    MacroModifiers all  = MacroModifiers.All;
                    if (parent.Keyboard != null)
                    {
                        all = parent.Keyboard.Mods;
                    }
                    if (all == MacroModifiers.All)
                    {
                        none = Control.ModifierKeys;
                    }
                    else
                    {
                        if ((all & MacroModifiers.Alt) != MacroModifiers.None)
                        {
                            none |= Keys.Alt;
                        }
                        if ((all & MacroModifiers.Shift) != MacroModifiers.None)
                        {
                            none |= Keys.Shift;
                        }
                        if ((all & MacroModifiers.Ctrl) != MacroModifiers.None)
                        {
                            none |= Keys.Control;
                        }
                    }
                    Client.Macro macro = new Client.Macro(this.m_Key, none, new Action[0]);
                    Macros.List.Add(macro);
                    parent.Current = macro;
                    parent.UpdateKeyboard();
                }
                else if (this.m_Macro is Client.Macro)
                {
                    parent.Current = (Client.Macro) this.m_Macro;
                }
                else if (this.m_Macro is Client.Macro[])
                {
                    Client.Macro[] array = (Client.Macro[]) this.m_Macro;
                    int            index = Array.IndexOf(array, parent.Current);
                    parent.Current = array[(index + 1) % array.Length];
                }
            }
        }