public void OpenForm(IRidgeObject RidgeRoot) { var forma = new Form1(Os, RidgeRoot) { //MinimizeBox = false }; forma.Show(); }
private void Child_Added(IRidgeObject obj) { var ParentNode = this.FindNode(obj.Parent); this.Add(ParentNode.Nodes, obj); // если подительский нод выделен - раскрываем if (this.treeView1.SelectedNode == ParentNode) { ParentNode.Expand(); } }
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)); } }
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()); }
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); } } } }
/// <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); } }
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); }
internal This(IRidgeObject Root) { this.Root = Root; }
private void RidgeObject_BeginedUserEdit(IRidgeObject ridgeObject) { var Node = this.FindNode(ridgeObject); Node?.BeginEdit(); }
private void Child_Removed(IRidgeObject obj) { var removedNode = this.FindNode(obj); removedNode.Remove(); }
private void BookmarkDirectory_Removed(IRidgeObject obj) { this.settingsService.Remove(); }