示例#1
0
        private void ModifySelected(IEnumerable <object> selection)
        {
            Beginning.Raise(this, EventArgs.Empty);

            foreach (var obj in selection)
            {
                var data = obj.As <DataItem>();
                if (data == null)
                {
                    continue;
                }

                switch (data.Type)
                {
                case DataType.Integer:
                    data.Value = (int)data.Value + s_random.Next(2, 6);
                    break;

                case DataType.String:
                    data.Value = string.Format("{0}{1}", data.Value, Alphabet[s_random.Next(0, Alphabet.Length)]);
                    break;
                }

                ItemChanged.Raise(this, new ItemChangedEventArgs <object>(data));
            }

            Ending.Raise(this, EventArgs.Empty);
            Ended.Raise(this, EventArgs.Empty);
        }
示例#2
0
 void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
 {
     if (IsLayerItem(e.DomNode))
     {
         ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
     }
 }
示例#3
0
        private void GenerateFlat(DataItem parent)
        {
            Beginning.Raise(this, EventArgs.Empty);

            var items = s_random.Next(5, 16);

            for (var i = 0; i < items; i++)
            {
                var data = CreateItem(parent);
                data.ItemChanged += DataItemChanged;

                if (parent != null)
                {
                    parent.Children.Add(data);
                }
                else
                {
                    m_data.Add(data);
                }

                ItemInserted.Raise(this, new ItemInsertedEventArgs <object>(-1, data, parent));
            }

            if (parent != null)
            {
                ItemChanged.Raise(this, new ItemChangedEventArgs <object>(parent));
            }

            Ending.Raise(this, EventArgs.Empty);
            Ended.Raise(this, EventArgs.Empty);
        }
示例#4
0
 private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
 {
     if (IsPrototypeItem(e.DomNode, e.DomNode.Parent))
     {
         ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
     }
 }
        /// <summary>
        /// Performs initialization when the adapter's node is set.
        /// Subscribes to events for DomNode tree changes and raises Reloaded event.</summary>
        protected override void OnNodeSet()
        {
            DomNode.AttributeChanged += (sender, e) => ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
            DomNode.ChildInserted    += (sender, e) => ItemInserted.Raise(this, new ItemInsertedEventArgs <object>(e.Index, e.Child, e.Parent));
            DomNode.ChildRemoved     += (sender, e) => ItemRemoved.Raise(this, new ItemRemovedEventArgs <object>(e.Index, e.Child, e.Parent));

            Reloaded.Raise(this, EventArgs.Empty);
            base.OnNodeSet();
        }
示例#6
0
        private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
        {
            Character character = e.DomNode.As <Character>();

            if (character != null)
            {
                ItemChanged.Raise(this, new ItemChangedEventArgs <object>(character));
            }
        }
示例#7
0
        private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
        {
            Event _event = e.DomNode.As <Event>();

            if (_event != null)
            {
                ItemChanged.Raise(this, new ItemChangedEventArgs <object>(_event));
            }
        }
示例#8
0
文件: EventContext.cs 项目: zparr/ATF
        private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
        {
            Resource resource = e.DomNode.As <Resource>();

            if (resource != null)
            {
                ItemChanged.Raise(this, new ItemChangedEventArgs <object>(resource));
            }
        }
示例#9
0
        private void DomNodeAttributeChanged(object sender, AttributeEventArgs e)
        {
            if (!e.DomNode.Is <SledLuaStateType>())
            {
                return;
            }

            ItemChanged.Raise(
                this,
                new ItemChangedEventArgs <object>(e.DomNode.As <SledLuaStateType>()));
        }
示例#10
0
        protected virtual void OnDomNodeAttributeChanged(object sender, AttributeEventArgs e)
        {
            if (!e.DomNode.Is <T>())
            {
                return;
            }

            ItemChanged.Raise(
                this,
                new ItemChangedEventArgs <object>(e.DomNode.As <T>()));
        }
示例#11
0
 private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
 {
     if (!IsHandledType(e.DomNode))
     {
         return;
     }
     if (!InTransaction)
     {
         return;
     }
     ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
     if (!IsMasterContext)
     {
         MasterContext.DomNode_AttributeChanged(sender, e);
     }
 }
