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>
        /// 共通部分のデフォルトカラーを取得する
        /// </summary>
        /// <param name="deftype">ベースとなるカラータイプ</param>
        /// <returns>カラーオブジェクト</returns>
        private static BaseColorType getDefaultColor(DefaultColorType deftype)
        {
            BaseColorType type = new BaseColorType();

            switch (deftype)
            {
            case DefaultColorType.Black:
                type.WindowFront         = Color.FromArgb(0xDD, 0xDD, 0xDD);
                type.WindowBack          = Color.FromArgb(0x22, 0x22, 0x22);
                type.SelectTextFront     = Color.FromArgb(0xDD, 0xDD, 0xDD);
                type.SelectTextBack      = Color.FromArgb(0x80, 0x80, 0x80);
                type.VRuler              = Color.FromArgb(0x80, 0x80, 0x80);
                type.InvalidLines        = Color.FromArgb(0x80, 0x00, 0x00);
                type.CaretMarker         = Color.FromArgb(0x80, 0x40, 0x00);
                type.LineNumbersFront    = Color.FromArgb(0xCC, 0xCC, 0xCC);
                type.LineNumbersBack     = Color.FromArgb(0x22, 0x22, 0x22);
                type.FoldLineFront       = Color.FromArgb(0x80, 0x80, 0x80);
                type.FoldLineBack        = Color.White;
                type.FoldMarkerFront     = Color.FromArgb(0x80, 0x80, 0x80);
                type.FoldMarkerBack      = Color.Black;
                type.SelectFoldLineFront = Color.White;
                type.SelectFoldLineBack  = Color.White;
                type.EolMarkers          = Color.FromArgb(0x00, 0x80, 0x80);
                type.SpaceMakers         = Color.FromArgb(0x80, 0x80, 0x80);
                type.TabMarkers          = Color.FromArgb(0x80, 0x80, 0x80);
                type.Digits              = Color.FromArgb(0xDD, 0xDD, 0xDD);
                break;

            case DefaultColorType.White:
            default:
                type.WindowFront         = SystemColors.WindowText;
                type.WindowBack          = SystemColors.Window;
                type.SelectTextFront     = SystemColors.HighlightText;
                type.SelectTextBack      = SystemColors.Highlight;
                type.VRuler              = SystemColors.ControlDark;
                type.InvalidLines        = Color.Red;
                type.CaretMarker         = Color.FromArgb(0xFF, 0xE0, 0xC0);
                type.LineNumbersFront    = Color.Teal;
                type.LineNumbersBack     = SystemColors.Window;
                type.FoldLineFront       = Color.FromArgb(0x80, 0x80, 0x80);
                type.FoldLineBack        = Color.Black;
                type.FoldMarkerFront     = Color.FromArgb(0x80, 0x80, 0x80);
                type.FoldMarkerBack      = Color.White;
                type.SelectFoldLineFront = Color.Black;
                type.SelectFoldLineBack  = Color.Black;
                type.EolMarkers          = Color.Teal;
                type.SpaceMakers         = SystemColors.Control;
                type.TabMarkers          = SystemColors.Control;
                type.Digits              = SystemColors.WindowText;
                break;
            }

            return(type);
        }
Beispiel #3
0
        /// <summary>
        /// TJSファイルのデフォルトカラーオブジェクトを取得する
        /// </summary>
        /// <param name="deftype">ベースとなるカラータイプ</param>
        /// <returns>カラーオブジェクト</returns>
        private static TjsColorType getDefaultTjsColor(DefaultColorType deftype)
        {
            BaseColorType baseType = (BaseColorType)getDefaultColor(deftype);
            TjsColorType  type     = new TjsColorType();

            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(0x00, 0xC0, 0xFF);
                type.String              = Color.FromArgb(0x80, 0xFF, 0x80);
                type.Regexp              = Color.FromArgb(0x80, 0xFF, 0x80);
                type.Octet               = Color.FromArgb(0x80, 0xFF, 0x80);
                type.PreProcessorKeyWord = Color.FromArgb(0xFF, 0xFF, 0x80);
                type.KeyWord             = Color.FromArgb(0xFF, 0x80, 0x80);
                break;

            case DefaultColorType.White:
            default:
                type.Comment             = Color.DarkCyan;
                type.String              = Color.Green;
                type.Regexp              = Color.Green;
                type.Octet               = Color.Green;
                type.PreProcessorKeyWord = Color.Blue;
                type.KeyWord             = Color.Red;
                break;
            }

            return(type);
        }
