Ejemplo n.º 1
0
        internal void OnMouseDown(Point cursorPos)
        {
            int  num   = this.popups.Count - 1;
            bool flag1 = false;

            while (num > -1 && this.popups.Count > 0)
            {
                IPopupControl popup = this.popups[num--];
                bool          flag2 = popup.Bounds.Contains(cursorPos);
                if (!flag1 && !flag2)
                {
                    if (popup.CanClosePopup(RadPopupCloseReason.Mouse))
                    {
                        PopupCloseInfo closeInfo = new PopupCloseInfo(RadPopupCloseReason.Mouse, (object)null);
                        popup.ClosePopup(closeInfo);
                        flag1 = !closeInfo.Closed;
                    }
                    else
                    {
                        flag1 = true;
                    }
                }
                else if (popup.OwnerPopup == null)
                {
                    flag1 = false;
                }
                else if (flag2)
                {
                    flag1 = true;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Removes the provided popup from the popups of the PopupManager and unregisters the message hook
        /// if there are no more popups.
        /// </summary>
        /// <param name="form">The popup to remove.</param>
        public void RemovePopup(IPopupControl form)
        {
            if (popups.Contains(form))
            {
                while (form.Children.Count > 0)
                {
                    IPopupControl child = form.Children[form.Children.Count - 1];

                    child.ClosePopup(RadPopupCloseReason.ParentClosed);
                }

                IPopupControl ownerPopup = form.OwnerPopup;

                if (ownerPopup != null)
                {
                    System.Diagnostics.Debug.Assert(
                        ownerPopup.Children.Contains(form),
                        "Not contained in owner's Children collection!");
                    ownerPopup.Children.Remove(form);
                }

                popups.Remove(form);
            }

            if (popups.Count == 0)
            {
                this.lastActivatedPopup = null;
                RadMessageFilter.Instance.RemoveListener(this);
                this.hooked = false;
            }
            else
            {
                this.lastActivatedPopup = this.popups[this.popups.Count - 1];
            }
        }
Ejemplo n.º 3
0
        protected void CheckMouseDown(Control control, Point mousePosition)
        {
            Control       popup = Popup as Control;
            IPopupControl pc    = Popup;

            if (pc == null || !popup.Created || !popup.Visible || pc.PopupWindow == null || !pc.PopupWindow.Visible)
            {
                return;
            }

            Control parent = GetParent(pc.PopupWindow);

            if (parent.Contains(control) || parent == control || popup == control || popup.Contains(control))
            {
                return;
            }

            if (IsPopupMenu(control))
            {
                return;
            }

            if (!pc.AllowMouseClick(control, mousePosition))
            {
                pc.ClosePopup();
            }
        }
Ejemplo n.º 4
0
        private void AddNewButtonChangeCaption_Popup(object sender, EventArgs e)
        {
            IPopupControl popupControl  = sender as IPopupControl;
            LayoutControl layoutControl = popupControl.PopupWindow.Controls[2].Controls[0] as LayoutControl;
            SimpleButton  AddNewButton  = ((LayoutControlItem)layoutControl.Items.FindByName("lciAddNew")).Control as SimpleButton;

            AddNewButton.Text = "OK";
        }
Ejemplo n.º 5
0
 protected override void OnLostKeyboardFocus(KeyboardFocusChangedEventArgs e) {
     IPopupControl popupMenu = BarManager.GetDXContextMenu(this);
     if(popupMenu != null && popupMenu.IsPopupOpen) {
         e.Handled = true;
         return;
     }
     base.OnLostKeyboardFocus(e);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// searchLookUpEdit_Popup
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void searchLookUpEdit_Popup(object sender, EventArgs e)
        {
            IPopupControl popupControl  = sender as IPopupControl;
            LayoutControl layoutControl = popupControl.PopupWindow.Controls[2].Controls[0] as LayoutControl;
            SimpleButton  AddNewButton  = ((LayoutControlItem)layoutControl.Items.FindByName("lciAddNew")).Control as SimpleButton;

            AddNewButton.Text = "OK";
        }
 public override void PopupClosed(IPopupControl popup)
 {
     FAHookPopup ppp = FindPopup(popup);
     if (ppp != null)
     {
         Popups.Remove(ppp);
         ppp.Dispose();
     }
 }
Ejemplo n.º 8
0
        protected virtual void OnBindingPopupControl(BindPopupControlEventArgs e)
        {
            if (BindPopupControl != null)
            {
                BindPopupControl(this, e);
            }

            bindedControl = e.BindedControl;
        }
        public override void PopupClosed(IPopupControl popup)
        {
            FAHookPopup ppp = FindPopup(popup);

            if (ppp != null)
            {
                Popups.Remove(ppp);
                ppp.Dispose();
            }
        }
Ejemplo n.º 10
0
        protected virtual FAHookPopup FindPopup(IPopupControl popup)
        {
            for (int n = 0; n < Popups.Count; n++)
            {
                FAHookPopup ppp = Popups[n] as FAHookPopup;
                if (ppp.Popup == popup) return ppp;
            }

            return null;
        }
Ejemplo n.º 11
0
        public bool ClosePopup(IPopupControl popup)
        {
            if (!this.ContainsPopup(popup) || !popup.CanClosePopup(RadPopupCloseReason.CloseCalled))
            {
                return(false);
            }
            PopupCloseInfo closeInfo = new PopupCloseInfo(RadPopupCloseReason.CloseCalled, (object)null);

            popup.ClosePopup(closeInfo);
            return(closeInfo.Closed);
        }
        protected virtual FAHookPopup FindPopup(IPopupControl popup)
        {
            for (int n = 0; n < Popups.Count; n++)
            {
                FAHookPopup ppp = Popups[n] as FAHookPopup;
                if (ppp.Popup == popup)
                {
                    return(ppp);
                }
            }

            return(null);
        }
Ejemplo n.º 13
0
 public void AddPopup(IPopupControl form)
 {
     if (!this.popups.Contains(form))
     {
         form.OwnerPopup?.Children.Add(form);
         this.popups.Add(form);
         this.lastActivatedPopup = form;
     }
     if (this.popups.Count <= 0 || this.hooked)
     {
         return;
     }
     RadMessageFilter.Instance.AddListener((IMessageListener)this);
     this.hooked = true;
 }
Ejemplo n.º 14
0
        private void memoExEdit1_Popup(object sender, EventArgs e)
        {
            IPopupControl popup = (IPopupControl)sender;

            for (int i = 0; i < popup.PopupWindow.Controls.Count; i++)
            {
                Control popupItem = popup.PopupWindow.Controls[i];

                if (popupItem is MemoEdit)
                {
                    spellChecker1.SetShowSpellCheckMenu(popupItem, true);
                    spellChecker1.Check(popupItem);
                    break;
                }
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Closes all popups from a leaf to the root.
        /// </summary>
        /// <param name="reason">The reason why popups are closed.</param>
        /// <param name="leaf">The leaf popup from which to start closing the hierarchy.</param>
        public void CloseAllToRoot(RadPopupCloseReason reason, IPopupControl leaf)
        {
            if (leaf.Children.Count > 0)
            {
                throw new InvalidOperationException("The provided IPopupControl is not a leaf");
            }

            bool finished = false;


            if (leaf.CanClosePopup(reason))
            {
                PopupCloseInfo info = new PopupCloseInfo(reason, null);
                leaf.ClosePopup(info);

                if (!info.Closed)
                {
                    return;
                }
            }
            else
            {
                return;
            }

            IPopupControl parent = leaf.OwnerPopup;

            while (!finished)
            {
                if (parent != null && parent.CanClosePopup(reason))
                {
                    PopupCloseInfo info = new PopupCloseInfo(reason, null);
                    parent.ClosePopup(info);

                    if (!info.Closed)
                    {
                        finished = true;
                    }

                    parent = parent.OwnerPopup;
                }
                else
                {
                    finished = true;
                }
            }
        }
Ejemplo n.º 16
0
 public void CloseAll(RadPopupCloseReason reason)
 {
     while (this.popups.Count > 0)
     {
         this.lastActivatedPopup = this.popups[this.popups.Count - 1];
         if (!this.lastActivatedPopup.CanClosePopup(reason))
         {
             return;
         }
         PopupCloseInfo closeInfo = new PopupCloseInfo(reason, (object)null);
         this.lastActivatedPopup.ClosePopup(closeInfo);
         if (!closeInfo.Closed)
         {
             return;
         }
     }
     this.lastActivatedPopup = (IPopupControl)null;
 }
Ejemplo n.º 17
0
        private RadElement GetRootOwnerElement()
        {
            IPopupControl ownerPopup = this.OwnerPopup;

            if (ownerPopup == null)
            {
                return(this.OwnerElement);
            }
            while (ownerPopup != null)
            {
                ownerPopup = ownerPopup.OwnerPopup;
                if (ownerPopup == null)
                {
                    return(this.OwnerElement);
                }
            }
            return((RadElement)null);
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Closes all popups managed by the PopupManager.
        /// </summary>
        /// <param name="reason">Clarification why all popups need to be closed.</param>
        public void CloseAll(RadPopupCloseReason reason)
        {
            while (this.popups.Count > 0)
            {
                this.lastActivatedPopup = this.popups[this.popups.Count - 1];
                if (!this.lastActivatedPopup.CanClosePopup(reason))
                {
                    return;
                }
                PopupCloseInfo info = new PopupCloseInfo(reason, null);
                this.lastActivatedPopup.ClosePopup(info);

                if (!info.Closed)
                {
                    return;
                }
            }

            this.lastActivatedPopup = null;
        }
Ejemplo n.º 19
0
        /// <summary>
        /// This method begins to close all IPopupControl instances
        /// starting from the end of the collection. If a IPopupControl
        /// cannot be closed, the iteration stops and all popups previously added
        /// to the collection will not be closed.
        /// </summary>
        internal void OnMouseDown(Point cursorPos)
        {
            System.Diagnostics.Debug.Assert(this.popups.Count != 0, "Popup count must not be equal to zero when receiving this event!");

            int  i           = this.popups.Count - 1;
            bool blockOwners = false;

            while (i > -1 && this.popups.Count > 0)
            {
                IPopupControl currentPopup  = this.popups[i--];
                bool          containsMouse = currentPopup.Bounds.Contains(cursorPos);

                if (!blockOwners &&
                    !containsMouse)
                {
                    if (currentPopup.CanClosePopup(RadPopupCloseReason.Mouse))
                    {
                        PopupCloseInfo closeInfo = new PopupCloseInfo(RadPopupCloseReason.Mouse, null);
                        currentPopup.ClosePopup(closeInfo);

                        blockOwners = !closeInfo.Closed;
                    }
                    else
                    {
                        blockOwners = true;
                    }
                }
                else
                {
                    if (currentPopup.OwnerPopup == null)
                    {
                        blockOwners = false;
                    }
                    else if (containsMouse)
                    {
                        blockOwners = true;
                    }
                }
            }
        }
Ejemplo n.º 20
0
 public void RemovePopup(IPopupControl form)
 {
     if (this.popups.Contains(form))
     {
         while (form.Children.Count > 0)
         {
             form.Children[form.Children.Count - 1].ClosePopup(RadPopupCloseReason.ParentClosed);
         }
         form.OwnerPopup?.Children.Remove(form);
         this.popups.Remove(form);
     }
     if (this.popups.Count == 0)
     {
         this.lastActivatedPopup = (IPopupControl)null;
         RadMessageFilter.Instance.RemoveListener((IMessageListener)this);
         this.hooked = false;
     }
     else
     {
         this.lastActivatedPopup = this.popups[this.popups.Count - 1];
     }
 }
Ejemplo n.º 21
0
        public void CloseAllToRoot(RadPopupCloseReason reason, IPopupControl leaf)
        {
            if (leaf.Children.Count > 0)
            {
                return;
            }
            bool flag = false;

            if (!leaf.CanClosePopup(reason))
            {
                return;
            }
            PopupCloseInfo closeInfo1 = new PopupCloseInfo(reason, (object)null);

            leaf.ClosePopup(closeInfo1);
            if (!closeInfo1.Closed)
            {
                return;
            }
            IPopupControl ownerPopup = leaf.OwnerPopup;

            while (!flag)
            {
                if (ownerPopup != null && ownerPopup.CanClosePopup(reason))
                {
                    PopupCloseInfo closeInfo2 = new PopupCloseInfo(reason, (object)null);
                    ownerPopup.ClosePopup(closeInfo2);
                    if (!closeInfo2.Closed)
                    {
                        flag = true;
                    }
                    ownerPopup = ownerPopup.OwnerPopup;
                }
                else
                {
                    flag = true;
                }
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Adds a popup form to the popups of the PopupManager and
        /// registers a message hook if the form provided is the first one.
        /// </summary>
        /// <param name="form">The popup to add.</param>
        public void AddPopup(IPopupControl form)
        {
            if (!popups.Contains(form))
            {
                IPopupControl ownerPopup = form.OwnerPopup;

                if (ownerPopup != null)
                {
                    ownerPopup.Children.Add(form);
                }

                popups.Add(form);

                this.lastActivatedPopup = form;
            }

            if (popups.Count > 0 && !this.hooked)
            {
                RadMessageFilter.Instance.AddListener(this);
                this.hooked = true;
            }
        }
Ejemplo n.º 23
0
        private RadElement GetRootOwnerElement()
        {
            IPopupControl currentOwner = this.OwnerPopup;

            if (currentOwner != null)
            {
                while (currentOwner != null)
                {
                    currentOwner = currentOwner.OwnerPopup;

                    if (currentOwner == null)
                    {
                        return(this.OwnerElement);
                    }
                }
            }
            else
            {
                return(this.OwnerElement);
            }

            return(null);
        }
Ejemplo n.º 24
0
        protected virtual void OnBindingPopupControl(BindPopupControlEventArgs e)
        {
            if (BindPopupControl != null)
                BindPopupControl(this, e);

            bindedControl = e.BindedControl;
        }
Ejemplo n.º 25
0
 public virtual void PopupShowing(IPopupControl popup)
 {
 }
Ejemplo n.º 26
0
 public virtual void PopupClosed(IPopupControl popup)
 {
 }
 public virtual void PopupClosed(IPopupControl popup)
 {
 }
Ejemplo n.º 28
0
 public override void PopupShowing(IPopupControl popup)
 {
     Popups.Add(new FAHookPopup(popup));
 }
 public virtual void PopupShowing(IPopupControl popup)
 {
 }
 public override void PopupShowing(IPopupControl popup)
 {
     Popups.Add(new FAHookPopup(popup));
 }
Ejemplo n.º 31
0
 /// <summary>
 /// Checks if the PopupManager monitors the provided popup.
 /// </summary>
 /// <param name="form">The popup to check for.</param>
 /// <returns></returns>
 public bool ContainsPopup(IPopupControl form)
 {
     return(popups.Contains(form));
 }
Ejemplo n.º 32
0
 public FAHookPopup(IPopupControl popup)
 {
     this.popup = popup;
     HookManager.DefaultManager.AddController(this);
 }