示例#12
0
        private void root_AttributeChanged(object sender, AttributeEventArgs e)
        {
            ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));

            // because references use the name of the referenced item as their label, we should
            //  update all references to this DomNode. Fortunately, we can use the ReferenceValidator
            //  which is attached to this (root) node to get all the references.

            if (e.AttributeInfo.Equivalent(UISchema.UIObjectType.nameAttribute))
            {
                ReferenceValidator validator = this.As <ReferenceValidator>();
                //foreach (Pair<DomNode, AttributeInfo> reference in validator.GetReferences(e.DomNode))
                //{
                //    if ((reference.First.Type == UISchema.UIRefType.Type) &&
                //        (reference.Second.Equivalent(UISchema.UIRefType.refAttribute)))
                //    {
                //        ItemChanged.Raise(this, new ItemChangedEventArgs<object>(reference.First));
                //    }
                //}
            }
        }
示例#13
0
        /// <summary>
        /// Performs custom actions on AttributeChanged events</summary>
        /// <param name="sender">Event sender</param>
        /// <param name="e">AttributeEventArgs containing event data</param>
        void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
        {
            // Always use the Equivalent method when comparing two AttributeInfos
            // because using simple equality (==) doesn't respect inheritance
            // i.e. (Schema.baseType.someAttribute == Schema.derivedType.someAttribute) returns false
            // whereas (Schema.baseType.someAttribue.Equivalent(Schema.derivedType.someAttribute)) returns true
            if (e.AttributeInfo.Equivalent(VisibleAttribute))
            {
                // Update the checkbox for the current object
                ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));

                // Update checkboxes for all layers that may contain the current object
                foreach (DomNode domNode in DomNode.Subtree)
                {
                    if (IsLayerItem(domNode))
                    {
                        ItemChanged.Raise(this, new ItemChangedEventArgs <object>(domNode));
                    }
                }
            }
        }
示例#14
0
        private void GenerateHierarchical(DataItem parent)
        {
            DataItem root       = null;
            var      tempParent = parent;

            var items = s_random.Next(3, 10);

            for (var i = 0; i < items; i++)
            {
                var data = CreateItem(tempParent);
                data.ItemChanged += DataItemChanged;

                if (root == null)
                {
                    root = data;
                }

                if (tempParent == null)
                {
                    m_data.Add(data);
                }
                else
                {
                    tempParent.Children.Add(data);
                }

                tempParent = data;
            }

            ItemInserted.Raise(this, new ItemInsertedEventArgs <object>(-1, root, parent));

            if (parent != null)
            {
                ItemChanged.Raise(this, new ItemChangedEventArgs <object>(parent));
            }
        }
示例#15
0
            /// <summary>
            /// Sets the value of the component to a different value</summary>
            /// <param name="component">Component with the property value that is to be set</param>
            /// <param name="value">New value</param>
            public override void SetValue(object component, object value)
            {
                m_property.SetValue(component, value, null);

                ItemChanged.Raise(component, EventArgs.Empty);
            }
示例#16
0
 /// <summary>
 /// Explicitly notify that the graph object has been changed. This is useful when some changes,
 /// such as group pin connectivity, are computed at runtime, outside the DOM attribute mechanism.</summary>
 /// <param name="element">Changed graph object</param>
 public void NotifyObjectChanged(object element)
 {
     ItemChanged.Raise(this, new ItemChangedEventArgs <object>(element));
 }
示例#17
0
 private void root_AttributeChanged(object sender, AttributeEventArgs e)
 {
     ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
 }
示例#18
0
        private void DataItemChanged(object sender, EventArgs e)
        {
            var data = (DataItem)sender;

            ItemChanged.Raise(this, new ItemChangedEventArgs <object>(data));
        }
示例#19
0
 /// <summary>
 /// Raises the ItemChanged event and performs custom processing</summary>
 /// <param name="e">ItemChangedEventArgs containing event data</param>
 protected virtual void OnObjectChanged(ItemChangedEventArgs <object> e)
 {
     ItemChanged.Raise(this, e);
 }
示例#20
0
 private void PropertyDescItemChanged(object sender, EventArgs e)
 {
     ItemChanged.Raise(this, EventArgs.Empty);
 }
示例#21
0
 private void root_AttributeChanged(object sender, AttributeEventArgs e)
 {
     ItemChanged.Raise(this, new ItemChangedEventArgs <object>(e.DomNode));
     m_root.As <SceneDocument>().Dirty = true;
 }