コード例 #1
0
ファイル: ComboBox.cs プロジェクト: yadiate/MonoGameGui
        /*####################################################################*/
        /*                                Events                              */
        /*####################################################################*/

        protected internal override void MouseClick(MouseEventArgs e)
        {
            if (IsToggled)
            {
                _selectedItem = RenderRule.GetItem(e.Location);
                if (_selectedItem.HasValue)
                {
                    if (_dropDownItems[_selectedItem.Value].OnClick != null)
                    {
                        _dropDownItems[_selectedItem.Value].OnClick(this);
                    }
                    Label = _dropDownItems[_selectedItem.Value].Item.Item2;
                    if (OnSelectionChanged != null)
                    {
                        OnSelectionChanged(this);
                    }
                }
            }

            IsToggled = !IsToggled;

            if (!IsToggled)
            {
                RenderRule.Mode = IsHover
                    ? ComboBoxRenderRule.RenderMode.Hover
                    : ComboBoxRenderRule.RenderMode.Default;
            }
            else
            {
                RenderRule.Mode = ComboBoxRenderRule.RenderMode.Pressed;
            }
        }
コード例 #2
0
ファイル: ComboBox.cs プロジェクト: yadiate/MonoGameGui
        protected internal override void MouseMove(MouseEventArgs e)
        {
            RenderRule.HighlightItem = -1;

            if (!IsToggled)
            {
                return;
            }

            var number = RenderRule.GetItem(e.Location);

            if (number.HasValue)
            {
                RenderRule.HighlightItem = number.Value;
            }
        }
コード例 #3
0
ファイル: ComboBox.cs プロジェクト: lmaxim/MultiScrollNES
 protected internal override void MouseUp(InputEventMouse e)
 {
     if (IsToggled)
     {
         int?value = RenderRule.GetItem(e.Position);
         if (value.HasValue && value != _selectedItem)
         {
             _selectedItem = RenderRule.GetItem(e.Position);
             if (_selectedItem.HasValue)
             {
                 if (_dropDownItems[_selectedItem.Value].OnClick != null)
                 {
                     _dropDownItems[_selectedItem.Value].OnClick(this);
                 }
                 Icon  = _dropDownItems[_selectedItem.Value].Item.Item1;
                 Label = _dropDownItems[_selectedItem.Value].Item.Item2;
                 if (OnSelectionChanged != null)
                 {
                     OnSelectionChanged(this);
                 }
             }
         }
     }
 }