Esempio n. 1
0
        internal void UnmergeExternalData(string thisAddinId, Hashtable addinsToUnmerge)
        {
            NodeSet.UnmergeExternalData(thisAddinId, addinsToUnmerge);

            var todel = new List <ConditionTypeDescription> ();

            foreach (ConditionTypeDescription cond in Conditions)
            {
                if (cond.AddinId != thisAddinId && (addinsToUnmerge == null || addinsToUnmerge.Contains(cond.AddinId)))
                {
                    todel.Add(cond);
                }
            }
            foreach (ConditionTypeDescription cond in todel)
            {
                Conditions.Remove(cond);
            }

            if (addinsToUnmerge == null)
            {
                Addins.Clear();
            }
            else
            {
                foreach (string s in addinsToUnmerge.Keys)
                {
                    Addins.Remove(s);
                }
            }
            if (thisAddinId != null && !Addins.Contains(thisAddinId))
            {
                Addins.Add(thisAddinId);
            }
        }
Esempio n. 2
0
 internal void SetExtensionsAddinId(string addinId)
 {
     NodeSet.SetExtensionsAddinId(addinId);
     foreach (ConditionTypeDescription cond in Conditions)
     {
         cond.AddinId = addinId;
     }
     Addins.Add(addinId);
 }
Esempio n. 3
0
        internal void MergeWith(string thisAddinId, ExtensionPoint ep)
        {
            NodeSet.MergeWith(thisAddinId, ep.NodeSet);

            foreach (ConditionTypeDescription cond in ep.Conditions)
            {
                if (cond.AddinId != thisAddinId && !Conditions.Contains(cond))
                {
                    Conditions.Add(cond);
                }
            }
            foreach (string s in ep.Addins)
            {
                if (!Addins.Contains(s))
                {
                    Addins.Add(s);
                }
            }
        }
 /// <summary>
 /// Copies another extension point.
 /// </summary>
 /// <param name='ep'>
 /// Extension point from which to copy.
 /// </param>
 public void CopyFrom(ExtensionPoint ep)
 {
     path        = ep.path;
     name        = ep.name;
     description = ep.description;
     NodeSet.CopyFrom(ep.NodeSet);
     Conditions.Clear();
     foreach (ConditionTypeDescription cond in ep.Conditions)
     {
         ConditionTypeDescription cc = new ConditionTypeDescription();
         cc.CopyFrom(cond);
         Conditions.Add(cc);
     }
     Addins.Clear();
     foreach (string s in ep.Addins)
     {
         Addins.Add(s);
     }
     rootAddin = ep.rootAddin;
 }