protected void AttachEvents()

in src/dotnet/JetBrains.PresentationAssistant/BasePopupWindow.cs [61:81]


        protected void AttachEvents(PopupWindowManager popupWindowManager)
        {
            lifetime.OnTermination(DetachEvents);

            var context = Context;
            if (context != null)
            {
                lifetime.Bracket(() => Layouter = context.CreateLayouter(lifetime), () => Layouter = null);
                Layouter?.Layout.Change.Advise_HasNew(lifetime, OnLayouterResultChanged);

                context.AnyOtherAction += OnContextOwnerAnyActionPerformed;
                context.Scroll += OnContextOwnerScroll;
                context.SelectionChanged += OnContextOwnerSelectionChanged;
                context.Deactivated += OnContextOwnerDeactivated;
                context.EscapePressed += OnContextOwnerEscapePressed;
            }

            AttachWindowEvents();

            popupWindowManager?.PopupWindows.Add(lifetime, this);
        }