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);
            }
        }
 /// <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;
 }
Esempio n. 3
0
 internal void Clear()
 {
     NodeSet.Clear();
     Conditions.Clear();
     Addins.Clear();
 }