Exemplo n.º 1
0
        /// <summary>
        /// Parameters to inline representation
        /// </summary>
        /// <param name="format">The format.</param>
        /// <returns></returns>
        public String ToString(styleFormat format = styleFormat.notSet)
        {
            if (format == styleFormat.notSet)
            {
                format = mainFormat;
            }
            StringBuilder sb         = new StringBuilder();
            String        formatLine = GetPairFormat(format);

            foreach (var pair in parameters)
            {
                sb.AppendFormat(formatLine, pair.Key, pair.Value);
            }
            return(sb.ToString());
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the entry splitter.
        /// </summary>
        /// <param name="format">The format.</param>
        /// <returns></returns>
        public static String GetEntrySplitter(styleFormat format)
        {
            switch (format)
            {
            default:
            case styleFormat.htmlStyleFormat:
            case styleFormat.mxGraphStyleFormat:
                return(";");

                break;

            case styleFormat.xmlAttribute:
                return("");

                break;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Gets the pair format.
        /// </summary>
        /// <param name="format">The format.</param>
        /// <returns></returns>
        public static String GetPairFormat(styleFormat format)
        {
            switch (format)
            {
            default:
            case styleFormat.htmlStyleFormat:
                return("{0}:{1};");

            case styleFormat.mxGraphStyleFormat:
                return("{0}={1};");

                break;

            case styleFormat.xmlAttribute:
                return("{0}=\"{1}\" ");

                break;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Gets the pair regex.
        /// </summary>
        /// <param name="format">The format.</param>
        /// <returns></returns>
        public static Regex GetPairRegex(styleFormat format)
        {
            switch (format)
            {
            default:
            case styleFormat.xmlAttribute:
                return(REGEX_XmlAttribute);

                break;

            case styleFormat.htmlStyleFormat:
                return(REGEX_HTMLSTYLE);

                break;

            case styleFormat.mxGraphStyleFormat:
                return(REGEX_XMGRAPH);

                break;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Populates parameters from inline string values, given in <see cref="styleFormat"/>
        /// </summary>
        /// <param name="input">The input.</param>
        /// <param name="format">The format.</param>
        public void fromString(String input, styleFormat format = styleFormat.notSet)
        {
            if (format == styleFormat.notSet)
            {
                format = mainFormat;
            }

            if (USE_REGEX_FROMSTRING)
            {
                var             rx  = GetPairRegex(format);
                MatchCollection mch = rx.Matches(input);

                foreach (Match m in mch)
                {
                    if (m.Success)
                    {
                        Set(m.Groups[1].Value, m.Groups[2].Value);
                    }
                }
            }
            else
            {
                var entries = input.SplitSmart(GetEntrySplitter(format), "", true, true);
                foreach (var n in entries)
                {
                    var pair = n.SplitSmart(GetKeyValueSplitter(format), "", true, true);
                    if (parameters.ContainsKey(pair[0]))
                    {
                        parameters[pair[0]] = pair[1];
                    }
                    else
                    {
                        parameters.Add(pair[0], pair[1]);
                    }
                }
            }
        }
Exemplo n.º 6
0
 public inlineDictionary(styleFormat format)
 {
     mainFormat = format;
 }