Exemplo n.º 1
0
        /// <summary>
        /// Creates new instance of the class.
        /// </summary>
        public VisualControlBase()
        {
            this.SetStyle(ControlStyles.UserPaint, true);
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.Opaque, true);
            this.SetStyle(ControlStyles.ResizeRedraw, true);
            this.SetStyle(SystemOptions.DoubleBufferFlag, true);
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            this.SetStyle(ControlStyles.Selectable, true);

            this.IsAccessible = true;

            _Colors = new InputControlColors();
            _Colors.ColorChanged += new EventHandler(ColorsColorChanged);

            _ButtonCustom = new InputButtonSettings(this);
            _ButtonCustom2 = new InputButtonSettings(this);
            _RootVisual = CreateRootVisual();
            _RootVisual.ArrangeInvalid += new EventHandler(VisualArrangeInvalid);
            _RootVisual.RenderInvalid += new EventHandler(VisualRenderInvalid);

            _BackgroundStyle.Class = ElementStyleClassKeys.DateTimeInputBackgroundKey;
            _BackgroundStyle.SetColorScheme(this.ColorScheme);
            _BackgroundStyle.StyleChanged += new EventHandler(this.VisualPropertyChanged);

            ApplyFieldNavigation();
        }
Exemplo n.º 2
0
 /// <summary>
 /// Copies contained items to the VisualItem array.
 /// </summary>
 /// <param name="array">Array to copy to.</param>
 internal void CopyTo(VisualItem[] array)
 {
     List.CopyTo(array, 0);
 }
Exemplo n.º 3
0
 /// <summary>
 /// Copies collection into the specified array.
 /// </summary>
 /// <param name="array">Array to copy collection to.</param>
 /// <param name="index">Starting index.</param>
 public void CopyTo(VisualItem[] array, int index)
 {
     List.CopyTo(array, index);
 }
Exemplo n.º 4
0
 /// <summary>
 /// Removes specified object from the collection.
 /// </summary>
 /// <param name="value"></param>
 public void Remove(VisualItem value)
 {
     List.Remove(value);
 }
Exemplo n.º 5
0
        protected virtual void RecreateButtons()
        {
            VisualItem[] buttons = CreateOrderedButtonList();
            // Remove all system buttons that are already in the list
            VisualGroup group = _ButtonGroup;
            VisualItem[] items = new VisualItem[group.Items.Count];
            group.Items.CopyTo(items);
            foreach (VisualItem item in items)
            {
                if (item.ItemType == eSystemItemType.SystemButton)
                {
                    group.Items.Remove(item);
                    if (item == _ButtonCustom.ItemReference)
                        item.MouseUp -= new MouseEventHandler(CustomButtonClick);
                    else if (item == _ButtonCustom2.ItemReference)
                        item.MouseUp -= new MouseEventHandler(CustomButton2Click);
                }
            }

            // Add new buttons to the list
            group.Items.AddRange(buttons);
        }
Exemplo n.º 6
0
 /// <summary>
 /// Adds array of new objects to the collection.
 /// </summary>
 /// <param name="items">Array of object to add.</param>
 public void AddRange(VisualItem[] items)
 {
     foreach (VisualItem item in items)
         this.Add(item);
 }
Exemplo n.º 7
0
 /// <summary>
 /// Returns index of the object inside of the collection.
 /// </summary>
 /// <param name="value">Reference to the object.</param>
 /// <returns>Index of the object.</returns>
 public int IndexOf(VisualItem value)
 {
     return List.IndexOf(value);
 }
Exemplo n.º 8
0
        protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
        {
            if (_MouseDownItem != null)
                _MouseDownItem.ProcessMouseMove(e);
            else
            {
                VisualItem item = GetItemAt(e.X, e.Y);
                if (item != _MouseOverItem && _MouseOverItem != null)
                {
                    _MouseOverItem.ProcessMouseLeave();
                    _MouseOverItem = null;
                }

                if (item != null && _MouseOverItem == null)
                {
                    _MouseOverItem = item;
                    _MouseOverItem.ProcessMouseEnter();
                }

                if (_MouseOverItem != null)
                    _MouseOverItem.ProcessMouseMove(e);
            }
            base.OnMouseMove(e);
        }
Exemplo n.º 9
0
 protected override void OnMouseLeave()
 {
     if (_MouseDownItem != null)
         _MouseDownItem.ProcessMouseLeave();
     else
     {
         if (_MouseOverItem != null)
         {
             _MouseOverItem.ProcessMouseLeave();
             _MouseOverItem = null;
         }
     }
     base.OnMouseLeave();
 }
