Esempio n. 1
0
        private static void ApplyGeneralProperty(string key, string var)
        {
            string val = Evaluate(var);

            switch (key)
            {
            case "menu-language":
                string[] menuItems = val.Split('|');
                for (int i = 2; i < menuItems.Length; i += 3)
                {
                    MenuItemConfig menuItem = new MenuItemConfig();
                    menuItem.Text         = menuItems[i - 2];
                    menuItem.Value        = menuItems[i - 1];
                    menuItem.ShortcutKeys = GetKeys(menuItems[i]);

                    config.LanguageMenuItems.Add(menuItem);
                }
                break;

            case "language-names":
                config.LanguageNames.AddRange(val.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
                break;

            case "extension-languages":
                PropertiesReader.GetKeyValuePairs(val, config.ExtensionLanguages);
                break;

            case "open-filter":
                config.FileOpenFilter = val;
                break;

            case "default-file-ext":
                config.DefaultFileExtention = val;
                break;

            default:
                config.Properties[key] = Evaluate(val);
                break;
            }
        }
Esempio n. 2
0
        private static void ApplyStyle(Lexer lexerType, SortedDictionary <int, ILexerStyle> styles, Queue <string> keyQueue, string var)
        {
            int styleIndex;

            if (keyQueue.Count == 1)
            {
                string strIndex = keyQueue.Dequeue();
                if (!int.TryParse(strIndex, out styleIndex))
                {
                    if (lexerType != Lexer.Null)
                    {
                        object lexStyle = lexerType;
                        styleIndex = (int)lexStyle;
                    }
                    else
                    {
                        styleIndex = 0;
                    }
                }
            }
            else
            {
                styleIndex = 0;
            }

            ILexerStyle style                = new LexerStyle(styleIndex);
            string      styleData            = Evaluate(var);
            Dictionary <string, string> dict = PropertiesReader.GetKeyValuePairs(styleData);

            foreach (string styleKey in dict.Keys)
            {
                styleData = dict[styleKey];
                switch (styleKey)
                {
                case "font":
                    style.FontName = styleData;
                    break;

                case "size":
                    style.FontSize = Convert.ToInt32(styleData);
                    break;

                case "fore":
                    style.ForeColor = ColorTranslator.FromHtml(styleData);
                    break;

                case "back":
                    style.BackColor = ColorTranslator.FromHtml(styleData);
                    break;

                case "italics":
                    style.Italics = true;
                    break;

                case "notitalics":
                    style.Italics = false;
                    break;

                case "bold":
                    style.Bold = true;
                    break;

                case "notbold":
                    style.Bold = false;
                    break;

                case "eolfilled":
                    style.EOLFilled = true;
                    break;

                case "noteolfilled":
                    style.EOLFilled = false;
                    break;

                case "underlined":
                    style.Underline = true;
                    break;

                case "notunderlined":
                    style.Underline = false;
                    break;

                case "case":
                    style.CaseVisibility = ((styleData == "m") ? StyleCase.Mixed : ((styleData == "u") ? StyleCase.Upper : StyleCase.Lower));
                    break;
                }
            }
            styles[styleIndex] = style;
        }