Ejemplo n.º 1
0
        //选中area节点后,insert插入floor节点,选中floor节点后delete删除之
        private void SolutionTree_KeyDown(object sender, KeyEventArgs e)
        {
            if (SelectedTreeNode != null)
            {
                if (SelectedTreeNode.Level == 1)//area
                {
                    var area = FindMapArea(SelectedTreeNode);
                    if (e.KeyCode == Keys.Insert)
                    {
                        var floor = area.AddMapFloor();
                        var node  = SelectedTreeNode.Nodes.Add(floor.Text);
                        node.Name          = floor.ID.ToString();
                        floor.TreeViewNode = node;
                        SelectedTreeNode.Expand();
                    }
                }

                else if (SelectedTreeNode.Level == 2)
                {
                    if (e.KeyCode == Keys.Delete)
                    {
                        var area = FindMapArea(SelectedTreeNode.Parent);
                        if (area != null)
                        {
                            area.RemoveMapFloor(int.Parse(SelectedTreeNode.Name));
                        }
                        SelectedTreeNode.Remove();
                    }
                }
            }
        }
        private bool PresetFilter(Preset preset)
        {
            if (SelectedTreeNode != null)
            {
                return(SelectedTreeNode.IsEqualOrBelow(preset.PresetBank));
            }

            return(true);
        }
Ejemplo n.º 3
0
 private void  除节点ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (SelectedTreeNode != null)
     {
         if (SelectedTreeNode.Level == 2)
         {
             var area = FindMapArea(SelectedTreeNode.Parent);
             if (area != null)
             {
                 area.RemoveMapFloor(int.Parse(SelectedTreeNode.Name));
             }
             SelectedTreeNode.Remove();
         }
     }
 }
Ejemplo n.º 4
0
        private void 添加节点ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (SelectedTreeNode != null)
            {
                if (SelectedTreeNode.Level == 1)//area
                {
                    var area = FindMapArea(SelectedTreeNode);


                    var floor = area.AddMapFloor();
                    var node  = SelectedTreeNode.Nodes.Add(floor.Text);
                    node.Name          = floor.ID.ToString();
                    floor.TreeViewNode = node;
                    SelectedTreeNode.Expand();
                }
            }
        }
        private async Task OnDeleteBankCommandExecute()
        {
            bool isEmpty = true;

            foreach (var preset in Plugin.Presets)
            {
                if (SelectedTreeNode.IsEqualOrBelow(preset.PresetBank))
                {
                    isEmpty = false;
                    break;
                }
            }

            if (!isEmpty)
            {
                await _messageService.ShowErrorAsync(
                    "Cannot delete a preset bank which contains presets. Please move the affected presets to another bank prior deleting.",
                    "Cannot delete preset bank");
            }
            else
            {
                SelectedTreeNode.ParentBank.PresetBanks.Remove(SelectedTreeNode);
            }
        }
Ejemplo n.º 6
0
        //节点选中的时候调用
        private void SolutionTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            SelectedTreeNode = e.Node;
            SelectedTreeNode.Expand();
            if (SelectedTreeNode.Level == 1)
            {
                var area = FindMapArea(SelectedTreeNode);
                MapProperty.SelectedObject          = area;
                DataHelper.Instance.CurrentMapArea  = area;
                DataHelper.Instance.CurrentMapFloor = area.GetFirstFloor();
            }
            else if (SelectedTreeNode.Level == 2)
            {
                var floor = FindMapFloor(SelectedTreeNode);
                floor.SetPropertyObject(MapProperty);
                DataHelper.Instance.CurrentMapArea  = floor.belongArea;
                DataHelper.Instance.CurrentMapFloor = floor;

                if (floor.belongArea.isXYRArea)
                {
                    FormMain.Instance.fmEditor.MoveToCenter(floor.X, floor.Y);
                }
            }
        }