Beispiel #4
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 #5
0
        /// <summary>
        /// ベースとなるカラーを読み込む
        /// </summary>
        /// <param name="type">設定するカラータイプ</param>
        /// <param name="hs">読み込むカラー情報</param>
        private void loadBaseTypeColor(BaseColorType type, IHighlightingStrategy hs)
        {
            HighlightColor color;

            color            = hs.GetColorFor("Default");
            type.WindowFront = color.Color;
            type.WindowBack  = color.BackgroundColor;

            color = hs.GetColorFor("Selection");
            type.SelectTextFront = color.Color;
            type.SelectTextBack  = color.BackgroundColor;

            color       = hs.GetColorFor("VRuler");
            type.VRuler = color.Color;

            color             = hs.GetColorFor("InvalidLines");
            type.InvalidLines = color.Color;

            color            = hs.GetColorFor("CaretMarker");
            type.CaretMarker = color.Color;

            color = hs.GetColorFor("LineNumbers");
            type.LineNumbersFront = color.Color;
            type.LineNumbersBack  = color.BackgroundColor;

            color = hs.GetColorFor("FoldLine");
            type.FoldLineFront = color.Color;
            type.FoldLineBack  = color.BackgroundColor;

            color = hs.GetColorFor("FoldMarker");
            type.FoldMarkerFront = color.Color;
            type.FoldMarkerBack  = color.BackgroundColor;

            color = hs.GetColorFor("SelectedFoldLine");
            type.SelectFoldLineFront = color.Color;
            type.SelectFoldLineBack  = color.BackgroundColor;

            color           = hs.GetColorFor("EOLMarkers");
            type.EolMarkers = color.Color;

            color            = hs.GetColorFor("SpaceMarkers");
            type.SpaceMakers = color.Color;

            color           = hs.GetColorFor("TabMarkers");
            type.TabMarkers = color.Color;

            color       = ((DefaultHighlightingStrategy)hs).DigitColor;
            type.Digits = color.Color;
        }
Beispiel #6
0
        /// <summary>
        /// カラー設定をファイルに保存する
        /// </summary>
        /// <param name="type"></param>
        /// <param name="colorType"></param>
        public static bool SaveFile(FileType.KrkrType type, BaseColorType colorType)
        {
            string fileName = "";
            string text     = "";

            switch (type)
            {
            case FileType.KrkrType.Kag:
                fileName = ConstEnvOption.KagModeFilePath;
                text     = createKagXshd((KagColorType)colorType);
                break;

            case FileType.KrkrType.Tjs:
                fileName = ConstEnvOption.TjsModeFilePath;
                text     = createTjsXshd((TjsColorType)colorType);
                break;

            default:
                fileName = ConstEnvOption.DefModeFilePath;
                text     = createDefXshd(colorType);
                break;
            }
            if (text == "")
            {
                return(false);
            }

            //ファイルに保存する
            bool         ret = true;
            StreamWriter sw;

            using (sw = new StreamWriter(fileName, false))
            {
                try
                {
                    sw.Write(text);
                }
                catch (Exception err)
                {
                    System.Diagnostics.Debug.WriteLine("カラー設定ファイルの保存に失敗しました: " + err.ToString());
                    ret = false;
                }
            }

            return(ret);
        }
Beispiel #7
0
        /// <summary>
        /// デフォルト強調定義ファイルを作成する
        /// </summary>
        /// <param name="fileName">作成するファイル名</param>
        private static string createDefXshd(BaseColorType colorType)
        {
            string text = "";

            text += String.Format("<?xml version=\"1.0\"?>\n");
            text += String.Format("\n");
            text += String.Format("<!-- syntaxdefinition for Default by PORING SOFT -->\n");
            text += String.Format("<SyntaxDefinition name=\"Default\" extensions=\".*\">\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("    <Digits name=\"Digits\" bold=\"false\" italic=\"false\" color=\"{0}\" />\n", getColorName(colorType.Digits));
            text += String.Format("    \n");

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

            return(text);
        }
Beispiel #8
0
        /// <summary>
        /// デフォルトのカラーオブジェクトを取得する
        /// </summary>
        /// <param name="type">取得したいファイルのタイプ</param>
        /// <param name="deftype">デフォルトカラータイプ</param>
        /// <returns>カラーオブジェクト</returns>
        public static BaseColorType GetDefault(FileType.KrkrType type, DefaultColorType deftype)
        {
            BaseColorType colorType = null;

            switch (type)
            {
            case FileType.KrkrType.Kag:
                colorType = getDefaultKagColor(deftype);
                break;

            case FileType.KrkrType.Tjs:
                colorType = getDefaultTjsColor(deftype);
                break;

            default:
                colorType = getDefaultColor(deftype);
                break;
            }

            return(colorType);
        }