コード例 #1
0
ファイル: HDEHost.cs プロジェクト: keftaparty/vvvv-sdk
 protected virtual void OnNodeSelectionChanged(NodeSelectionEventArgs args)
 {
     if (NodeSelectionChanged != null)
     {
         NodeSelectionChanged(this, args);
     }
 }
 private void DataTree_OnSelectedNodesCollectionChanged(object sender, NodeSelectionEventArgs e)
 {
     if (e.CurrentSelectedNodes.Count == 1)
     {
         var node = e.CurrentSelectedNodes[0].Data as DirectoryNode;
         if (node != null)
         {
             ApplicationContext.NodeTargetId = node.NodeId;
         }
     }
 }
コード例 #3
0
 private void DataTreeLDAP_OnSelectedNodesCollectionChanged(object sender, NodeSelectionEventArgs e)
 {
     if (e.CurrentSelectedNodes.Count < 1)
     {
         ApplicationContext.LDAPNodesSelected = new List <DirectoryNode>();
     }
     else
     {
         var ln = e.CurrentSelectedNodes.Select(cn => cn.Data).OfType <DirectoryNode>().ToList();
         ApplicationContext.LDAPNodesSelected = ln;
     }
 }
コード例 #4
0
        void tree_SelectedNodesCollectionChanged(object sender, NodeSelectionEventArgs e)
        {
            if (e.CurrentSelectedNodes.Count > e.OriginalSelectedNodes.Count)
            {
                var added = e.CurrentSelectedNodes.Select(n => n.Data).Except(e.OriginalSelectedNodes.Select(n => n.Data));

                if (added.Count() > 0)
                {
                    CommandParameter = added.First();

                    ExecuteCommand(CommandParameter);
                }
            }
        }
コード例 #5
0
        void FHDEHost_NodeSelectionChanged(object sender, NodeSelectionEventArgs args)
        {
            if (args.Nodes.Length == 1 && this.engine != null && this.FInAutoSelect[0])
            {
                INode2 n = args.Nodes[0];

                if (this.nodes.ContainsKey(n.InternalCOMInterf))
                {
                    string vn = n.LabelPin.Spread.Replace("|", "");

                    if (this.engine.GetVariableByName(vn) != null)
                    {
                        this.engine.SelectVariable(vn);
                    }
                }
            }
        }
コード例 #6
0
 private void DataTree_OnSelectedNodesCollectionChanged(object sender, NodeSelectionEventArgs e)
 {
     ApplicationContext.SelectedTargetNodes = new List <DirectoryNode>();
     if (e.CurrentSelectedNodes.Count >= 1)
     {
         foreach (var cnode in e.CurrentSelectedNodes)
         {
             var node = cnode.Data as DirectoryNode;
             if (node != null)
             {
                 ApplicationContext.SelectedTargetNodes.Add(node);
             }
         }
     }
     else
     {
         ApplicationContext.SelectedTargetNodes = new List <DirectoryNode>();
     }
 }
