예제 #1
0
        internal bool NotifyChanged(object sender, XObjectChangeEventArgs e)
        {
            bool    notify = false;
            XObject o      = this;

            while (true)
            {
                while (o != null && o.annotations == null)
                {
                    o = o.parent;
                }
                if (o == null)
                {
                    break;
                }
                XObjectChangeAnnotation a = o.Annotation <XObjectChangeAnnotation>();
                if (a != null)
                {
                    notify = true;
                    if (a.changed != null)
                    {
                        a.changed(sender, e);
                    }
                }
                o = o.parent;
            }
            return(notify);
        }
        internal bool NotifyChanged(object sender, XObjectChangeEventArgs e)
        {
            bool    flag   = false;
            XObject parent = this;

            while (true)
            {
                while ((parent != null) && (parent.annotations == null))
                {
                    parent = parent.parent;
                }
                if (parent == null)
                {
                    return(flag);
                }
                XObjectChangeAnnotation annotation = parent.Annotation <XObjectChangeAnnotation>();
                if (annotation != null)
                {
                    flag = true;
                    if (annotation.changed != null)
                    {
                        annotation.changed(sender, e);
                    }
                }
                parent = parent.parent;
            }
        }