public void SelectNodeAndResultPaneByName(string nodeName, string resultPaneName)
        {
            ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeFormView, string, string>(0L, "*--ExchangeFormView.SelectNodeAndResultPaneByName: {0}: {1},{2}", this, nodeName, resultPaneName);
            ViewSharedData sharedData = this.SharedData;

            if (sharedData != null)
            {
                sharedData.SelectedResultPaneName = resultPaneName;
                this.SelectNodeByName(nodeName);
            }
        }
        protected override void OnShow()
        {
            ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeFormView>(0L, "-->ExchangeFormView.OnShow: {0}", this);
            ViewSharedData sharedData = this.SharedData;

            if (sharedData != null)
            {
                sharedData.CurrentActiveView = this;
                try
                {
                    IAcceptExternalSelection acceptExternalSelection = base.Control as IAcceptExternalSelection;
                    if (acceptExternalSelection != null && sharedData.SelectionObject != null)
                    {
                        ExTraceGlobals.ProgramFlowTracer.TraceDebug <string, object>(0L, "ExchangeFormView.OnShow: requesting {0} to select item {1}.", base.Control.Name, sharedData.SelectionObject);
                        acceptExternalSelection.SetSelection(sharedData.SelectionObject);
                        sharedData.SelectionObject = null;
                    }
                    IResultPaneSelectionService resultPaneSelectionService = base.Control as IResultPaneSelectionService;
                    if (resultPaneSelectionService != null && sharedData.SelectedResultPaneName != null)
                    {
                        ExTraceGlobals.ProgramFlowTracer.TraceDebug <string, string>(0L, "ExchangeFormView.OnShow: requesting {0} to select pane {1}.", base.Control.Name, sharedData.SelectedResultPaneName);
                        resultPaneSelectionService.SelectResultPaneByName(sharedData.SelectedResultPaneName);
                        sharedData.SelectedResultPaneName = null;
                    }
                }
                catch (Exception ex)
                {
                    if (ExceptionHelper.IsUICriticalException(ex))
                    {
                        throw;
                    }
                    this.uiService.ShowError(ex);
                }
                if (ExchangeFormView.ViewShown != null)
                {
                    ExchangeFormView.ViewShown(this, EventArgs.Empty);
                }
                this.ResultPane.OnSetActive();
            }
            ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeFormView>(0L, "<--ExchangeFormView.OnShow: {0}", this);
            ExTraceGlobals.ProgramFlowTracer.TracePerformance <ExchangeFormView, string>(0L, "Time:{1}. End Load View. <--ExchangeFormView.OnShow: {0}", this, ExDateTime.Now.ToString("MM/dd/yyyy HH:mm:ss.fff"));
        }
        private void SelectNodeFromCollection(string nodeName, ScopeNodeCollection nodes)
        {
            ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeFormView>(0L, "-->ExchangeFormView.SelectNodeFromCollection: {0}", this);
            ViewSharedData sharedData = this.SharedData;

            if (sharedData != null)
            {
                foreach (object obj in nodes)
                {
                    ScopeNode scopeNode = (ScopeNode)obj;
                    if (scopeNode.LanguageIndependentName == nodeName)
                    {
                        sharedData.CurrentActiveView.SelectScopeNode(scopeNode);
                        break;
                    }
                    if (scopeNode.Children.Count != 0)
                    {
                        this.SelectNodeFromCollection(nodeName, scopeNode.Children);
                    }
                }
            }
            ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeFormView>(0L, "<--ExchangeFormView.SelectNodeFromCollection: {0}", this);
        }