コード例 #7
0
        /// <summary>
        ///     event selected collection changed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DataTree_SelectedNodesCollectionChanged(object sender, NodeSelectionEventArgs e)
        {
            if (e.CurrentSelectedNodes.Count < 1)
            {
                if (DataTree.Equals(sender))
                {
                    ApplicationContext.IsError       = true;
                    ApplicationContext.NodesSelected = new List <DirectoryNode>();
                }
                else
                {
                    ApplicationContext.LabelNodesSelected = new List <DirectoryNode>();
                }
            }
            else
            {
                if (SoftwareDataTree.Equals(sender))
                {
                    ApplicationContext.SoftwareSelectedNodeId = (e.CurrentSelectedNodes[0].Data as DirectoryNode).NodeId;
                    if (PageNavigatorHelper.IsCurrent <SoftwarePage>())
                    {
                        var viewModel =
                            PageNavigatorHelper.GetMainContentViewModel <SoftwareViewModel>();
                        viewModel.SourceName = (e.CurrentSelectedNodes[0].Data as DirectoryNode).Title.ToUpper();
                        viewModel.BuidPage();
                    }
                    return;
                }
                if (CheckScreenWithoutRefresh())
                {
                    return;
                }
                if (ApplicationContext.IsRebuildTree)
                {
                    if (!LabelDataTree.Equals(sender) &&
                        e.CurrentSelectedNodes.Count == ApplicationContext.NodesSelected.Count)
                    {
                        ApplicationContext.IsRebuildTree = false;
                    }
                    if (LabelDataTree.Equals(sender) &&
                        e.CurrentSelectedNodes.Count == ApplicationContext.LabelNodesSelected.Count)
                    {
                        ApplicationContext.IsRebuildTree = false;
                    }
                    return;
                }
                var ln   = new List <DirectoryNode>();
                var fids = new List <DirectoryNode>();
                var eids = new List <int>();
                foreach (var cn in e.CurrentSelectedNodes)
                {
                    var cnode = cn.Data as DirectoryNode;
                    if (cnode != null)
                    {
                        ln.Add(cnode);
                        if (cnode.IsFolder)
                        {
                            fids.Add(cnode);
                        }
                        else
                        {
                            eids.Add(cnode.NodeId);
                        }
                    }
                }
                var node = e.CurrentSelectedNodes[0].Data as DirectoryNode;
                if (node != null)
                {
                    if (LabelDataTree.Equals(sender))
                    {
                        if (Model.DirectoryPushed)
                        {
                            return;
                        }
                        ApplicationContext.LabelNodesSelected = ln;
                        ApplicationContext.IsFromLabel        = true;
                        if (CheckEndpointNavigationClicked())
                        {
                            if (e.CurrentSelectedNodes.Count == 1)
                            {
                                if (node.IsFolder)
                                {
                                    var listResult = new List <ListLableEndpointResponse>();
                                    foreach (var fid in fids)
                                    {
                                        var result = Model.GetEndpointByLabel(fid.NodeId, fid.Title);
                                        listResult.Add(result);
                                    }
                                    if (!PageNavigatorHelper.IsCurrent <EndPointListPage>())
                                    {
                                        PageNavigatorHelper.Switch(new EndPointListPage());
                                    }
                                    var viewModel =
                                        PageNavigatorHelper.GetMainContentViewModel <GroupViewModel>();

                                    viewModel.SetParamsValueForLabel(listResult, eids);
                                    viewModel.GetLabelData();
                                }
                                else
                                {
                                    //dislay EndpointView page
                                    if (!PageNavigatorHelper.IsCurrent <EndPointViewPage>())
                                    {
                                        PageNavigatorHelper.Switch(new EndPointViewPage());
                                    }
                                    var viewModel =
                                        PageNavigatorHelper.GetMainContentViewModel <EndpointViewModel>();
                                    viewModel.SetParams(node.NodeId);
                                    viewModel.ReloadData();
                                }
                            }
                            else
                            {
                                var listResult = new List <ListLableEndpointResponse>();
                                foreach (var fid in fids)
                                {
                                    var result = Model.GetEndpointByLabel(fid.NodeId, fid.Title);
                                    listResult.Add(result);
                                }
                                if (!PageNavigatorHelper.IsCurrent <EndPointListPage>())
                                {
                                    PageNavigatorHelper.Switch(new EndPointListPage());
                                }
                                var viewModel =
                                    PageNavigatorHelper.GetMainContentViewModel <GroupViewModel>();

                                viewModel.SetParamsValueForLabel(listResult, eids);
                                viewModel.GetLabelData();
                            }
                        }
                    }
                    else
                    {
                        if (!Model.DirectoryPushed)
                        {
                            return;
                        }
                        ApplicationContext.IsFromLabel = false;
                        ApplicationContext.IsError     = !node.IsFolder;
                        ApplicationContext.NodeId      = node.NodeId;
                        //after add a note, select one node only
                        if (ApplicationContext.IsAddNode)
                        {
                            var ns = new List <DirectoryNode>();
                            ns.Add(ln[0]);
                            ln = ns;
                            ApplicationContext.IsAddNode = false;
                            if (CheckEndpointNavigationClicked())
                            {
                                if (node.IsFolder)
                                {
                                    //dislay GroupView page
                                    PageNavigatorHelper.Switch(new EndPointListPage());
                                    var viewModel =
                                        PageNavigatorHelper.GetMainContentViewModel <GroupViewModel>();
                                    var selectedFolderIds   = new List <int>();
                                    var selectedEndpointIds = new List <int>();
                                    selectedFolderIds.Add(node.NodeId);
                                    viewModel.SetParamsValueForDirectory(selectedFolderIds, selectedEndpointIds,
                                                                         ApplicationContext.SearchText, true, node.Guid, node.Title);
                                    viewModel.EditOrAdd();
                                }
                                else
                                {
                                    //dislay EndpointView page
                                    PageNavigatorHelper.Switch(new EndPointViewPage());
                                    var viewModel =
                                        PageNavigatorHelper.GetMainContentViewModel <EndpointViewModel>();
                                    viewModel.SetParams(node.NodeId);
                                    viewModel.EditOrAdd(node.Title, true);
                                }
                            }
                        }
                        else if (ApplicationContext.IsEditNode)
                        {
                            var ns = new List <DirectoryNode>();
                            ns.Add(ln[0]);
                            ln = ns;
                            ApplicationContext.IsEditNode = false;
                            if (CheckEndpointNavigationClicked())
                            {
                                if (node.IsFolder)
                                {
                                    //dislay GroupView page
                                    if (!PageNavigatorHelper.IsCurrent <EndPointListPage>())
                                    {
                                        PageNavigatorHelper.Switch(new EndPointListPage());
                                    }
                                    var viewModel =
                                        PageNavigatorHelper.GetMainContentViewModel <GroupViewModel>();
                                    var selectedFolderIds   = new List <int>();
                                    var selectedEndpointIds = new List <int>();
                                    selectedFolderIds.Add(node.NodeId);
                                    viewModel.SetParamsValueForDirectory(selectedFolderIds, selectedEndpointIds,
                                                                         ApplicationContext.SearchText, false, Guid.NewGuid(), "");
                                    viewModel.EditOrAdd();
                                }
                                else
                                {
                                    //dislay EndpointView page
                                    if (!PageNavigatorHelper.IsCurrent <EndPointViewPage>())
                                    {
                                        PageNavigatorHelper.Switch(new EndPointViewPage());
                                    }
                                    var viewModel =
                                        PageNavigatorHelper.GetMainContentViewModel <EndpointViewModel>();
                                    viewModel.SetParams(node.NodeId);
                                    viewModel.EditOrAdd(node.Title);
                                }
                            }
                        }
                        else
                        {
                            if (ApplicationContext.IsDeleteNode)
                            {
                                ApplicationContext.IsDeleteNode = false;
                            }
                            if (CheckEndpointNavigationClicked())
                            {
                                if (e.CurrentSelectedNodes.Count == 1)
                                {
                                    if (e.OriginalSelectedNodes.Count == 0)
                                    {
                                        if (node != null)
                                        {
                                            if (node.IsFolder)
                                            {
                                                ApplicationContext.NodesSelected = ln;
                                                var pageViewModel =
                                                    PageNavigatorHelper.GetMainContentViewModel <PageViewModelBase>();
                                                //if (pageViewModel != null &&
                                                //    pageViewModel.GetType() == typeof (ColorCodePageViewModel))
                                                //{
                                                //    Model.GetBelowNode(node);
                                                //    return;
                                                //}
                                                //if (pageViewModel != null &&
                                                //    pageViewModel.GetType() == typeof (AssignmentViewModel))
                                                //{
                                                //    var assignmentVM = pageViewModel as AssignmentViewModel;
                                                //    if (assignmentVM != null)
                                                //        assignmentVM.GetRuleByFolder();
                                                //    Model.GetBelowNode(node);
                                                //    return;
                                                //}
                                                if (pageViewModel != null &&
                                                    pageViewModel.GetType() == typeof(PolicyEnhancementPageViewModel))
                                                {
                                                    var assignmentVM = pageViewModel as PolicyEnhancementPageViewModel;
                                                    if (assignmentVM != null)
                                                    {
                                                        assignmentVM.BuidPage();
                                                    }
                                                    Model.GetBelowNode(node);
                                                    return;
                                                }
                                                if (pageViewModel != null &&
                                                    pageViewModel.GetType() == typeof(TaskListViewModel))
                                                {
                                                    return;
                                                }
                                                //dislay GroupView page
                                                if (!PageNavigatorHelper.IsCurrent <EndPointListPage>())
                                                {
                                                    PageNavigatorHelper.Switch(new EndPointListPage());
                                                }
                                                var viewModel =
                                                    PageNavigatorHelper.GetMainContentViewModel <GroupViewModel>();
                                                var selectedFolderIds   = new List <int>();
                                                var selectedEndpointIds = new List <int>();
                                                selectedFolderIds.Add(node.NodeId);
                                                viewModel.SetParamsValueForDirectory(selectedFolderIds,
                                                                                     selectedEndpointIds,
                                                                                     ApplicationContext.SearchText, false, Guid.NewGuid(), "");
                                                viewModel.GetData();
                                            }
                                            else
                                            {
                                                if (PageNavigatorHelper.IsCurrent <PolicyEnhancementPage>())
                                                {
                                                    ApplicationContext.NodesSelected = ln;
                                                    var pageVM = PageNavigatorHelper.GetMainContentViewModel <PolicyEnhancementPageViewModel>();
                                                    if (pageVM != null)
                                                    {
                                                        pageVM.BuidPage();
                                                    }
                                                    Model.GetBelowNode(node);
                                                    return;
                                                }
                                                else if (PageNavigatorHelper.IsCurrent <TaskListPage>())
                                                {
                                                    ApplicationContext.NodesSelected = ln;
                                                    var pageVM = PageNavigatorHelper.GetMainContentViewModel <TaskListViewModel>();
                                                    if (pageVM != null)
                                                    {
                                                        pageVM.Refresh();
                                                    }
                                                    return;
                                                }
                                                //dislay EndpointView page
                                                if (!PageNavigatorHelper.IsCurrent <EndPointViewPage>())
                                                {
                                                    PageNavigatorHelper.Switch(new EndPointViewPage());
                                                }
                                                var viewModel =
                                                    PageNavigatorHelper.GetMainContentViewModel <EndpointViewModel>();
                                                viewModel.SetParams(node.NodeId);
                                                viewModel.ReloadData();
                                            }
                                        }
                                    }
                                    else
                                    {
                                        var oriNote = e.OriginalSelectedNodes[0].Data as DirectoryNode;
                                        if (e.OriginalSelectedNodes.Count == 1 && oriNote.IsFolder == node.IsFolder &&
                                            oriNote.NodeId == node.NodeId)
                                        {
                                            //doing nothing because re-selected itself
                                        }
                                        else
                                        {
                                            if (node != null)
                                            {
                                                if (node.IsFolder)
                                                {
                                                    if (PageNavigatorHelper.IsCurrent <ColorCodePage>())
                                                    {
                                                        var viewModel =
                                                            PageNavigatorHelper
                                                            .GetMainContentViewModel <ColorCodePageViewModel>();
                                                        viewModel.SetParams(node);
                                                        viewModel.GetData();
                                                    }
                                                    else if (PageNavigatorHelper.IsCurrent <DirectoryAssignmentPage>())
                                                    {
                                                        ApplicationContext.NodesSelected = ln;
                                                        var viewModel =
                                                            PageNavigatorHelper
                                                            .GetMainContentViewModel <AssignmentViewModel>();
                                                        viewModel.GetRuleByFolder();
                                                    }
                                                    else if (PageNavigatorHelper.IsCurrent <PolicyEnhancementPage>())
                                                    {
                                                        ApplicationContext.NodesSelected = ln;
                                                        var viewModel = PageNavigatorHelper.GetMainContentViewModel <PolicyEnhancementPageViewModel>();
                                                        if (viewModel != null)
                                                        {
                                                            viewModel.BuidPage();
                                                        }
                                                    }
                                                    else if (PageNavigatorHelper.IsCurrent <TaskListPage>())
                                                    {
                                                        ApplicationContext.NodesSelected = ln;
                                                        var viewModel = PageNavigatorHelper.GetMainContentViewModel <TaskListViewModel>();
                                                        if (viewModel != null)
                                                        {
                                                            viewModel.Refresh();
                                                        }
                                                    }
                                                    //dislay GroupView page
                                                    else
                                                    {
                                                        if (!PageNavigatorHelper.IsCurrent <EndPointListPage>())
                                                        {
                                                            PageNavigatorHelper.Switch(new EndPointListPage());
                                                        }
                                                        var viewModel =
                                                            PageNavigatorHelper.GetMainContentViewModel <GroupViewModel>();
                                                        var selectedFolderIds   = new List <int>();
                                                        var selectedEndpointIds = new List <int>();
                                                        selectedFolderIds.Add(node.NodeId);
                                                        viewModel.SetParamsValueForDirectory(selectedFolderIds,
                                                                                             selectedEndpointIds,
                                                                                             ApplicationContext.SearchText, false, Guid.NewGuid(), "");
                                                        viewModel.GetData();
                                                    }
                                                }
                                                else
                                                {
                                                    ApplicationContext.NodesSelected = ln;
                                                    if (PageNavigatorHelper.IsCurrent <PolicyEnhancementPage>())
                                                    {
                                                        var pageViewModel = PageNavigatorHelper.GetMainContentViewModel <PolicyEnhancementPageViewModel>();
                                                        if (pageViewModel != null)
                                                        {
                                                            pageViewModel.BuidPage();
                                                        }
                                                    }
                                                    else if (PageNavigatorHelper.IsCurrent <TaskListPage>())
                                                    {
                                                        var taskListViewModel = PageNavigatorHelper.GetMainContentViewModel <PageViewModelBase>();
                                                        taskListViewModel.Refresh();
                                                    }
                                                    else
                                                    {
                                                        //dislay EndpointView page
                                                        if (!PageNavigatorHelper.IsCurrent <EndPointViewPage>())
                                                        {
                                                            PageNavigatorHelper.Switch(new EndPointViewPage());
                                                        }
                                                        var viewModel =
                                                            PageNavigatorHelper.GetMainContentViewModel <EndpointViewModel>();
                                                        viewModel.SetParams(node.NodeId);
                                                        viewModel.ReloadData();
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    if (PageNavigatorHelper.IsCurrent <PolicyEnhancementPage>())
                                    {
                                        ApplicationContext.NodesSelected = ln;
                                        var pageViewModel = PageNavigatorHelper.GetMainContentViewModel <PolicyEnhancementPageViewModel>();
                                        if (pageViewModel != null)
                                        {
                                            pageViewModel.BuidPage();
                                        }
                                        return;
                                    }
                                    //dislay GroupView page
                                    if (!PageNavigatorHelper.IsCurrent <EndPointListPage>())
                                    {
                                        PageNavigatorHelper.Switch(new EndPointListPage());
                                    }
                                    var viewModel =
                                        PageNavigatorHelper.GetMainContentViewModel <GroupViewModel>();

                                    viewModel.SetParamsValueForDirectory(fids.Select(r => r.NodeId).ToList(), eids,
                                                                         ApplicationContext.SearchText, false, Guid.NewGuid(), "");
                                    viewModel.GetData();
                                }
                            }
                            else if (PageNavigatorHelper.IsCurrent <POCQuarantinePage>())
                            {
                                var viewModel = PageNavigatorHelper.GetMainContentViewModel <POCQuarantineViewModel>();
                                if (e.CurrentSelectedNodes.Count == 1)
                                {
                                    if (!node.IsFolder)
                                    {
                                        viewModel.RefreshQuarantineByComputerIds(new List <int> {
                                            node.NodeId
                                        });
                                    }
                                    else
                                    {
                                        viewModel.RefreshQuarantineByFolder(node.NodeId);
                                    }
                                }
                                else
                                {
                                    viewModel.RefreshByGroupEntities(fids.Select(r => r.NodeId).ToList(), eids);
                                }
                            }
                        }


                        ApplicationContext.NodesSelected = ln;
                        Model.GetBelowNode(node);
                    }
                }
            }
        }
コード例 #8
0
 private void NodeSelectionChanged(object sender, NodeSelectionEventArgs e)
 {
     FSelection = e.Nodes;
 }