using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace nodokaGuiEdit
{
    public partial class commandWizard : Form
    {
        static public string[] mode_list = { "keymap", "key", "mod", "window", "include", "def option", "def key", "ohter" };
        static string[] mode_name = { "キーマップの設定", "キーバインドの設定", "モディファイヤの設定", "(未実装)ウィンドウの設定", "設定ファイル読み込み", "(未実装)オプション設定", "(未実装)キーの設定", "その他一般" };
        static string[] mods_list = { "Shift", "Ctrl", "Alt", "Win", "IME ON", "IME変換中",
                                      "Mod0", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5", "Mod6", "Mod7", "Mod8", "Mod9",
                                      "Lock0", "Lock1", "Lock2", "Lock3", "Lock4", "Lock5", "Lock6", "Lock7", "Lock8", "Lock9" };
        static string[] mods_text = { "S-", "C-", "A-", "W-", "IL-", "IC-",
                                      "M0-", "M1-","M2-","M3-","M4-","M5-","M6-","M7-","M8-","M9-",
                                      "L0-", "L1-", "L2-", "L3-", "L4-", "L5-", "L6-", "L7-", "L8-", "L9-" };
        static string[] key_cat109 = { "英字", "数字", "記号", "特殊キー", "モディファイヤ", "IME関連", "Fn", "カーソル", "テンキ―" };
        static string[] key_cat104 = { "英字", "数字", "記号", "特殊キー", "モディファイヤ", "Fn", "カーソル", "テンキ―" };
        static string[][] key_109 = {
                                    new[] { "A  ", "B  ", "C  ", "D  ", "E  ", "F  ", "G  ", "H  ", "I  ", "J  ", "K  ", "L  ", "M  ", "N  ", "O  ", "P  ", "Q  ", "R  ", "S  ", "T  ", "U  ", "V  ", "W  ", "X  ", "Y  ", "Z  " },
                                    new[] { "_0  ", "_1  ", "_2  ", "_3  ", "_4  ", "_5  ", "_6  ", "_7  ", "_8  ", "_9  " },
                                    new[] { "Minus -", "Caret ^", "Yen \\", "Atmark @", "OpenBracket [", "CloseBracket ]", "Semicolon ;", "Colon :",
                                            "Space  ", "Comma ,", "Period .", "Slash /", "BackSlash ＼" },
                                    new[] { "Esc  ", "Tab  ", "Enter  ", "Insert  ", "Del  ", "BackSpace  ", "Home  ", "End  ", "PageUp  ", "PageDown  ", "Apps  ", "PrintScreen  ", "Scroll  ", "Pause  ", "SysRq  ", "NumLock  ", "Break  " },
                                    new[] { "LShift  ", "RShift  ", "LCtrl  ", "RCtrl  ", "LAlt  ", "RAlt  ", "LWin  ", "RWin  " }, 
                                    new[] { "半角/全角  ", "英数  ", "無変換  ", "変換  ", "ひらがな  " },
                                    new[] { "F1  ", "F2  ", "F3  ", "F4  ", "F5  ", "F6  ", "F7  ", "F8  ", "F9  ", "F10  ", "F11  ", "F12  " },
                                    new[] { "Up ↑", "Left ←", "Right →", "Down ↓"},
                                    new[] { "Num0  ", "Num1  ", "Num2  ", "Num3  ", "Num4  ", "Num5  ", "Num6  ", "Num7  ", "Num8  ", "Num9  ", "NumMinus -", "NumPlus +", "NumAsterisk *", "NumPeriod .", "NumSlash /", "NumEnter  " },
                                };
        static string[][] key_104 = {
                                    new[] { "A  ", "B  ", "C  ", "D  ", "E  ", "F  ", "G  ", "H  ", "I  ", "J  ", "K  ", "L  ", "M  ", "N  ", "O  ", "P  ", "Q  ", "R  ", "S  ", "T  ", "U  ", "V  ", "W  ", "X  ", "Y  ", "Z  " },
                                    new[] { "_0  ", "_1  ", "_2  ", "_3  ", "_4  ", "_5  ", "_6  ", "_7  ", "_8  ", "_9  "},
                                    new[] { "Minus -", "Equal =", "OpenBracket [", "CloseBracket ]", "Colon :", "Quote '", "Backquote `", 
                                            "Space  ", "Comma ,", "Period .", "Slash /", "BackSlash ＼", },
                                    new[] { "Esc  ", "Tab  ", "Enter  ", "Caps  ", "Insert  ", "Del  ", "BackSpace  ", "Home  ", "End  ", "PageUp  ", "PageDown  ", "Apps  ", "PrintScreen  ", "Scroll  ", "Pause  ", "SysRq  ", "NumLock  ", "Break  " },
                                    new[] { "LShift  ", "RShift  ", "LCtrl  ", "RCtrl  ", "LAlt  ", "RAlt  ", "LWin  ", "RWin  " }, 
                                    new[] { "F1  ", "F2  ", "F3  ", "F4  ", "F5  ", "F6  ", "F7  ", "F8  ", "F9  ", "F10  ", "F11  ", "F12  " },
                                    new[] { "Up ↑", "Left ←", "Right →", "Down ↓"},
                                    new[] { "Num0  ", "Num1  ", "Num2  ", "Num3  ", "Num4  ", "Num5  ", "Num6  ", "Num7  ", "Num8  ", "Num9  ", "NumMinus -", "NumPlus +", "NumAsterisk *", "NumPeriod .", "NumSlash /", "NumEnter  " },
                                };
        static string[] modifier = { "shift", "control", "alt", "windows", "mod0", "mod1", "mod2", "mod3", "mod4", "mod5", "mod6", "mod7", "mod8", "mod9" };
        static string[] modifier_mode_name = { "追加 +", "削除 -", "設定" };
        static string[] modifier_mode = { "+", "-", "" };
        static string[] modifier_cat_name = { "真 !", "OneShot !!", "OneShot R !!!", "無し" };
        static string[] modifier_cat = { "!", "!!", "!!!", "" };
        static string[] keymapGlobal = { "Global" };
        static string[] includeFileList = { "109.nodoka", "104.nodoka", "104on109.nodoka", "109on104.nodoka", "default.nodoka", "default2.nodoka", "emacsedit.nodoka" };

        public class Global_Val
        {
            // グローバル変数の宣言
            static public string caption;
            static public string leftString;
            static public string rightString;
            static public int commandNumber;
            static public bool firstView;
            static public bool reWizardFirst;
            static public string aster;         // *
            static public string left_mod;      // modifier
            static public string left_key;      // key
            static public string right_mod;     // modifier
            static public string right_key;     // key
            static public bool status;          // DialogResult.OKの代わり
        }

    }
}
