AddReference() public method

public AddReference ( WarpSourceData data ) : void
data WarpSourceData
return void
コード例 #1
0
        public WarpSourceData(Project p, string command, IEnumerable <string> values,
                              FileParser parser, IList <int> spacing)
            : base(p, command, values, -1, parser, spacing)
        {
            // Find type
            for (int i = 0; i < WarpCommands.Length; i++)
            {
                string s = WarpCommands[i];
                if (this.CommandLowerCase == s.ToLower())
                {
                    _type = (WarpSourceType)i;
                    break;
                }
            }

            SetValueReferences(warpValueReferences[(int)WarpSourceType]);

            referencedDestData = GetReferencedDestData();
            if (referencedDestData != null)
            {
                referencedDestData.AddReference(this);
            }

            this.AddDataModifiedHandler(delegate(object sender, EventArgs e) {
                WarpDestData newDestData = GetReferencedDestData();
                if (newDestData != referencedDestData)
                {
                    // Update DestData reference
                    if (referencedDestData != null)
                    {
                        referencedDestData.RemoveReference(this);
                    }
                    referencedDestData = newDestData;
                    if (newDestData != null)
                    {
                        newDestData.AddReference(this);
                    }
                }
            });
        }
コード例 #2
0
ファイル: WarpSourceData.cs プロジェクト: Drenn1/LynnaLab
        public WarpSourceData(Project p, string command, IEnumerable<string> values,
                FileParser parser, IList<int> spacing)
            : base(p, command, values, -1, parser, spacing)
        {
            // Find type
            for (int i=0; i<WarpCommands.Length; i++) {
                string s = WarpCommands[i];
                if (this.CommandLowerCase == s.ToLower()) {
                    _type = (WarpSourceType)i;
                    break;
                }
            }

            SetValueReferences(warpValueReferences[(int)WarpSourceType]);

            referencedDestData = GetReferencedDestData();
            if (referencedDestData != null)
                referencedDestData.AddReference(this);

            this.AddDataModifiedHandler(delegate(object sender, EventArgs e) {
                WarpDestData newDestData = GetReferencedDestData();
                if (newDestData != referencedDestData) {
                    // Update DestData reference
                    if (referencedDestData != null)
                        referencedDestData.RemoveReference(this);
                    referencedDestData = newDestData;
                    if (newDestData != null)
                        newDestData.AddReference(this);
                }
            });
        }