Exemplo n.º 10
0
 protected virtual bool CanFocus(VisualItem v)
 {
     return v != null && v.Visible && (v.Focusable || v is VisualInputGroup) && v.Enabled;
 }
Exemplo n.º 11
0
 protected override void OnMouseUp(System.Windows.Forms.MouseEventArgs e)
 {
     if (_MouseDownItem != null)
     {
         _MouseDownItem.ProcessMouseUp(e);
         _MouseDownItem = null;
     }
     base.OnMouseUp(e);
 }
Exemplo n.º 12
0
        protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
        {
            VisualItem item = GetItemAt(e.X, e.Y);
            if (item != null)
            {
                _MouseDownItem = item;
                _MouseOverItem = item;
                item.ProcessMouseDown(e);
                if (_MouseDownItem == item && CanFocus(item))
                    this.FocusedItem = item;
            }
            else if (item == null && this.IsFocused)
            {
                // Find first available input and focus it instead
                foreach (VisualItem visual in _Items)
                {
                    if (visual is VisualInputBase && CanFocus(visual))
                    {
                        this.FocusedItem = visual;
                        break;
                    }
                }
            }

            base.OnMouseDown(e);
        }
Exemplo n.º 13
0
        protected virtual void ResetValue()
        {
            _ResettingValue = true;

            try
            {
                VisualItem[] items = new VisualItem[this.Items.Count];
                this.Items.CopyTo(items);
                foreach (VisualItem item in items)
                {
                    if (item is VisualInputGroup)
                        ((VisualInputGroup)item).IsEmpty = true;
                    else if (item is VisualInputBase)
                        ((VisualInputBase)item).IsEmpty = true;
                }
            }
            finally
            {
                _ResettingValue = false;
            }
        }
Exemplo n.º 14
0
 protected virtual bool ValidateInput(VisualItem inputItem)
 {
     return true;
 }
Exemplo n.º 15
0
 public CollectionChangedInfo(VisualItem[] added, VisualItem[] removed, eCollectionChangeType changeType)
 {
     _Added = added;
     _Removed = removed;
     _ChangeType = changeType;
 }
Exemplo n.º 16
0
 protected virtual void OnGroupFocused()
 {
     if (this.FocusedItem == null)
     {
         VisualItem item = GetFirstVisibleItem();
         if (item != null) this.FocusedItem = item;
     }
 }
Exemplo n.º 17
0
 /// <summary>
 /// Adds new object to the collection.
 /// </summary>
 /// <param name="item">Object to add.</param>
 /// <returns>Index of newly added object.</returns>
 public int Add(VisualItem item)
 {
     return List.Add(item);
 }
Exemplo n.º 18
0
 protected override void OnLostFocus()
 {
     this.FocusedItem = null;
     base.OnLostFocus();
 }
Exemplo n.º 19
0
 /// <summary>
 /// Inserts new object into the collection.
 /// </summary>
 /// <param name="index">Position of the object.</param>
 /// <param name="value">Object to insert.</param>
 public void Insert(int index, VisualItem value)
 {
     List.Insert(index, value);
 }
Exemplo n.º 20
0
 internal void OnChildItemVisibleChanged(VisualItem visualItem)
 {
     InvalidateArrange();
 }
Exemplo n.º 21
0
 /// <summary>
 /// Returns whether collection contains specified object.
 /// </summary>
 /// <param name="value">Object to look for.</param>
 /// <returns>true if object is part of the collection, otherwise false.</returns>
 public bool Contains(VisualItem value)
 {
     return List.Contains(value);
 }
Exemplo n.º 22
0
        protected virtual void OnFocusedItemChanged(VisualItem previousFocus)
        {

        }
Exemplo n.º 23
0
        private VisualItem[] CreateOrderedButtonList()
        {
            SortedList list = CreateSortedButtonList();

            VisualItem[] items = new VisualItem[list.Count];
            list.Values.CopyTo(items, 0);

            return items;
        }
Exemplo n.º 24
0
 private void OnRenderControlButtonsChanged()
 {
     // Update IsRendered on system items.
     if (_RootVisual is VisualGroup)
     {
         VisualGroup group = (VisualGroup)_RootVisual;
         VisualItem[] items = new VisualItem[group.Items.Count];
         group.Items.CopyTo(items);
         foreach (VisualItem item in items)
         {
             if (item.ItemType == eSystemItemType.SystemButton || item is VisualUpDownButton || item is LockUpdateCheckBox)
             {
                 item.IsRendered = _RenderControlButtons;
             }
         }
     }
     this.Invalidate();
 }