Esempio n. 1
0
        void SaveStateTransitionPortGlyph(TextWriter sw, IStateTransitionPortGlyph glyph)
        {
            SaveBounds(sw, "STATETRANSITIONPORT:", glyph);

            SaveGlyphCommon(sw, glyph);

            IStateTransitionPortGlyph port = glyph;

            SaveText(sw, "NAME", port.Name);
            SaveTextIfNotDefault(sw, "ISMULTIPORT", port.IsMultiPort.ToString(), false.ToString());
        }
Esempio n. 2
0
        protected virtual void PrepareGlyphs()
        {
            _Glyphs = (ArrayList)_SourceGlyphs.Clone();
            _Glyphs.Sort(new ConvertToCodeGlyphSorter());

            _States      = new ArrayList();
            _Transitions = new ArrayList();
            _Ports       = new ArrayList();
            foreach (IGlyph glyph in _Glyphs)
            {
                IStateGlyph state = glyph as IStateGlyph;
                if (state != null)
                {
                    _States.Add(state);
                }

                ITransitionGlyph trans = glyph as ITransitionGlyph;
                if (trans != null)
                {
                    _Transitions.Add(trans);
                }

                IStateTransitionPortGlyph port = glyph as IStateTransitionPortGlyph;
                if (port != null)
                {
                    _Ports.Add(port);
                }
            }

            _StatesWithHistoryTransitions = new Hashtable();
            foreach (IStateGlyph state in _States)
            {
                foreach (TransitionInfo info in GetTransitionList(state))
                {
                    if (info.Transition.TransitionType == TransitionType.History)
                    {
                        throw new NotImplementedException("History not yet implemented");
                    }
                    if (info.Transition.TransitionType == TransitionType.DeepHistory)
                    {
                        IStateGlyph historyKeeper = info.ToStateGlyph;
                        if (!_StatesWithHistoryTransitions.Contains(historyKeeper))
                        {
                            _StatesWithHistoryTransitions.Add(historyKeeper, info);
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        void LoadStateTransitionPortGlyph(TextReader sr)
        {
            string id;
            int    X, Y, width, height;

            LoadBounds(sr, out id, out X, out Y, out width, out height);
            IStateTransitionPortGlyph glyph = _Factory.CreateStateTransitionPort(id, new Rectangle(X, Y, width, height));

            LoadGlyphCommon(sr, glyph);

            IStateTransitionPortGlyph port = glyph;

            port.Name = LoadText(sr, "NAME");
            string isMultiPort = LoadText(sr, "ISMULTIPORT", false.ToString());

            port.IsMultiPort = bool.Parse(isMultiPort);

            BlankLine(sr);              // blank line
            _GlyphLookup.Add(id, glyph);
            _Glyphs.Add(glyph);
        }
Esempio n. 4
0
 public void Visit(IStateTransitionPortGlyph port)
 {
     WriteDefaults(port);
     _Writer.WriteElementString("IsMultiPort", port.IsMultiPort.ToString().ToLower());
 }
 public void Visit(IStateTransitionPortGlyph port)
 {
     WriteDefaults (port);
     _Writer.WriteElementString ("IsMultiPort", port.IsMultiPort.ToString ());
 }
        void SaveStateTransitionPortGlyph(TextWriter sw, IStateTransitionPortGlyph glyph)
        {
            SaveBounds (sw, "STATETRANSITIONPORT:", glyph);

            SaveGlyphCommon (sw, glyph);

            IStateTransitionPortGlyph port = glyph;
            SaveText (sw, "NAME", port.Name);
            SaveTextIfNotDefault (sw, "ISMULTIPORT", port.IsMultiPort.ToString (), false.ToString ());
        }