示例#1
0
        private static void AddTransitions(StateWithTransitionShadow shadow, XmlElement parentElement)
        {
            Table table = shadow.GetTransitions();

            if (table.IsEmpty())
            {
                return;
            }

            XmlElement transitionListElement = CreateElement(parentElement, xmlStrings.TransitionList);

            for (int r = 0; r < table.GetNumRows(); r++)
            {
                XmlElement transitionElement = CreateElement(transitionListElement, xmlStrings.Transition);
                XmlElement conditionElement  = CreateElement(transitionElement, xmlStrings.Condition);
                XmlElement actionElement     = CreateElement(transitionElement, xmlStrings.Action);
                XmlElement gotoElement       = CreateElement(transitionElement, xmlStrings.Goto);

                conditionElement.InnerText = table.GetData(r, (int)TableColumns.Transitions.Condition);
                conditionElement.SetAttribute(xmlStrings.Level, "0");
                actionElement.InnerText = table.GetData(r, (int)TableColumns.Transitions.Action);
                string gotoString = table.GetData(r, (int)TableColumns.Transitions.Goto);
                gotoString            = GetXmlGotoFromData(gotoString);
                gotoElement.InnerText = gotoString;
            }
        }
示例#2
0
        public static void RedoAllHiddenPromptMarkers()
        {
            //the start step has globals and default confirmation prompts that must be modified as well
            Shadow          startStep       = PathMaker.LookupStartShadow();
            ChangeLogShadow changeLogShadow = PathMaker.LookupChangeLogShadow();
            DateTime        triggerDate;

            DateTime.TryParse(Strings.StampFormatChangeDate, out triggerDate);

            //Common.WarningMessage("changeLogShadow.GetLastChangeDate() = " + changeLogShadow.GetLastChangeDate());

            if ((startStep != null) && (changeLogShadow.GetLastChangeDate() <= triggerDate))
            {
                string tmpAlertMsg = "* * * ALERT - CHANGE TRACKING FORMATS WILL BE UPDATED! * * *" +
                                     "\r\n\r\nHidden date stamps will now use version numbers instead." +
                                     "\r\n\r\nThis makes it INCOMPATIBLE with older versions of PathMaker." +
                                     "\r\n\r\nAdd a new Revision History line for this file update process with NO HIGHLIGHT COLOR." +
                                     "  Then select SAVE AS and create a new .VUI file once the table update is complete." +
                                     "  You may then add a new Revision Histroy record to begin documenting your design changes with highlights." +
                                     "  Old colors should be fine if left on during this update process.";

                Common.WarningMessage(tmpAlertMsg);

                //scrub the version stamps in the ChangeLogShadow before any other processing takes place - we do not want any aplhas in the version strings for float comparisons later
                Table   table                = changeLogShadow.GetChangeLog();
                String  lastVersionStamp     = "";
                string  tempScrubbedVer      = "";
                Boolean versionStampsUpdated = false;
                for (int r = 0; r < table.GetNumRows(); r++)
                {
                    lastVersionStamp = table.GetData(r, (int)TableColumns.ChangeLog.Version);
                    tempScrubbedVer  = Common.CleanupVersionLabel(lastVersionStamp);
                    if (!tempScrubbedVer.Equals(lastVersionStamp))
                    {
                        table.SetData(r, (int)TableColumns.ChangeLog.Version, tempScrubbedVer);
                        versionStampsUpdated = true;
                    }
                }
                if (versionStampsUpdated)
                {
                    changeLogShadow.SetChangeLog(table);
                }

                startStep.RedoHiddenDateMarkers();

                List <Shadow> shadowList = PathMaker.LookupAllShadows();
                //JDK added this to update old diagrams with hidden date stamps to new version stamp format
                foreach (Shadow s in shadowList)
                {
                    StateShadow stateShadow = s as StateShadow;
                    if (stateShadow != null && (stateShadow.GetShapeType().Equals(ShapeTypes.Play) || stateShadow.GetShapeType().Equals(ShapeTypes.Interaction)))
                    {
                        stateShadow.RedoHiddenDateMarkers(stateShadow);
                        //Common.WarningMessage("Skipping RedoHiddenDateMarkers");
                    }

                    if (stateShadow != null && (stateShadow.GetShapeType().Equals(ShapeTypes.Decision) || stateShadow.GetShapeType().Equals(ShapeTypes.Data)))
                    {
                        StateWithTransitionShadow stateTranShadow = s as StateWithTransitionShadow;
                        //Common.WarningMessage("Starting RedoHiddenDateMarkers for Decision or Data State:" + stateTranShadow.GetStateId());
                        stateTranShadow.RedoHiddenDateMarkers(stateTranShadow);
                    }
                }
            }
        }
示例#3
0
        private static void AddTransitions(StateWithTransitionShadow shadow, XmlElement parentElement)
        {
            Table table = shadow.GetTransitions();
            if (table.IsEmpty())
                return;

            XmlElement transitionListElement = CreateElement(parentElement, xmlStrings.TransitionList);

            for (int r = 0; r < table.GetNumRows(); r++) {
                XmlElement transitionElement = CreateElement(transitionListElement, xmlStrings.Transition);
                XmlElement conditionElement = CreateElement(transitionElement, xmlStrings.Condition);
                XmlElement actionElement = CreateElement(transitionElement, xmlStrings.Action);
                XmlElement gotoElement = CreateElement(transitionElement, xmlStrings.Goto);

                conditionElement.InnerText = table.GetData(r, (int)TableColumns.Transitions.Condition);
                conditionElement.SetAttribute(xmlStrings.Level, "0");
                actionElement.InnerText = table.GetData(r, (int)TableColumns.Transitions.Action);
                string gotoString = table.GetData(r, (int)TableColumns.Transitions.Goto);
                gotoString = GetXmlGotoFromData(gotoString);
                gotoElement.InnerText = gotoString;
            }
        }