예제 #1
0
        public void HandleSelectedNode(ApplicationPresenter presenter)
        {
            var nodeHandler = DeviareNodeHandler.ForProcesses(
                processNode =>
            {
                var collector = new Collector();
                processNode.Accept(collector);
                presenter.SelectedProcessesChanged(
                    collector.CollectedProcesses);
                return(true);
            },
                processGroupNode =>
            {
                var collector = new Collector();
                processGroupNode.Accept(collector);
                presenter.SelectedProcessesChanged(
                    collector.CollectedProcesses);
                return(true);
            },
                processCategoryNode => false,
                presenter.ClearSelectedProcesses);

            SelectedDeviareNode().Accept(nodeHandler);
        }
예제 #2
0
        public void HandleSelectedNode(Func <ModuleNode, bool> aModuleHandler, Action noSelection)
        {
            var aVisitor = DeviareNodeHandler.ForModules(aModuleHandler, noSelection);

            aVisitor.Visit(SelectedDeviareNode);
        }