Beispiel #1
0
        /// <summary>
        /// ファイルを読み込み画面状態を初期化する
        /// </summary>
        public void loadOption()
        {
            if (m_krkrType == FileType.KrkrType.Kag)
            {
                //カラー設定
                KagColorType          type = new KagColorType();
                IHighlightingStrategy hs   = HighlightingManager.Manager.FindHighlighter("KAG");
                loadBaseTypeColor(type, hs);
                loadKagTypeColor(type, (DefaultHighlightingStrategy)hs);
                colorPropertyGrid.SelectedObject = type;

                //タブ表示切り替え
                optionTabControl.TabPages.Clear();
                optionTabControl.TabPages.Add(colorTabPage);
                optionTabControl.TabPages.Add(fontTabPage);
                optionTabControl.TabPages.Add(showTabPage);
                optionTabControl.TabPages.Add(actionTabPage);
                optionTabControl.TabPages.Add(completeTabPage);
                optionTabControl.TabPages.Add(kag1TabPage);
                optionTabControl.TabPages.Add(kag2TabPage);
                optionTabControl.TabPages.Add(kagex1TabPage);
            }
            else if (m_krkrType == FileType.KrkrType.Tjs)
            {
                TjsColorType          type = new TjsColorType();
                IHighlightingStrategy hs   = HighlightingManager.Manager.FindHighlighter("TJS2");
                loadBaseTypeColor(type, hs);
                loadTjsTypeColor(type, (DefaultHighlightingStrategy)hs);
                colorPropertyGrid.SelectedObject = type;

                //タブ表示切り替え
                optionTabControl.TabPages.Clear();
                optionTabControl.TabPages.Add(colorTabPage);
                optionTabControl.TabPages.Add(fontTabPage);
                optionTabControl.TabPages.Add(showTabPage);
                optionTabControl.TabPages.Add(actionTabPage);
                //optionTabControl.TabPages.Add(completeTabPage);
            }
            else
            {
                BaseColorType         type = new BaseColorType();
                IHighlightingStrategy hs   = HighlightingManager.Manager.FindHighlighter("Default");
                loadBaseTypeColor(type, hs);
                colorPropertyGrid.SelectedObject = type;

                //タブ表示切り替え
                optionTabControl.TabPages.Clear();
                optionTabControl.TabPages.Add(colorTabPage);
                optionTabControl.TabPages.Add(fontTabPage);
                optionTabControl.TabPages.Add(showTabPage);
                optionTabControl.TabPages.Add(actionTabPage);
            }

            //エディタ設定
            EditorOption editorOption = GlobalStatus.EditorManager.GetEditorOption(m_krkrType);

            loadEditorOption(editorOption);
        }
Beispiel #2
0
        /// <summary>
        /// KAG3独自のカラー設定部分を読み込む
        /// </summary>
        /// <param name="type">設定するカラータイプ</param>
        /// <param name="hs">カラー情報</param>
        private void loadKagTypeColor(KagColorType type, DefaultHighlightingStrategy hs)
        {
            HighlightRuleSet rule;
            ArrayList        spanList;

            //デフォルトルールセットから取得する
            rule     = hs.GetRuleSet(null);
            spanList = rule.Spans;
            foreach (Span span in spanList)
            {
                switch (span.Name)
                {
                case "LineComment":
                    type.Comment = span.Color.Color;
                    break;

                case "TJS2Tag":
                    type.TjsScript = span.Color.Color;
                    break;

                case "KAG3Tag":
                    type.TagName = span.Color.Color;
                    break;

                case "KAG3Label":
                    type.Label = span.Color.Color;
                    break;
                }
            }

            //Kag3Tagルールセットから取得する
            rule     = hs.FindHighlightRuleSet("KAG3TagRuleSet");
            spanList = rule.Spans;
            foreach (Span span in spanList)
            {
                switch (span.Name)
                {
                case "String":
                    type.AttributeValue = span.Color.Color;
                    break;
                }
            }

            //プレマークリストから属性名カラーを取得する
            List <PrevMarker> pmList = rule.PrevMarkList;

            if (pmList.Count > 0)
            {
                type.AttributeName = pmList[0].Color.Color;
            }
        }
