/// <summary>
        /// Create Tagged Value with 'Name'. It return the TaggedValue
        /// </summary>
        /// <param name="el"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static EA.TaggedValue CreateTaggedValue(EA.Element el, string name)
        {
            EA.TaggedValue tg = Add(el, name);
            tg.Update();

            return(tg);
        }
 /// <summary>
 /// Set Tagged Value with 'Name' to a value. If tagged value doesn't exists a new one is created.
 /// </summary>
 /// <param name="el"></param>
 /// <param name="name"></param>
 /// <param name="value"></param>
 /// <returns></returns>
 public static EA.TaggedValue SetTaggedValue(EA.Element el, string name, string value)
 {
     EA.TaggedValue tg = AddTaggedValue(el, name);
     tg.Value = value;
     tg.Update();
     return(tg);
 }
示例#3
0
        private bool SynchronizeUmlItemTags(UML.Classes.Interfaces.Interface interfaceItem, ref string TagName, ref string TagValue, ref string TagNotes)
        {
            if (HasSterotype(C_ExtStereotypes.funptr, interfaceItem.stereotypes))
            {
                FunptrInterface funptr = new FunptrInterface(interfaceItem);
                string          defaultTypeSynonymsTag = interfaceItem.name;
                EA.Element      eaElem         = (interfaceItem as UTF_EA.ElementWrapper).WrappedElement;
                bool            changedElement = false;

                // Synchronize tagged values
                for (short i = 0; i < eaElem.TaggedValues.Count; ++i)
                {
                    EA.TaggedValue currentTag = eaElem.TaggedValues.GetAt(i) as EA.TaggedValue;
                    bool           changedTag = false;
                    switch (currentTag.Name)
                    {
                    case C_ExtTags.typeSynonyms:
                        if (currentTag.Value != defaultTypeSynonymsTag)
                        {
                            currentTag.Value = defaultTypeSynonymsTag;
                            changedTag       = true;
                        }
                        break;

                    case C_ExtTags.static_:
                        if ((currentTag.Value == "false") &&
                            !((interfaceItem.owner is UML.Classes.Kernel.Class) ||
                              (interfaceItem.owner is UML.Classes.Interfaces.Interface)))
                        {
                            TagValue   = "true";
                            changedTag = true;
                        }
                        break;
                    }
                    if (changedTag)
                    {
                        currentTag.Update();
                        eaElem.TaggedValues.Refresh();
                        changedElement = true;
                    }
                }

                // Synchronize element Alias
                string alias = funptr.GetAliasFromTags(TagName, TagValue);
                if (eaElem.Alias != alias)
                {
                    eaElem.Alias   = alias;
                    changedElement = true;
                }

                if (changedElement)
                {
                    eaElem.Update();
                }
                return(changedElement);
            }

            return(false);
        }
        /// <summary>
        /// Make a memo field out of the current TaggedValue
        /// </summary>
        /// <param name="el"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static EA.TaggedValue MakeMemo(EA.Element el, string name)
        {
            EA.TaggedValue tg    = Add(el, name);
            string         value = tg.Value;

            if (value.ToLower() == MemoString)
            {
                return(tg);
            }
            tg.Value = MemoString;
            tg.Notes = value;
            tg.Update();
            return(tg);
        }
 /// <summary>
 /// Set Tagged Value with 'Name' to a value. It handles long memo fields.
 /// </summary>
 /// <param name="tag"></param>
 /// <param name="value"></param>
 /// <returns></returns>
 public static void SetTaggedValue(EA.TaggedValue tag, string value)
 {
     tag.Value = value.Length > 255 ? MemoString : value;
     tag.Notes = value;
     tag.Update();
 }