Ejemplo n.º 1
0
        private void LayoutSequence()
        {
            int num1 = ItemMaximumWidth() + 44;
            int num2 = 22;

            Pivot = (PointF)GH_Convert.ToPoint(Pivot);
            //RectangleF rectangleF;
            RectangleF local;
            PointF     pivot = Pivot;
            double     x     = (double)pivot.X;

            pivot = Pivot;
            double y    = (double)pivot.Y;
            double num3 = (double)num1;
            double num4 = (double)num2;

            local  = new RectangleF((float)x, (float)y, (float)num3, (float)num4);
            Bounds = local;
            GH_ValueListItem firstSelectedItem = Owner.FirstSelectedItem;

            foreach (GH_ValueListItem listItem in Owner.ListItems)
            {
                if (listItem == firstSelectedItem)
                {
                    listItem.SetSequenceBounds(Bounds);
                }
                else
                {
                    listItem.SetEmptyBounds(Bounds);
                }
            }
        }
Ejemplo n.º 2
0
        private void RenderDropDown(GH_Canvas canvas, Graphics graphics, Color color)
        {
            GH_ValueListItem firstSelectedItem = Owner.FirstSelectedItem;

            if (firstSelectedItem == null)
            {
                return;
            }
            graphics.DrawString(firstSelectedItem.Name, GH_FontServer.Standard, Brushes.Black, firstSelectedItem.BoxName, GH_TextRenderingConstants.CenterCenter);
            RenderDownArrow(canvas, graphics, firstSelectedItem.BoxRight, color);
        }
Ejemplo n.º 3
0
        private void ValueMenuItem_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem toolStripMenuItem = (ToolStripMenuItem)sender;

            if (toolStripMenuItem.Checked)
            {
                return;
            }
            GH_ValueListItem tag = toolStripMenuItem.Tag as GH_ValueListItem;

            if (tag == null)
            {
                return;
            }
            Owner.SelectItem(Owner.ListItems.IndexOf(tag));
        }
Ejemplo n.º 4
0
        public override GH_ObjectResponse RespondToMouseDown(GH_Canvas sender, GH_CanvasMouseEvent e)
        {
            if (e.Button == MouseButtons.Left)
            {
                switch (Owner.ListMode)
                {
                case GH_ValueListMode.CheckList:
                    int num = Owner.ListItems.Count - 1;
                    for (int index = 0; index <= num; ++index)
                    {
                        if (Owner.ListItems[index].BoxLeft.Contains(e.CanvasLocation))
                        {
                            Owner.ToggleItem(index);
                            return(GH_ObjectResponse.Handled);
                        }
                    }
                    break;

                case GH_ValueListMode.DropDown:
                    GH_ValueListItem firstSelectedItem1 = Owner.FirstSelectedItem;
                    if (firstSelectedItem1 != null && firstSelectedItem1.BoxRight.Contains(e.CanvasLocation))
                    {
                        ToolStripDropDownMenu stripDropDownMenu  = new ToolStripDropDownMenu();
                        GH_ValueListItem      firstSelectedItem2 = Owner.FirstSelectedItem;
                        foreach (GH_ValueListItem listItem in Owner.ListItems)
                        {
                            ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem(listItem.Name);
                            toolStripMenuItem.Click += new EventHandler(ValueMenuItem_Click);
                            if (listItem == firstSelectedItem2)
                            {
                                toolStripMenuItem.Checked = true;
                            }
                            toolStripMenuItem.Tag = (object)listItem;
                            stripDropDownMenu.Items.Add((ToolStripItem)toolStripMenuItem);
                        }
                        stripDropDownMenu.Show((Control)sender, e.ControlLocation);
                        return(GH_ObjectResponse.Handled);
                    }
                    break;

                case GH_ValueListMode.Sequence:
                case GH_ValueListMode.Cycle:
                    using (List <GH_ValueListItem> .Enumerator enumerator = Owner.ListItems.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            GH_ValueListItem current = enumerator.Current;
                            if (current.IsVisible)
                            {
                                if (current.BoxLeft.Contains(e.CanvasLocation))
                                {
                                    Owner.PrevItem();
                                    return(GH_ObjectResponse.Handled);
                                }
                                if (current.BoxRight.Contains(e.CanvasLocation))
                                {
                                    Owner.NextItem();
                                    return(GH_ObjectResponse.Handled);
                                }
                            }
                        }
                        break;
                    }
                }
            }
            return(base.RespondToMouseDown(sender, e));
        }