Ejemplo n.º 1
0
 private void messagesListView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
 {
     if (e.Data.GetDataPresent(typeof(MessageDragContainer)))
     {
         MessageDragContainer messageDragContainer = (MessageDragContainer)e.Data.GetData(typeof(MessageDragContainer));
         OnMessagesDragDrop(new MessagesDragDropEventArgs(messageDragContainer.OwnerQueueItem, _qSetQueueItem, messageDragContainer.Messages));
     }
 }
Ejemplo n.º 2
0
 private void messagesListView_MouseMove(object sender, MouseEventArgs e)
 {
     if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
     {
         // If the mouse moves outside the rectangle, start the drag.
         if (_dragBoxFromMouseDown != Rectangle.Empty &&
             !_dragBoxFromMouseDown.Contains(e.X, e.Y))
         {
             System.Messaging.Message[] messages = new System.Messaging.Message[messagesListView.SelectedItems.Count];
             for (int i = 0; i < messagesListView.SelectedItems.Count; i++)
             {
                 messages[i] = ((MessageListViewItem)messagesListView.SelectedItems[i]).Message;
             }
             MessageDragContainer messageDragContainer = new MessageDragContainer(_qSetQueueItem, messages);
             messagesListView.DoDragDrop(messageDragContainer, DragDropEffects.Move);
         }
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Handles the drag drop.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void _qsetTreeView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
        {
            //get the item which was dragged on to
            QSetItemBase dragOverItem =
                _qsetTreeView.GetNodeAt(_qsetTreeView.PointToClient(new Point(e.X, e.Y))) == null ? null : ((QSetItemTreeNode)_qsetTreeView.GetNodeAt(_qsetTreeView.PointToClient(new Point(e.X, e.Y)))).QSetItem;

            //was a Q Set item dragged?
            QSetItemBase droppedItem = QSetItemBase.GetFromDataObject(e.Data);

            if (droppedItem != null)
            {
                //handle Q Set item drag
                QSetFolderItem dragOverFolder = dragOverItem as QSetFolderItem;
                if (dragOverFolder != null && droppedItem.ParentItem != dragOverFolder)
                {
                    if (!dragOverFolder.ChildItems.Exists(droppedItem.Name))
                    {
                        ((QSetFolderItem)droppedItem.ParentItem).ChildItems.Remove(droppedItem.Name);
                        dragOverFolder.ChildItems.Add(droppedItem);
                    }
                    else
                    {
                        MessageBox.Show(Locale.UserMessages.CannotAddItemAsAlreadyExists, System.Windows.Forms.Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            else
            {
                //is this a message(s) drag?
                MessageDragContainer messageDragContainer = (MessageDragContainer)e.Data.GetData(typeof(MessageDragContainer));
                if (messageDragContainer != null)
                {
                    OnMessagesDragDrop(new MessagesDragDropEventArgs(messageDragContainer.OwnerQueueItem, (QSetQueueItem)dragOverItem, messageDragContainer.Messages));
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Handles the drag enter/over to provide visual feedback to the user.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void _qsetTreeView_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
        {
            //get the item being dragged over
            QSetItemBase dragOverItem =
                _qsetTreeView.GetNodeAt(_qsetTreeView.PointToClient(new Point(e.X, e.Y))) == null ? null : ((QSetItemTreeNode)_qsetTreeView.GetNodeAt(_qsetTreeView.PointToClient(new Point(e.X, e.Y)))).QSetItem;

            e.Effect = DragDropEffects.None;

            //is this a Q Set item being dragged
            QSetItemBase qSetDragItem = QSetItemBase.GetFromDataObject(e.Data);

            if (qSetDragItem != null)
            {
                //handle a Q Set item drag
                if (qSetDragItem != null && dragOverItem != null && dragOverItem is QSetFolderItem &&
                    !(IsAncestorOf(qSetDragItem, dragOverItem)) &&
                    qSetDragItem.ParentItem != dragOverItem &&
                    !(dragOverItem is QSetMachineItem) &&
                    qSetDragItem != dragOverItem)
                {
                    e.Effect = DragDropEffects.Move;
                }
            }
            else
            {
                //is this a message(s) drag?
                MessageDragContainer messageDragContainer = (MessageDragContainer)e.Data.GetData(typeof(MessageDragContainer));
                if (messageDragContainer != null)
                {
                    if (dragOverItem is QSetQueueItem)
                    {
                        e.Effect = DragDropEffects.Move;
                    }
                }
            }
        }
Ejemplo n.º 5
0
		private void messagesListView_MouseMove(object sender, MouseEventArgs e)
		{
			if ((e.Button & MouseButtons.Left) == MouseButtons.Left) 
			{
				// If the mouse moves outside the rectangle, start the drag.
				if (_dragBoxFromMouseDown != Rectangle.Empty && 
					!_dragBoxFromMouseDown.Contains(e.X, e.Y)) 
				{
					System.Messaging.Message[] messages = new System.Messaging.Message[messagesListView.SelectedItems.Count];
					for (int i = 0; i < messagesListView.SelectedItems.Count; i ++) 			
					{
						messages[i] = ((MessageListViewItem)messagesListView.SelectedItems[i]).Message;
					}
					MessageDragContainer messageDragContainer = new MessageDragContainer(_qSetQueueItem, messages);
					messagesListView.DoDragDrop(messageDragContainer, DragDropEffects.Move);
				}
			}
		}