コード例 #1
0
        public virtual void Synchronize()
        {
            TreeNodeElement nodeElement = this.NodeElement;

            if (nodeElement == null)
            {
                return;
            }

            this.SetValue(IsSelectedProperty, nodeElement.IsSelected);
            this.SetValue(IsCurrentProperty, nodeElement.IsCurrent);
            this.SetValue(IsExpandedProperty, nodeElement.IsExpanded);
            this.SetValue(IsRootNodeProperty, nodeElement.IsRootNode);
            this.SetValue(HotTrackingProperty, nodeElement.HotTracking);
            this.SetValue(HasChildrenProperty, nodeElement.HasChildren);

            if (nodeElement.Data.Image != null)
            {
                this.Image = nodeElement.Data.Image;
            }
            else
            {
                this.ResetValue(LightVisualElement.ImageProperty, ValueResetFlags.Local);
            }
        }
コード例 #2
0
 public TreeNodeValidatingEventArgs(
     TreeNodeElement nodeElement,
     object oldValue,
     object newValue)
     : base(nodeElement.Data)
 {
     this.oldValue = oldValue;
     this.newValue = newValue;
 }
コード例 #3
0
        private void dragDropService_PreviewDragDrop(object sender, RadDropEventArgs e)
        {
            GridDataRowElement rowElement = e.DragInstance as GridDataRowElement;

            if (rowElement == null)
            {
                return;
            }
            string          sourceText        = rowElement.RowInfo.Cells[0].Value.ToString();
            TreeNodeElement targetNodeElement = e.HitTarget as TreeNodeElement;

            if (targetNodeElement != null)
            {
                RadTreeViewElement treeViewElement = targetNodeElement.TreeViewElement;
                RadTreeNode        targetNode      = targetNodeElement.Data;
                DropPosition       dropPosition    = this.GetDropPosition(e.DropLocation, targetNodeElement);

                switch (dropPosition)
                {
                case DropPosition.None:
                    break;

                case DropPosition.BeforeNode:
                    radGridView1.Rows.Remove(rowElement.RowInfo);

                    RadTreeNodeCollection nodes = targetNode.Parent == null ? treeViewElement.Nodes : targetNode.Parent.Nodes;
                    nodes.Insert(targetNode.Index, new RadTreeNode(sourceText));

                    break;

                case DropPosition.AfterNode:
                    radGridView1.Rows.Remove(rowElement.RowInfo);

                    RadTreeNodeCollection nodes1 = targetNode.Parent == null ? treeViewElement.Nodes : targetNode.Parent.Nodes;
                    int targetIndex = targetNodeElement.Data.Index <= treeViewElement.Nodes.Count - 1 ?
                                      (targetNodeElement.Data.Index + 1) : treeViewElement.Nodes.Count - 1;
                    nodes1.Insert(targetIndex, new RadTreeNode(sourceText));

                    break;

                case DropPosition.AsChildNode:
                    radGridView1.Rows.Remove(rowElement.RowInfo);

                    targetNode.Nodes.Add(new RadTreeNode(sourceText));

                    break;
                }
            }

            RadTreeViewElement treeElement = e.HitTarget as RadTreeViewElement;

            if (treeElement != null)
            {
                radGridView1.Rows.Remove(rowElement.RowInfo);
                radTreeView1.Nodes.Add(new RadTreeNode(sourceText));
            }
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: telerik/winforms-sdk
        private void OnPreviewDragDrop(object sender, Telerik.WinControls.RadDropEventArgs e)
        {
            GridDataCellElement dataCell = e.HitTarget as GridDataCellElement;

            if (dataCell != null)
            {
                TreeNodeElement element = e.DragInstance as TreeNodeElement;
                dataCell.Value = element.Data.Name;
                e.Handled      = true;
            }
        }
コード例 #5
0
 private void BuildSkeletonNodeTree(SkeletonBone[] skeleton, TreeNodeElement layout, int boneIndex)
 {
     for (int i = 0; i < skeleton.Length; i++)
     {
         if (skeleton[i].ParentIndex == boneIndex)
         {
             var node = layout.Node(skeleton[i].Name);
             BuildSkeletonNodeTree(skeleton, node, i);
         }
     }
 }
コード例 #6
0
 private void BuildSkeletonNodesTree(SkeletonNode[] nodes, TreeNodeElement layout, int nodeIndex)
 {
     for (int i = 0; i < nodes.Length; i++)
     {
         if (nodes[i].ParentIndex == nodeIndex)
         {
             var node = layout.Node(nodes[i].Name);
             BuildSkeletonNodesTree(nodes, node, i);
         }
     }
 }
コード例 #7
0
 void radTreeView1_MouseMove(object sender, MouseEventArgs e)
 {
     if (mouseDown && IsRealDrag(e.Location, clickedPoint))
     {
         TreeNodeElement node = ((RadTreeView)sender).ElementTree.GetElementAtPoint(clickedPoint) as TreeNodeElement;
         if (node != null)
         {
             ((RadTreeView)sender).DoDragDrop(node.Data, DragDropEffects.Copy | DragDropEffects.Move);
         }
         mouseDown = false;
     }
 }
コード例 #8
0
ファイル: Form1.cs プロジェクト: telerik/winforms-sdk
        private void OnPreviewDragOver(object sender, Telerik.WinControls.RadDragOverEventArgs e)
        {
            GridDataCellElement dataCell = e.HitTarget as GridDataCellElement;

            if (dataCell != null)
            {
                TreeNodeElement element = e.DragInstance as TreeNodeElement;

                object value = null;
                e.CanDrop = RadDataConverter.Instance.TryParse(dataCell as IDataConversionInfoProvider,
                                                               element.Data.Name, out value) == null;
            }
        }
コード例 #9
0
        protected DropPosition GetDropPosition(Point dropLocation, TreeNodeElement targetNodeElement)
        {
            int  part      = targetNodeElement.Size.Height / 3;
            int  mouseY    = dropLocation.Y;
            bool dropAtTop = mouseY < part;

            if (dropAtTop)
            {
                return(DropPosition.BeforeNode);
            }

            if (mouseY >= part && mouseY <= part * 2)
            {
                return(DropPosition.AsChildNode);
            }

            return(DropPosition.AfterNode);
        }
コード例 #10
0
        protected void SetHintWindowPosition(Point mousePt, TreeNodeElement nodeElement, Image originalHintImage)
        {
            dropHintWindow.Hide();

            Point point = this.radTreeView1.ElementTree.Control.PointToClient(mousePt);

            point = nodeElement.PointFromScreen(mousePt);
            DropPosition dropPosition      = this.GetDropPosition(point, nodeElement);
            Image        dropPositionImage = null;

            switch (dropPosition)
            {
            case DropPosition.None:
                break;

            case DropPosition.BeforeNode:
                dropPositionImage = Properties.Resources.RadTreeViewDropBefore;
                break;

            case DropPosition.AfterNode:
                dropPositionImage = Properties.Resources.RadTreeViewDropAfter;
                break;

            case DropPosition.AsChildNode:
                dropPositionImage = Properties.Resources.RadTreeViewDropAsChild;
                break;
            }

            int    offset       = 10;
            Bitmap newHintImage = new Bitmap(originalHintImage.Width + dropPositionImage.Width + offset,
                                             Math.Max(originalHintImage.Height, dropPositionImage.Height));

            using (Graphics g = Graphics.FromImage(newHintImage))
            {
                g.Clear(Color.White);
                g.DrawImage(dropPositionImage, Point.Empty);
                g.DrawImage(originalHintImage, new Point(dropPositionImage.Width + offset, 0));
                g.DrawRectangle(Pens.LightGray, new Rectangle(0, 0, newHintImage.Width - 1, newHintImage.Height - 1));
            }

            dropHintWindow.TopMost         = true;
            dropHintWindow.BackgroundImage = newHintImage;
            dropHintWindow.ShowWindow(mousePt);
        }
コード例 #11
0
        public Box(JsonElement element, Model parentModel)
        {
            _from              = element.From;
            _to                = element.To;
            _shade             = element.Shade;
            _rotation          = element.Rotation;
            _rotation.Changed += new OnRotationChangedHandler(OnLooksChanged);
            _name              = element.Name;
            _parentModel       = parentModel;

            _faces = new List <CubeFace>();
            for (int i = 0; i < element.Faces.Count; i++)
            {
                _faces.Add(new CubeFace(element.Faces[i], _from, _to, this));
            }
            AddMissingFaces();
            HookFaceEvents();
            _treeNode  = new TreeNodeElement(this);
            IsSelected = _treeNode.IsSelected;
            _treeNode.UpdateValues();
        }
コード例 #12
0
        public override void Synchronize()
        {
            this.StretchHorizontally = true;
            this.Padding             = new Padding(10);
            this.Margin        = new Padding(0, 5, 0, 5);
            this.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            this.TextWrap      = true;

            TreeNodeElement treeNodeElement = this.NodeElement;
            RadTreeNode     node            = treeNodeElement.Data;
            DataRowView     rowView         = (DataRowView)node.DataBoundItem;

            this.textElement.Text        = "<html><b>" + rowView["LastName"] + ", " + rowView["FirstName"] + " - <i>" + rowView["Title"];
            this.descriptionElement.Text = (string)rowView["Notes"];
            this.imageElement.Image      = ImageHelper.GetImageFromBytes((byte[])rowView["Photo"]);

            this.DrawBorder     = true;
            this.DrawFill       = true;
            this.BorderColor    = Color.FromArgb(110, 153, 210);
            this.GradientStyle  = GradientStyles.Linear;
            this.NumberOfColors = 2;

            if (node.Level == 0)
            {
                this.BackColor  = Color.FromArgb(248, 248, 248);
                this.BackColor2 = Color.FromArgb(233, 233, 233);
            }
            else if (node.Level == 1)
            {
                this.BackColor  = Color.FromArgb(230, 239, 255);
                this.BackColor2 = Color.FromArgb(225, 228, 235);
            }
            else
            {
                this.BackColor  = Color.FromArgb(174, 190, 217);
                this.BackColor2 = Color.FromArgb(168, 183, 210);
            }
        }
コード例 #13
0
        public Box(Vector3 from, Vector3 to, ElementRotation rotation, string textureName, string name, Model parentModel)
        {
            _from              = from;
            _to                = to;
            _shade             = true;
            _rotation          = rotation;
            _rotation.Changed += new OnRotationChangedHandler(OnLooksChanged);
            _name              = name;
            _parentModel       = parentModel;

            _faces = new List <CubeFace>
            {
                new CubeFace(from, to, FaceOrientation.up, new Vector4(0, 0, 16, 16), textureName, true, this),
                new CubeFace(from, to, FaceOrientation.down, new Vector4(0, 0, 16, 16), textureName, true, this),
                new CubeFace(from, to, FaceOrientation.north, new Vector4(0, 0, 16, 16), textureName, true, this),
                new CubeFace(from, to, FaceOrientation.south, new Vector4(0, 0, 16, 16), textureName, true, this),
                new CubeFace(from, to, FaceOrientation.east, new Vector4(0, 0, 16, 16), textureName, true, this),
                new CubeFace(from, to, FaceOrientation.west, new Vector4(0, 0, 16, 16), textureName, true, this)
            };
            HookFaceEvents();
            _treeNode  = new TreeNodeElement(this);
            IsSelected = _treeNode.IsSelected;
            _treeNode.UpdateValues();
        }
コード例 #14
0
 public TreeNodeEditedEventArgs(TreeNodeElement nodeElement, IValueEditor editor, bool canceled)
     : base(nodeElement)
 {
     this.editor   = editor;
     this.canceled = canceled;
 }
コード例 #15
0
 public TreeNodeEditorInitializedEventArgs(TreeNodeElement nodeElement, IValueEditor editor)
     : base(nodeElement)
 {
     this.editor = editor;
 }
コード例 #16
0
 public RadTreeViewNodeElementEventArgs(TreeNodeElement nodeElement)
     : base(nodeElement.Data)
 {
     this.nodeElement = nodeElement;
 }
コード例 #17
0
        private TreeViewSpreadExportRow CreateExportRow(
            RadTreeNode treeNode,
            int currentRowIndex,
            ref bool skipHiddenChildNodes,
            ref int collapsedParentLevel,
            ref bool exportChildNodesHidden)
        {
            if (!treeNode.Expanded && this.CollapsedNodeOption == HiddenOption.DoNotExport)
            {
                skipHiddenChildNodes = true;
                collapsedParentLevel = treeNode.Level;
            }
            if (exportChildNodesHidden && collapsedParentLevel >= treeNode.Level)
            {
                exportChildNodesHidden = false;
            }
            TreeNodeElement treeNodeElement1 = (TreeNodeElement)null;
            TreeNodeElement treeNodeElement2 = (TreeNodeElement)null;
            int             num = 1;
            RadTreeViewVirtualizedContainer virtualizedContainer = (RadTreeViewVirtualizedContainer)null;
            int height = treeNode.ActualSize.Height == 0 ? this.defaultItemSize.Height : treeNode.ActualSize.Height;

            if (this.ExportVisualSettings)
            {
                virtualizedContainer = this.treeView.TreeViewElement.ViewElement as RadTreeViewVirtualizedContainer;
                if (this.treeView.TreeViewElement.AllowAlternatingRowColor && currentRowIndex % 2 != 0)
                {
                    treeNodeElement1 = new TreeNodeElement();
                    virtualizedContainer.Children.Add((RadElement)treeNodeElement1);
                    num = 2;
                }
                treeNodeElement2 = this.elementProvider.GetElement(treeNode, (object)null) as TreeNodeElement;
                virtualizedContainer.Children.Add((RadElement)treeNodeElement2);
                treeNodeElement2.Attach(treeNode, (object)null);
            }
            TreeViewSpreadExportRow viewSpreadExportRow = new TreeViewSpreadExportRow();

            for (int index = 0; index < treeNode.Level; ++index)
            {
                TreeViewSpreadExportIndentCell exportIndentCell = new TreeViewSpreadExportIndentCell();
                exportIndentCell.Size = new Size(this.NodeIndent, exportChildNodesHidden ? 0 : -1);
                if (this.ExportVisualSettings && treeNodeElement2.LinesContainerElement.LayoutableChildrenCount > 0)
                {
                    this.GetStylesFromVisualCell((TreeViewSpreadExportCell)exportIndentCell, (LightVisualElement)treeNodeElement2.ContentElement);
                }
                this.OnCellFormatting(new TreeViewSpreadExportCellFormattingEventArgs((TreeViewSpreadExportCell)exportIndentCell, treeNode, currentRowIndex));
                viewSpreadExportRow.Cells.Add((TreeViewSpreadExportCell)exportIndentCell);
            }
            if (this.ExportImages)
            {
                TreeViewSpreadExportImageCell spreadExportImageCell = new TreeViewSpreadExportImageCell();
                if (treeNode.Image != null && !exportChildNodesHidden)
                {
                    spreadExportImageCell.Size           = new Size(treeNode.Image.Size.Width, height);
                    spreadExportImageCell.Image          = treeNode.Image;
                    spreadExportImageCell.ImageAlignment = ContentAlignment.MiddleLeft;
                }
                else
                {
                    spreadExportImageCell.Size = new Size(this.NodeIndent, exportChildNodesHidden ? 0 : -1);
                }
                if (this.ExportVisualSettings)
                {
                    if (treeNodeElement2.ImageElement.Image != null)
                    {
                        spreadExportImageCell.Image = treeNodeElement2.ImageElement.Image;
                        spreadExportImageCell.Size  = new Size(treeNodeElement2.ImageElement.Image.Size.Width, height);
                    }
                    spreadExportImageCell.ImageAlignment = treeNodeElement2.ImageElement.ImageAlignment;
                    this.GetStylesFromVisualCell((TreeViewSpreadExportCell)spreadExportImageCell, (LightVisualElement)treeNodeElement2.ContentElement);
                }
                this.OnCellFormatting(new TreeViewSpreadExportCellFormattingEventArgs((TreeViewSpreadExportCell)spreadExportImageCell, treeNode, currentRowIndex));
                viewSpreadExportRow.Cells.Add((TreeViewSpreadExportCell)spreadExportImageCell);
            }
            int width = (treeNode.ActualSize.Width == 0 ? this.defaultItemSize.Width : treeNode.ActualSize.Width) - treeNode.Level * this.NodeIndent;
            TreeViewSpreadExportContentCell exportContentCell = new TreeViewSpreadExportContentCell();

            exportContentCell.Text     = treeNode.Text;
            exportContentCell.Size     = new Size(width, exportChildNodesHidden ? 0 : height);
            exportContentCell.ColSpan += this.depthOfTree - treeNode.Level;
            if (this.ExportVisualSettings)
            {
                this.GetStylesFromVisualCell((TreeViewSpreadExportCell)exportContentCell, (LightVisualElement)treeNodeElement2.ContentElement);
            }
            this.OnCellFormatting(new TreeViewSpreadExportCellFormattingEventArgs((TreeViewSpreadExportCell)exportContentCell, treeNode, currentRowIndex));
            viewSpreadExportRow.Cells.Add((TreeViewSpreadExportCell)exportContentCell);
            if (this.ExportVisualSettings)
            {
                this.elementProvider.CacheElement((IVirtualizedElement <RadTreeNode>)treeNodeElement2);
                treeNodeElement2.Detach();
                virtualizedContainer.Children.Remove((RadElement)treeNodeElement2);
                if (num == 2)
                {
                    virtualizedContainer.Children.Remove((RadElement)treeNodeElement1);
                }
            }
            if (!exportChildNodesHidden)
            {
                exportChildNodesHidden = !treeNode.Expanded && this.CollapsedNodeOption == HiddenOption.ExportAsHidden;
                collapsedParentLevel   = treeNode.Level;
            }
            return(viewSpreadExportRow);
        }
コード例 #18
0
 public TreeNodeFormattingEventArgs(TreeNodeElement nodeElement)
     : base(nodeElement)
 {
 }