Beispiel #3
0
        /// <summary>
        /// KAGファイルのデフォルトカラーオブジェクトを取得する
        /// </summary>
        /// <param name="deftype">ベースとなるカラータイプ</param>
        /// <returns>カラーオブジェクト</returns>
        private static KagColorType getDefaultKagColor(DefaultColorType deftype)
        {
            BaseColorType baseType = getDefaultColor(deftype);
            KagColorType  type     = new KagColorType();

            type.WindowFront         = baseType.WindowFront;
            type.WindowBack          = baseType.WindowBack;
            type.SelectTextFront     = baseType.SelectTextFront;
            type.SelectTextBack      = baseType.SelectTextBack;
            type.VRuler              = baseType.VRuler;
            type.InvalidLines        = baseType.InvalidLines;
            type.CaretMarker         = baseType.CaretMarker;
            type.LineNumbersFront    = baseType.LineNumbersFront;
            type.LineNumbersBack     = baseType.LineNumbersBack;
            type.FoldLineFront       = baseType.FoldLineFront;
            type.FoldLineBack        = baseType.FoldLineBack;
            type.FoldMarkerFront     = baseType.FoldMarkerFront;
            type.FoldMarkerBack      = baseType.FoldMarkerBack;
            type.SelectFoldLineFront = baseType.SelectFoldLineFront;
            type.SelectFoldLineBack  = baseType.SelectFoldLineBack;
            type.EolMarkers          = baseType.EolMarkers;
            type.SpaceMakers         = baseType.SpaceMakers;
            type.TabMarkers          = baseType.TabMarkers;
            type.Digits              = baseType.Digits;

            switch (deftype)
            {
            case DefaultColorType.Black:
                type.Comment        = Color.FromArgb(0x64, 0xB1, 0xFF);
                type.TjsScript      = Color.FromArgb(0xDD, 0xDD, 0xDD);
                type.TagName        = Color.FromArgb(0xFF, 0x80, 0x80);
                type.Label          = Color.FromArgb(0x80, 0xFF, 0x00);
                type.AttributeName  = Color.FromArgb(0xC0, 0xC0, 0x40);
                type.AttributeValue = Color.FromArgb(0x00, 0xA4, 0x5F);
                break;

            case DefaultColorType.White:
            default:
                type.Comment        = Color.DarkGreen;
                type.TjsScript      = SystemColors.WindowText;
                type.TagName        = Color.DarkMagenta;
                type.Label          = Color.Green;
                type.AttributeName  = Color.Red;
                type.AttributeValue = Color.Blue;
                break;
            }

            return(type);
        }
