Пример #1
0
        void SavePortLinkGlyph(TextWriter sw, IPortLinkGlyph glyph)
        {
            SaveBounds(sw, "PORTLINK:", glyph);
            IGroupGlyph groupGlyph = glyph as IGroupGlyph;

            foreach (IGlyph contact in groupGlyph.ContactPoints)
            {
                if (contact.Parent != null)
                {
                    sw.WriteLine(contact.Parent.Id);
                }
                else
                {
                    sw.WriteLine("NOPARENT");
                }
            }

            SaveGlyphCommon(sw, glyph);

            IPortLinkGlyph link = glyph;

            SaveText(sw, "NAME", link.Name);
            SaveText(sw, "FROMPORTNAME", link.FromPortName);
            SaveText(sw, "TOPORTNAME", link.ToPortName);
            SaveText(sw, "SENDINDEX", link.SendIndex);
        }
Пример #2
0
        void SaveTransitionGlyph(TextWriter sw, ITransitionGlyph glyph)
        {
            SaveBounds(sw, "TRANSITION:", glyph);
            IGroupGlyph groupGlyph = glyph as IGroupGlyph;

            foreach (IGlyph contact in groupGlyph.ContactPoints)
            {
                if (contact.Parent != null)
                {
                    sw.WriteLine(contact.Parent.Id);
                }
                else
                {
                    sw.WriteLine("NOPARENT");
                }
            }

            SaveGlyphCommon(sw, glyph);

            ITransitionGlyph trans = glyph;

            SaveText(sw, "NAME", trans.Name);
            SaveText(sw, "EVENT", trans.EventSignal);
            SaveText(sw, "GUARD", trans.GuardCondition);
            SaveText(sw, "ACTION", trans.Action);
            SaveText(sw, "TRANSITIONTYPE", trans.TransitionType.ToString());
            SaveText(sw, "EVENTSOURCE", trans.EventSource);
            SaveTextIfNotDefault(sw, "EVENTTYPE", trans.EventType, "");
            SaveText(sw, "EVALUATIONORDERPRIORITY", trans.EvaluationOrderPriority.ToString());
            sw.WriteLine(trans.IsInnerTransition);
            SaveText(sw, "TIMEOUTEXPRESSION", trans.TimeOutExpression);
        }
Пример #3
0
        void BuildStateTransitionParentRelationships()
        {
            foreach (DictionaryEntry de in _EntityLinkRel)
            {
                IGlyph      glyph      = _GlyphLookup [de.Key] as IGlyph;
                StringPair  pair       = de.Value as StringPair;
                IGlyph      parentOne  = _GlyphLookup [pair.One] as IGlyph;
                IGlyph      parentTwo  = _GlyphLookup [pair.Two] as IGlyph;
                IGroupGlyph groupGlyph = glyph as IGroupGlyph;
                int         index      = 0;
                foreach (IGlyph contact in groupGlyph.ContactPoints)
                {
                    switch (index)
                    {
                    case 0:
                    {
                        contact.Parent = parentOne;
                    } break;

                    case 1:
                    {
                        contact.Parent = parentTwo;
                    } break;
                    }
                    index++;
                }
            }
        }
Пример #4
0
 IGlyph InnerFindContactPoint(System.Drawing.Point point, out IGlyph parent)
 {
     parent = null;
     foreach (IGlyph glyph in _Glyphs)
     {
         IGroupGlyph groupGlyph = glyph as IGroupGlyph;
         if (groupGlyph != null)
         {
             foreach (IGlyph contact in groupGlyph.ContactPoints)
             {
                 if (contact.ContainsPoint(point))
                 {
                     parent = groupGlyph;
                     return(contact);
                 }
             }
         }
     }
     return(null);
 }
Пример #5
0
 public void Visit(IGroupGlyph group)
 {
 }
Пример #6
0
 public void Visit(IGroupGlyph group)
 {
 }