Exemplo n.º 1
0
        public void OpenForm(IRidgeObject RidgeRoot)
        {
            var forma = new Form1(Os, RidgeRoot)
            {
                //MinimizeBox = false
            };

            forma.Show();
        }
Exemplo n.º 2
0
        private void Child_Added(IRidgeObject obj)
        {
            var ParentNode = this.FindNode(obj.Parent);

            this.Add(ParentNode.Nodes, obj);

            // если подительский нод выделен - раскрываем
            if (this.treeView1.SelectedNode == ParentNode)
            {
                ParentNode.Expand();
            }
        }
Exemplo n.º 3
0
        private void AddChilds(TreeNode новыйНод, IRidgeObject ridgeObject, bool Expanding)
        {
            if (ridgeObject.Child != null)
            {
                // events
                ridgeObject.Child.Added   += Child_Added;
                ridgeObject.Child.Removed += Child_Removed;

                // добавить детей
                новыйНод.Nodes.Clear();
                if (Expanding && ridgeObject.DynamicChilds)
                {
                    ridgeObject.Child.ReloadElements();
                }
                var ChildArray = ridgeObject.Child.ToArray().ToList();

                // если дети динамические
                if (!Expanding)
                {
                    if (ridgeObject.DynamicChilds)
                    {
                        if (ChildArray.Count == 0)
                        {
                            // добавляем заглушку, для возможного раскрытия элемента
                            ChildArray.Add(new LoadingObject());
                        }
                    }
                }
                else
                {
                    // Expanding
                    if (ridgeObject.DynamicChilds)
                    {
                        if (ChildArray.Count == 0)
                        {
                            // добавляем заглушку, для возможного раскрытия элемента
                            ChildArray.Add(new LoadingObject
                            {
                                Loading = false
                            });
                        }
                    }
                }

                ChildArray.ВыполнитьДляКаждого(x => this.Add(новыйНод.Nodes, x));
            }
        }
Exemplo n.º 4
0
        public Form1(IContext Os, IRidgeObject RidgeRoot)
        {
            InitializeComponent();

            this.Os = Os;

            if (RidgeRoot == null)
            {
                RidgeRoot = this.Os.Ridge.Root;
            }

            this.Text = RidgeRoot.Text;

            this.Add(this.treeView1.Nodes, RidgeRoot);

            this.treeView1.Nodes.Cast <TreeNode>().ВыполнитьДляКаждого(x => x.Expand());
        }
Exemplo n.º 5
0
        private void RidgeObject_BeginedUserRemove(IRidgeObject ridgeObject)
        {
            var Node = this.FindNode(ridgeObject);

            if (Node != null)
            {
                if (MessageBox.Show($"Remove object?\r\n{ridgeObject}", "Deleting ridge object", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    if (ridgeObject.Remove())
                    {
                        //Node.Remove();
                    }
                    else
                    {
                        MessageBox.Show($"Object not removed!\r\n{ridgeObject}", "Deleting ridge object", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    }
                }
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Визуально добавить элемент
        /// </summary>
        /// <param name="nodeCollection"></param>
        /// <param name="ridgeObject"></param>
        void Add(TreeNodeCollection nodeCollection, IRidgeObject ridgeObject)
        {
            if (ridgeObject != null)
            {
                // добавить объект
                var новыйНод = nodeCollection.Add(ridgeObject.Text);
                новыйНод.Tag = ridgeObject;

                // если редактирование текста
                ridgeObject.BeginedUserEdit += RidgeObject_BeginedUserEdit;

                // если удаление текста
                ridgeObject.BeginedUserRemove += RidgeObject_BeginedUserRemove;

                // Icon
                if (ridgeObject.Icon != null)
                {
                    this.imageList1.Images.Add(ridgeObject.Id, ridgeObject.Icon);
                    новыйНод.ImageKey = ridgeObject.Id;
                }

                this.AddChilds(новыйНод, ridgeObject, false);
            }
        }
Exemplo n.º 7
0
        private TreeNode FindNode(IRidgeObject obj, TreeNodeCollection nodes = null)
        {
            if (nodes == null)
            {
                nodes = this.treeView1.Nodes;
            }

            foreach (TreeNode Node in nodes)
            {
                if (Node.Tag == obj)
                {
                    return(Node);
                }

                var result = this.FindNode(obj, Node.Nodes);

                if (result != null)
                {
                    return(result);
                }
            }

            return(null);
        }
Exemplo n.º 8
0
 internal This(IRidgeObject Root)
 {
     this.Root = Root;
 }
Exemplo n.º 9
0
        private void RidgeObject_BeginedUserEdit(IRidgeObject ridgeObject)
        {
            var Node = this.FindNode(ridgeObject);

            Node?.BeginEdit();
        }
Exemplo n.º 10
0
        private void Child_Removed(IRidgeObject obj)
        {
            var removedNode = this.FindNode(obj);

            removedNode.Remove();
        }
Exemplo n.º 11
0
 private void BookmarkDirectory_Removed(IRidgeObject obj)
 {
     this.settingsService.Remove();
 }