Exemplo n.º 1
0
        // Gets a stateId but... if the shape doesn't have one, it will return
        // an automatically generated one
        internal string GetStateId()
        {
            string stateId = Common.GetCellString(shape, ShapeProperties.StateId);

            if (stateId.Length == 0)
            {
                stateId = BuildStateIdForStorage(StatePrefixAndNumberManager.GetCurrentStateIdPrefix(),
                                                 StatePrefixAndNumberManager.GetNextAvailableNumber(), String.Empty);
            }
            return(stateId);
        }
Exemplo n.º 2
0
        public override void OnShapeExitTextEdit()
        {
            base.OnShapeExitTextEdit();
            string prefix, number, name, errorMessage;
            string newName = StateIdForDisplay(shape.Text);

            DisectStateIdIntoParts(newName, out prefix, out number, out name);

            // always use uppercase prefixes
            prefix = prefix.ToUpper();

            // They can enter anything in the shape text - here we make sure it's a good stateid
            // and, if not, we make it one.
            if (!ValidateStateIdTextBoxStrings(prefix, number, name, out errorMessage))
            {
                if (GetStateId().Length > 0)
                {
                    string oldPrefix, oldNumber, oldName;
                    DisectStateIdIntoParts(GetStateId(), out oldPrefix, out oldNumber, out oldName);
                    newName = oldPrefix.ToUpper() + oldNumber + Strings.StateIdWordDisplayDelimiter + newName;
                }
                else
                {
                    newName = StatePrefixAndNumberManager.GetCurrentStateIdPrefix() +
                              StatePrefixAndNumberManager.GetNextAvailableNumber() + Strings.StateIdWordDisplayDelimiter + newName;
                }
            }
            else
            {
                // make sure we pick up the uppercase prefix
                newName = prefix + number + Strings.StateIdWordDisplayDelimiter + name;
            }

            string oldStateId = GetStateId();
            string newStateId = StateIdForStorage(newName);

            SetStateId(newStateId);
            StartShadow shadowStart = PathMaker.LookupStartShadow();

            if (shadowStart != null && !oldStateId.Equals(newStateId))
            {
                string promptIdFormat = shadowStart.GetDefaultSetting(Strings.DefaultSettingsPromptIDFormat);
                if (promptIdFormat.Equals(Strings.PromptIdFormatFull) || promptIdFormat.Equals(Strings.PromptIdFormatPartial))
                {
                    RedoPromptIds(0, promptIdFormat);
                }
            }
        }