public virtual void Remove()
 {
     Remove(this[Index]);
     Index = Math.Max(0, Math.Min(Index, this.Count - 1));
     Accessed?.Invoke();
     ChangedState?.Invoke();
 }
Пример #2
0
        private void Iterate(int delta)
        {
            int index = (IndexOf(CurrentColour, true) + delta + m_Colours.Count) % m_Colours.Count;

            CurrentColour = m_Colours[index];
            UserSelectedColour?.Invoke();
            Accessed?.Invoke(this, EventArgs.Empty);
        }
        public override Dictionary <string, string> ToDictionaries()
        {
            var d = base.ToDictionaries();

            d.Add("NonSystemSegmentType", NonSystemSegmentType.ToString());
            d.Add("Accessed", Accessed.ToString());
            return(d);
        }
 public virtual void Next()
 {
     if (this.Count > 0)
     {
         Index = (Index + 1 + Count) % Count;
         Accessed?.Invoke();
         ChangedState?.Invoke();
     }
 }
 public virtual void Back()
 {
     Index = (Index - 1 + Count) % Count;
     if (Index < 0)
     {
         Index = this.Count - 1;
     }
     Accessed?.Invoke();
     ChangedState?.Invoke();
 }
Пример #6
0
        public override string Build()
        {
            var field = Accessed.Build();

            if (!string.IsNullOrEmpty(field))
            {
                field = field + ".";
            }
            return(String.Format("{0}{1}", field, MemberName));
        }
Пример #7
0
 public virtual T Get(int index)
 {
     Accessed?.Invoke();
     if (index >= 0 && index < this.Count)
     {
         return(this[index]);
     }
     else
     {
         return(default(T));
     }
 }
Пример #8
0
        public void CombinedKeyDown(CombinedKeyEvent e)
        {
            if (UseArrowKeys)
            {
                switch (e.KeyCode)
                {
                case Keys.Left:
                    Iterate(-1);
                    Accessed?.Invoke(this, EventArgs.Empty);
                    e.Handled = true;
                    break;

                case Keys.Right:
                    Iterate(1);
                    Accessed?.Invoke(this, EventArgs.Empty);
                    e.Handled = true;
                    break;

                case Keys.Up:
                    Iterate(-m_Columns);
                    Accessed?.Invoke(this, EventArgs.Empty);
                    e.Handled = true;
                    break;

                case Keys.Down:
                    Iterate(m_Columns);
                    Accessed?.Invoke(this, EventArgs.Empty);
                    e.Handled = true;
                    break;
                }
            }
            if (e.KeyData == Keys.Tab)
            {
                if (!Iterate(1, false))
                {
                    GUIUtilities.IterateTabStop(this.Parent, true);
                }
                Accessed?.Invoke(this, EventArgs.Empty);
                e.Handled = true;
            }
            else if (e.KeyData == (Keys.Tab | Keys.Shift))
            {
                if (!Iterate(-1, false))
                {
                    GUIUtilities.IterateTabStop(this.Parent, false);
                }
                Accessed?.Invoke(this, EventArgs.Empty);
                e.Handled = true;
            }
        }
Пример #9
0
        private void Button_Selected(object sender, EventArgs e)
        {
            Accessed?.Invoke(this, EventArgs.Empty);
            RoundButton button = (RoundButton)sender;

            if (RadioMode)
            {
                foreach (RoundButton button2 in Controls)
                {
                    if (button2 != sender)
                    {
                        button2.Selected = false;
                    }
                }
            }
        }
Пример #10
0
        protected override void ShapePressed(Shape shape)
        {
            if (!(shape is ButtonShape))
            {
                return;
            }
            ButtonShape buttonShape = (ButtonShape)shape;

            if (buttonShape.State == ButtonShape.States.Disabled)
            {
                return;
            }
            Accessed?.Invoke(this, EventArgs.Empty);
            switch (buttonShape.Action.Change)
            {
            case Parameters.Action_Key:
            case Parameters.Action_Text:
            case Parameters.Action_Character:
                // any typing button needs to put focus back first
                Globals.Root.PerformAction(Verb.Find(Codes.RestoreFocus));
                break;
            }
            Globals.Root.PerformAction(buttonShape.Action, EditableView.ClickPosition.Sources.Pad);
        }
Пример #11
0
        private void HandleClick(int index)
        {
            Color result;

            switch (index)
            {
            case MOREBUTTON:
                if (Globals.Root.CurrentConfig.ReadBoolean(Config.Windows_Colours))
                {
                    using (ColorDialog dlgcolour = new ColorDialog())
                    {
                        dlgcolour.AnyColor = true;
                        dlgcolour.Color    = CurrentColour;
                        if (dlgcolour.ShowDialog() != DialogResult.OK)
                        {
                            return;
                        }
                        result = dlgcolour.Color;
                    }
                }
                else
                {
                    if (m_Current.IsEmpty)
                    {
                        return;
                    }
                    result = frmMoreColours.Display(m_Current, GetAlternateColours(m_Current), false, this.FindForm());
                }
                if (!result.IsEmpty)
                {
                    CurrentColour = result;
                    UserSelectedColour?.Invoke();
                }
                break;

            case TRANSPARENTBUTTON:
                if (!AllowTransparent)
                {
                    return;
                }
                result = frmMoreColours.Display(m_Current, GetTransparentColours(m_Current), true, FindForm());
                if (!result.IsEmpty)
                {
                    CurrentColour = result;
                    UserSelectedColour?.Invoke();
                }
                break;

            default:
                if (index < 0)
                {
                    return;
                }
                else
                {
                    CurrentColour = m_Colours[index];
                    UserSelectedColour?.Invoke();
                }
                Accessed?.Invoke(this, EventArgs.Empty);
                break;
            }
        }
 public virtual void Set(int index)
 {
     Index = Mathf.Clamp(index, 0, Count - 1);
     Accessed?.Invoke();
     ChangedState?.Invoke();
 }
Пример #13
0
 protected virtual void OnAccessed(Accessor accessor)
 {
     AttachedContainer.AddObserver(accessor.Entity);
     Accessed?.Invoke(this, accessor);
 }
Пример #14
0
 public virtual int Id()
 {
     Accessed?.Invoke();
     return(Index);
 }
Пример #15
0
 public virtual void SetLast()
 {
     Index = Count - 1;
     Accessed?.Invoke();
     ChangedState?.Invoke();
 }