Example #1
0
        /// <summary>
        /// Clears all values and raises events.
        /// </summary>
        public new void Clear()
        {
            DictionaryBeforeClearEventArgs e = new DictionaryBeforeClearEventArgs();

            // Raise before events:
            bool bubble = true;

            if (BeforeClear != null)
            {
                foreach (DictionaryBeforeClearDelegate function in BeforeClear.GetInvocationList())
                {
                    e.Bubble = true;
                    function.Invoke(this, e);
                    bubble = bubble && e.Bubble;
                }
            }
            if (!bubble)
            {
                return;
            }

            // Clear items item:
            base.Clear();
            m_col.Clear();

            // Raise after events:
            if (AfterClear != null)
            {
                AfterClear.Invoke(this, new EventArgs());
            }
        }
Example #2
0
        protected sealed override void OnClear()
        {
            BeforeClear?.Invoke(null, EventArgs.Empty);

            itemsToClear = ToArray();
            base.OnClear();
        }
Example #3
0
        private void ViewChannels_BeforeClear(object sender, EventArgs e)
        {
            foreach (ViewChannel item in m_ViewChannels)
            {
                item.ColorChanged   -= ViewChannel_ColorChanged;
                item.NameChanged    -= ViewChannel_ValueChanged;
                item.VisibleChanged -= ViewChannel_ValueChanged;
            }

            BeforeClear?.Invoke(this, e);
        }