Example #1
0
        /// <summary>
        /// Handles when a behaviour is supposed to be presented to the user.
        /// </summary>
        /// <param name="node">The behaviour which will be presented to the user.</param>
        private BehaviorTreeViewDock behaviorTreeList_ShowBehavior(BehaviorNode node)
        {
            // check if there is a tab for the behaviour
            BehaviorTreeViewDock dock = BehaviorTreeViewDock.GetBehaviorTreeViewDock(node);
            BehaviorTreeView control = (dock == null) ? null : dock.BehaviorTreeView;

            if (control == null)
            {
                control = new BehaviorTreeView();
                control.Dock = DockStyle.Fill;
                control.RootNode = node;
                control.BehaviorTreeList = behaviorTreeList;

                control.ClickNode += new BehaviorTreeView.ClickNodeEventDelegate(control_ClickNode);
                control.ClickEvent += new BehaviorTreeView.ClickEventEventDelegate(control_ClickEvent);

                dock = new BehaviorTreeViewDock();
                dock.Text = ((Node)node).Label;
                dock.TabText = ((Node)node).Label;
                dock.BehaviorTreeView = control;
                dock.Activated += new EventHandler(dock_Activated);
                dock.FormClosed += new FormClosedEventHandler(dock_FormClosed);
                dock.Show(dockPanel, WeifenLuo.WinFormsUI.Docking.DockState.Document);

                dock.ToolTipText = FileManagers.FileManager.GetRelativePath(node.Filename);
            }

            dock.Focus();
            dock.MakeFocused();

            return dock;
        }