Beispiel #4
0
        /// <summary>
        /// KAG強調定義ファイルを作成する
        /// </summary>
        /// <param name="fileName"></param>
        private static string createKagXshd(KagColorType colorType)
        {
            string text = "";

            text += String.Format("<?xml version=\"1.0\"?>\n");
            text += String.Format("\n");
            text += String.Format("<!-- syntaxdefinition for KAG by PORING SOFT -->\n");
            text += String.Format("<SyntaxDefinition name=\"KAG\" extensions=\".ks\">\n");

            //共通部の色設定
            text += String.Format("    <Environment>\n");
            text += String.Format("        <Default      color=\"{0}\" bgcolor=\"{1}\" />\n", getColorName(colorType.WindowFront), getColorName(colorType.WindowBack));
            text += String.Format("        <Selection    color=\"{0}\" bgcolor=\"{1}\" />\n", getColorName(colorType.SelectTextFront), getColorName(colorType.SelectTextBack));
            text += String.Format("        <VRuler       color=\"{0}\" />\n", getColorName(colorType.VRuler));
            text += String.Format("        <InvalidLines color=\"{0}\" />\n", getColorName(colorType.InvalidLines));
            text += String.Format("        <CaretMarker  color=\"{0}\" />\n", getColorName(colorType.CaretMarker));
            text += String.Format("        \n");
            text += String.Format("        <LineNumbers  color=\"{0}\" bgcolor=\"{1}\" />\n", getColorName(colorType.LineNumbersFront), getColorName(colorType.LineNumbersBack));
            text += String.Format("        \n");
            text += String.Format("        <FoldLine     color=\"{0}\" bgcolor=\"{1}\" />\n", getColorName(colorType.FoldLineFront), getColorName(colorType.FoldLineBack));
            text += String.Format("        <FoldMarker   color=\"{0}\" bgcolor=\"{1}\" />\n", getColorName(colorType.FoldMarkerFront), getColorName(colorType.FoldMarkerBack));
            text += String.Format("        <SelectedFoldLine color=\"{0}\" bgcolor=\"{1}\" />\n", getColorName(colorType.SelectFoldLineFront), getColorName(colorType.SelectFoldLineBack));
            text += String.Format("        \n");
            text += String.Format("        <EOLMarkers   color=\"{0}\" />\n", getColorName(colorType.EolMarkers));
            text += String.Format("        <SpaceMarkers color=\"{0}\" />\n", getColorName(colorType.SpaceMakers));
            text += String.Format("        <TabMarkers   color=\"{0}\" />\n", getColorName(colorType.TabMarkers));
            text += String.Format("    </Environment>\n");
            text += String.Format("    \n");

            //プロパティの設定
            text += String.Format("    <Properties>\n");
            text += String.Format("        <Property name=\"LineComment\" value=\";\"/>\n");
            text += String.Format("    </Properties>\n");
            text += String.Format("    \n");

            //数値の色設定
            text += String.Format("    <Digits name=\"Digits\" bold=\"false\" italic=\"false\" color=\"{0}\" />\n", getColorName(colorType.Digits));
            text += String.Format("    \n");

            //KAG3の色設定
            text += String.Format("    <RuleSets>\n");
            text += String.Format("        <RuleSet ignorecase=\"true\" noescapesequences=\"true\">\n");
            text += String.Format("            <Delimiters>=[]@ </Delimiters>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"LineComment\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"true\">\n", getColorName(colorType.Comment));
            text += String.Format("                <Begin>@^;</Begin>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"TJS2Tag\" rule=\"TJS2TagRuleSet\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"false\">\n", getColorName(colorType.TjsScript));
            text += String.Format("                <Begin>[iscript]</Begin>\n");
            text += String.Format("                <End>[endscript]</End>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"TJS2Command\" rule=\"TJS2TagRuleSet\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"false\">\n", getColorName(colorType.TjsScript));
            text += String.Format("                <Begin>@@iscript</Begin>\n");
            text += String.Format("                <End>@@endscript</End>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"KAG3Tag\" rule=\"KAG3TagRuleSet\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"true\">\n", getColorName(colorType.TagName));
            text += String.Format("                <Begin>[</Begin>\n");
            text += String.Format("                <End>]</End>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"KAG3Command\" rule=\"KAG3TagRuleSet\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"true\">\n", getColorName(colorType.TagName));
            text += String.Format("                <Begin>@^@@</Begin>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"KAG3Label\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"true\">\n", getColorName(colorType.Label));
            text += String.Format("                <Begin>@^*</Begin>\n");
            text += String.Format("                <End>|</End>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("        </RuleSet>\n");
            text += String.Format("        \n");
            text += String.Format("        <RuleSet name=\"TJS2TagRuleSet\" reference=\"TJS2\" />\n");
            text += String.Format("        \n");
            text += String.Format("        <RuleSet name=\"KAG3TagRuleSet\" ignorecase=\"false\" noescapesequences=\"true\">\n");
            text += String.Format("            <Delimiters>=</Delimiters>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"String\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"true\">\n", getColorName(colorType.AttributeValue));
            text += String.Format("                <Begin>&quot;</Begin>\n");
            text += String.Format("                <End>&quot;</End>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("            <Span name=\"Char\" bold=\"false\" italic=\"false\" color=\"{0}\" stopateol=\"true\">\n", getColorName(colorType.AttributeValue));
            text += String.Format("                <Begin>&apos;</Begin>\n");
            text += String.Format("                <End>&apos;</End>\n");
            text += String.Format("            </Span>\n");
            text += String.Format("            \n");
            text += String.Format("            <MarkPrevious bold=\"false\" italic=\"false\" color=\"{0}\">=</MarkPrevious>\n", getColorName(colorType.AttributeName));
            text += String.Format("            \n");
            text += String.Format("            <KeyWords name=\"Assignment\" bold=\"false\" italic=\"false\" color=\"{0}\">\n", getColorName(colorType.AttributeValue));
            text += String.Format("                <Key word=\"=\" />\n");
            text += String.Format("            </KeyWords>\n");
            text += String.Format("        </RuleSet>\n");
            text += String.Format("    </RuleSets>\n");

            text += String.Format("</SyntaxDefinition>\n");
            text += String.Format("\n");

            return(text);
        }