public void DropToolBoxItem(IToolBoxItem toolBoxItem, Point position) { if (! ( toolBoxItem is IEditorControl )) return; Cursor = Cursors.WaitCursor; Point layoutPosition = new Point(position.X + ViewLocation.X, position.Y + ViewLocation.Y); Rectangle r = new Rectangle(); bool found = _documentLayout.LineDrawer.getSmallestBoundingRectangle(layoutPosition, ref r); if (found) { layoutPosition = r.Location; } XMLControl xmlConrtol = toolBoxItem.Duplicate(layoutPosition); if (found) { xmlConrtol.ClientRect = r; } DocumentLayout.AddControl( xmlConrtol ); IEditorControl xmlControl = toolBoxItem as IEditorControl; Control editControl = xmlControl.CreateEditorControl(); editControl.Left = layoutPosition.X - ViewLocation.X; editControl.Top = layoutPosition.Y - ViewLocation.Y; editControl.Width = xmlConrtol.ClientRect.Width; editControl.Height = xmlConrtol.ClientRect.Height; editControl.Parent = this; editControl.Visible = true; editControl.TabStop = false; System.Diagnostics.Trace.WriteLine("DropToolBoxItem 3"); XMLControl2ControlDictionary.Add(xmlConrtol, editControl); Control2XmlControlDictionary.Add(editControl, xmlConrtol); xmlConrtol.UpdateEditorControl(editControl); storeNeeded = true; RefreshOverlay(); Cursor = Cursors.Arrow; }
public void AddItem(IToolBoxItem toolBoxItem) { items.Add(toolBoxItem); vScrollBar1.Maximum = items.Count -1; }
private void endDrag( Point cursorPos ) { if (_dragItem == null) return; if (Editor == null) { System.Diagnostics.Trace.WriteLine("XMLFormEditor::endDrag: editor is null"); return; } Rectangle r = Editor.DisplayRectangle; Point editorLocation = Editor.PointToScreen(new Point(0, 0)); r.Offset( editorLocation); if (r.Contains(cursorPos)) { cursorPos.Offset( -1 * editorLocation.X, -1 * editorLocation.Y ); Editor.DropToolBoxItem(_dragItem, cursorPos); } _dragItem = null; Cursor = Cursors.Default; }
private void startDrag( Point cursorPos ) { IToolBoxItem item = getItemAtPos( cursorPos); if (item == null) { return; } if (Editor == null) return; _dragItem = item; Cursor = item.getToolBoxCursor(); }