Exemplo n.º 1
0
        private void selectedGroups_ItemDrag(object sender, ItemDragEventArgs e)
        {
            FieldMetaDataTreeNode node = e.Item as FieldMetaDataTreeNode;

            if (node != null)
            {
                selectedGroups.DoDragDrop(new FieldMetaDataDragDropObject(node.Field, selectedGroups), DragDropEffects.Move);
                Invalidate();
            }
        }
Exemplo n.º 2
0
        private void removeGroup_Click(object sender, EventArgs e)
        {
            FieldMetaDataTreeNode selectedNode = selectedGroups.SelectedNode as FieldMetaDataTreeNode;

            if (selectedNode != null)
            {
                FieldMetaData field = selectedNode.Field;
                _selectedGroupFields.Remove(field);
                _availableGroupFields.Add(field);
                RebuildSelectedGroupsTree();
                selectedGroups.Focus();
            }
            removeGroup.Enabled = selectedGroups.SelectedNode != null;
        }
Exemplo n.º 3
0
        private void RebuildSelectedGroupsTree()
        {
            selectedGroups.BeginUpdate();
            selectedGroups.Nodes.Clear();
            FieldMetaDataTreeNode parentNode = null;

            foreach (FieldMetaData fieldMetaData in _selectedGroupFields)
            {
                if (parentNode == null)
                {
                    parentNode = new FieldMetaDataTreeNode(fieldMetaData);
                    selectedGroups.Nodes.Add(parentNode);
                }
                else
                {
                    FieldMetaDataTreeNode child = new FieldMetaDataTreeNode(fieldMetaData);
                    parentNode.Nodes.Add(child);
                    parentNode = child;
                }
            }
            selectedGroups.EndUpdate();
            selectedGroups.ExpandAll();
        }
Exemplo n.º 4
0
 private void selectedGroups_DragDrop(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent(FieldMetaDataDragDropObject.Format.Name))
     {
         FieldMetaDataDragDropObject ddoField =
             (FieldMetaDataDragDropObject)e.Data.GetData(FieldMetaDataDragDropObject.Format.Name);
         Point localPoint = selectedGroups.PointToClient(new Point(e.X, e.Y));
         // Find position of the drop
         FieldMetaDataTreeNode parentNode = (FieldMetaDataTreeNode)selectedGroups.GetNodeAt(localPoint);
         if (parentNode != null)
         {
             int parentIndex = _selectedGroupFields.IndexOf(parentNode.Field);
             if (ddoField.Source == selectedGroups)
             {
                 //need to remove existing node
                 _selectedGroupFields.Remove(ddoField.Data);
             }
             _selectedGroupFields.Insert(parentIndex, ddoField.Data);
         }
         else // First node or not over a node
         {
             if (ddoField.Source == selectedGroups)
             {
                 //need to remove existing node
                 _selectedGroupFields.Remove(ddoField.Data);
             }
             _selectedGroupFields.Add(ddoField.Data);
         }
         RebuildSelectedGroupsTree();
         // Remove the old field from the list
         if (ddoField.Source == availableGroups)
         {
             _availableGroupFields.Remove(ddoField.Data);
         }
     }
 }