public override bool OnMouseDown(Glyph g, MouseButtons button, Point mouseLoc) { if (button == MouseButtons.Left) { ISelectionService service = (ISelectionService)this.serviceProvider.GetService(typeof(ISelectionService)); if ((service != null) && !this.containerControl.Equals(service.PrimarySelection as Control)) { service.SetSelectedComponents(new object[] { this.containerControl }, SelectionTypes.Toggle | SelectionTypes.Click); ContainerSelectorGlyph glyph = g as ContainerSelectorGlyph; if (glyph == null) { return(false); } using (BehaviorServiceAdornerCollectionEnumerator enumerator = this.behaviorService.Adorners.GetEnumerator()) { while (enumerator.MoveNext()) { foreach (Glyph glyph2 in enumerator.Current.Glyphs) { ContainerSelectorGlyph glyph3 = glyph2 as ContainerSelectorGlyph; if ((glyph3 != null) && !glyph3.Equals(glyph)) { ContainerSelectorBehavior relatedBehavior = glyph3.RelatedBehavior as ContainerSelectorBehavior; ContainerSelectorBehavior behavior2 = glyph.RelatedBehavior as ContainerSelectorBehavior; if (((relatedBehavior != null) && (behavior2 != null)) && behavior2.ContainerControl.Equals(relatedBehavior.ContainerControl)) { relatedBehavior.OkToMove = true; relatedBehavior.InitialDragPoint = this.DetermineInitialDragPoint(mouseLoc); continue; } } } } goto Label_0167; } } this.InitialDragPoint = this.DetermineInitialDragPoint(mouseLoc); this.OkToMove = true; } Label_0167: return(false); }
public override GlyphCollection GetGlyphs(GlyphSelectionType selType) { GlyphCollection glyphs = new GlyphCollection(); foreach (object obj2 in this.SelectionService.GetSelectedComponents()) { if (obj2 is System.Windows.Forms.ToolStrip) { GlyphCollection glyphs2 = base.GetGlyphs(selType); glyphs.AddRange(glyphs2); } else { ToolStripItem component = obj2 as ToolStripItem; if ((component != null) && component.Visible) { ToolStripItemDesigner designer = (ToolStripItemDesigner) this.host.GetDesigner(component); if (designer != null) { designer.GetGlyphs(ref glyphs, this.StandardBehavior); } } } } if ((((this.SelectionRules & SelectionRules.Moveable) != SelectionRules.None) && (this.InheritanceAttribute != System.ComponentModel.InheritanceAttribute.InheritedReadOnly)) && (selType != GlyphSelectionType.NotSelected)) { Point location = base.BehaviorService.ControlToAdornerWindow((Control) base.Component); Rectangle containerBounds = new Rectangle(location, ((Control) base.Component).Size); int glyphOffset = (int) (DesignerUtils.CONTAINERGRABHANDLESIZE * 0.5); if (containerBounds.Width < (2 * DesignerUtils.CONTAINERGRABHANDLESIZE)) { glyphOffset = -1 * glyphOffset; } ContainerSelectorBehavior behavior = new ContainerSelectorBehavior(this.ToolStrip, base.Component.Site, true); ContainerSelectorGlyph glyph = new ContainerSelectorGlyph(containerBounds, DesignerUtils.CONTAINERGRABHANDLESIZE, glyphOffset, behavior); glyphs.Insert(0, glyph); } return glyphs; }
public override GlyphCollection GetGlyphs(GlyphSelectionType selectionType) { GlyphCollection glyphs = base.GetGlyphs(selectionType); if ((((this.SelectionRules & SelectionRules.Moveable) != SelectionRules.None) && (this.InheritanceAttribute != InheritanceAttribute.InheritedReadOnly)) && (selectionType != GlyphSelectionType.NotSelected)) { Point location = base.BehaviorService.ControlToAdornerWindow((Control) base.Component); Rectangle containerBounds = new Rectangle(location, ((Control) base.Component).Size); int glyphOffset = (int) (DesignerUtils.CONTAINERGRABHANDLESIZE * 0.5); if (containerBounds.Width < (2 * DesignerUtils.CONTAINERGRABHANDLESIZE)) { glyphOffset = -1 * glyphOffset; } ContainerSelectorBehavior behavior = new ContainerSelectorBehavior((Control) base.Component, base.Component.Site, true); ContainerSelectorGlyph glyph = new ContainerSelectorGlyph(containerBounds, DesignerUtils.CONTAINERGRABHANDLESIZE, glyphOffset, behavior); glyphs.Insert(0, glyph); } return glyphs; }