Example #1
0
        // 階層下のOneValを一覧する
        public List <OneVal> GetList(List <OneVal> list)
        {
            if (list == null)
            {
                list = new List <OneVal>();
            }

            if (OneCtrl.GetCtrlType() == CtrlType.Dat)
            {
                list = ((CtrlDat)OneCtrl).ListVal.GetList(list);
            }
            else if (OneCtrl.GetCtrlType() == CtrlType.Group)
            {
                list = ((CtrlGroup)OneCtrl).ListVal.GetList(list);
            }
            else if (OneCtrl.GetCtrlType() == CtrlType.TabPage)
            {
                List <OnePage> pageList = ((CtrlTabPage)OneCtrl).PageList;
                foreach (OnePage onePage in pageList)
                {
                    list = onePage.ListVal.GetList(list);
                }
            }
            list.Add(this);
            return(list);
        }
Example #2
0
 public CtrlOrgMemberDat(string help, ListVal listVal, int height, LangKind langKind)
     : base(help, listVal, height, langKind)
 {
     foreach (var o in listVal)
     {
         if (o.Name == "name")
         {
             _name = o.OneCtrl;
         }
         else if (o.Name == "address")
         {
             _address = o.OneCtrl;
         }
         else if (o.Name == "manager")
         {
             _manager = o.OneCtrl;
         }
         else if (o.Name == "reacer")
         {
             _reacer = o.OneCtrl;
         }
         else if (o.Name == "contributor")
         {
             _contributor = o.OneCtrl;
         }
         else if (o.Name == "pass")
         {
             _pass = o.OneCtrl;
         }
     }
 }
Example #3
0
 public CtrlOrgDat(string help, ListVal listVal, int height, LangKind langKkind)
     : base(help, listVal, height, langKkind)
 {
     foreach (OneVal o in listVal.GetList(null))
     {
         if (o.Name == "type")
         {
             _type = o.OneCtrl;
         }
         else if (o.Name == "name")
         {
             _name = o.OneCtrl;
         }
         else if (o.Name == "alias")
         {
             _alias = o.OneCtrl;
         }
         else if (o.Name == "address")
         {
             _address = o.OneCtrl;
         }
         else if (o.Name == "priority")
         {
             _priority = o.OneCtrl;
         }
     }
 }
Example #4
0
 public CtrlOrgHostDat(string help, ListVal listVal, int height, LangKind langKind)
     : base(help, listVal, height, langKind)
 {
     foreach (var o in listVal)
     {
         if (o.Name == "transferTarget")
         {
             _target = o.OneCtrl;
         }
         else if (o.Name == "transferServer")
         {
             _server = o.OneCtrl;
         }
         else if (o.Name == "transferPort")
         {
             _port = o.OneCtrl;
         }
         else if (o.Name == "transferSmtpAuth")
         {
             _smtpAuth = o.OneCtrl;
         }
         else if (o.Name == "transferUser")
         {
             _user = o.OneCtrl;
         }
         else if (o.Name == "transferPass")
         {
             _pass = o.OneCtrl;
         }
     }
 }
Example #5
0
 public CtrlOrgDat(string help, ListVal listVal, int width, int height, bool jp)
     : base(help, listVal, width, height, jp)
 {
     foreach (var o in listVal.Vals)
     {
         if (o.Name == "target")
         {
             target = o.OneCtrl;
         }
         else if (o.Name == "transfer")
         {
             transfer = o.OneCtrl;
         }
         else if (o.Name == "port")
         {
             port = o.OneCtrl;
         }
         else if (o.Name == "smtpAuth")
         {
             smtpAuth = o.OneCtrl;
         }
         else if (o.Name == "user")
         {
             user = o.OneCtrl;
         }
         else if (o.Name == "pass")
         {
             pass = o.OneCtrl;
         }
     }
 }
Example #6
0
 public CtrlOrg3Dat(string help, ListVal listVal, int width, int height, bool jp)
     : base(help, listVal, width, height, jp)
 {
     foreach (var o in listVal.Vals)
     {
         if (o.Name == "name")
         {
             name = o.OneCtrl;
         }
         else if (o.Name == "address")
         {
             address = o.OneCtrl;
         }
         else if (o.Name == "manager")
         {
             manager = o.OneCtrl;
         }
         else if (o.Name == "reacer")
         {
             reacer = o.OneCtrl;
         }
         else if (o.Name == "contributor")
         {
             contributor = o.OneCtrl;
         }
         else if (o.Name == "pass")
         {
             pass = o.OneCtrl;
         }
     }
 }
Example #7
0
 //入力を完了しているかどうか
 public bool IsComplete()
 {
     foreach (OneVal oneVal in GetList(null))
     {
         if (oneVal != this)
         {
             // 自分自身はループになるので対象外とする
             if (!oneVal.IsComplete())
             {
                 return(false);
             }
         }
     }
     return(OneCtrl.IsComplete());
 }
Example #8
0
        public OneVal(String name, Object value, Crlf crlf, OneCtrl oneCtrl)
        {
            Name    = name;
            Value   = value;
            Crlf    = crlf;
            OneCtrl = oneCtrl;

            oneCtrl.Name = name;

            //*************************************************************
            //仕様上、階層構造をなすOneValの名前は、ユニークである必要がる
            //プログラム作成時に重複を発見できるように、重複があった場合、ここでエラーをポップアップする
            //*************************************************************

            //名前一覧
            var tmp = new List <String>();

            //このlistの中に重複が無いかどうかをまず確認する
            List <OneVal> list = GetList(null);

            foreach (OneVal o in list)
            {
                if (0 <= tmp.IndexOf(o.Name))
                {
                    //名前一覧に重複は無いか
                    Msg.Show(MsgKind.Error, String.Format("OneVal(OnePage)の名前に重複があります {0}", o.Name));
                }
                tmp.Add(o.Name); //名前一覧への蓄積
                //			if (o != this) { // 自分自身は検査対象外とする
                //				if (name.equals(o.getName())) {
                //					Msg.Show(MsgKind.Error, string.Format("OneVal(OnePage)の名前に重複があります %s", name));
                //				}
                //			}
            }
            //CtrlTabPageの場合は、array+ist<OnePage>の重複を確認する
            if (oneCtrl.GetCtrlType() == CtrlType.TabPage)
            {
                foreach (OnePage onePage in ((CtrlTabPage)oneCtrl).PageList)
                {
                    if (0 <= tmp.IndexOf(onePage.Name))
                    {
                        //名前一覧に重複は無いか
                        Msg.Show(MsgKind.Error, string.Format("OneVal(OnePage)の名前に重複があります {0}", onePage.Name));
                    }
                    tmp.Add(onePage.Name);
                }
            }
        }
Example #9
0
        //コントロールからの値のコピー (isComfirm==true 確認のみ)
        public bool ReadCtrl(bool isConfirm)
        {
            Object o = OneCtrl.Read();

            if (o == null)
            {
                if (isConfirm)
                {
                    // 確認だけの場合は、valueへの値セットは行わない
                    Msg.Show(MsgKind.Error, string.Format("データに誤りがあります 「{0}」", OneCtrl.Help));
                }
                return(false);
            }
            Value = o; // 値の読込
            return(true);
        }
Example #10
0
        public CtrlOrgDat(string help, ListVal listVal, int width, int height, LangKind langKind)
            : base(help, listVal, height, langKind)
        {
            foreach (var o in listVal)
            {
                switch (o.Name)
                {
                case "protocol":
                    _protocol = o.OneCtrl;
                    break;

                case "port":
                    _port = o.OneCtrl;
                    break;
                }
            }
        }
Example #11
0
 //Ver5.8.4 Ver5.7.xデータのコンバートバージョン
 //コンバートした場合 return true
 public bool FromRegConv(String str)
 {
     if (str != null)
     {
         switch (OneCtrl.GetCtrlType())
         {
         case CtrlType.ComboBox:
             var n = ((CtrlComboBox)OneCtrl).GetNewVal(str);
             if (n != -1)
             {
                 Value = n;
                 return(true);
             }
             break;
         }
     }
     return(false);
 }
Example #12
0
 public CtrlOrg3Dat(string help, ListVal listVal, int width, int height, bool jp)
     : base(help, listVal, width, height, jp)
 {
     foreach (var o in listVal.Vals) {
         if (o.Name == "name") {
             name = o.OneCtrl;
         } else if (o.Name == "address") {
             address = o.OneCtrl;
         } else if (o.Name == "manager") {
             manager = o.OneCtrl;
         } else if (o.Name == "reacer") {
             reacer = o.OneCtrl;
         } else if (o.Name == "contributor") {
             contributor = o.OneCtrl;
         } else if (o.Name == "pass") {
             pass = o.OneCtrl;
         }
     }
 }
Example #13
0
 public CtrlOrgDat(string help, ListVal listVal, int width, int height, bool jp)
     : base(help, listVal, width, height, jp)
 {
     foreach (var o in listVal.Vals) {
         if (o.Name == "target") {
             target = o.OneCtrl;
         } else if (o.Name == "transfer") {
             transfer = o.OneCtrl;
         } else if (o.Name == "port") {
             port = o.OneCtrl;
         } else if (o.Name == "smtpAuth") {
             smtpAuth = o.OneCtrl;
         } else if (o.Name == "user") {
             user = o.OneCtrl;
         } else if (o.Name == "pass") {
             pass = o.OneCtrl;
         }
     }
 }
Example #14
0
 public CtrlOrgAutoReceptionDat(string help, ListVal listVal, int height, LangKind langKind)
     : base(help, listVal, height, langKind)
 {
     foreach (var o in listVal)
     {
         if (o.Name == "fetchReceptionInterval")
         {
             _receptionInterval = o.OneCtrl;
         }
         else if (o.Name == "fetchServer")
         {
             _server = o.OneCtrl;
         }
         else if (o.Name == "fetchPort")
         {
             _port = o.OneCtrl;
         }
         else if (o.Name == "fetchUser")
         {
             _user = o.OneCtrl;
         }
         else if (o.Name == "fetchPass")
         {
             _pass = o.OneCtrl;
         }
         else if (o.Name == "fetchLocalUser")
         {
             _localUser = o.OneCtrl;
         }
         else if (o.Name == "fetchSynchronize")
         {
             _synchronize = o.OneCtrl;
         }
         else if (o.Name == "fetchTime")
         {
             _time = o.OneCtrl;
         }
     }
 }
Example #15
0
 public CtrlOrg2Dat(string help, ListVal listVal, int width, int height, bool jp)
     : base(help, listVal, width, height, jp)
 {
     foreach (var o in listVal.Vals)
     {
         if (o.Name == "receptionInterval")
         {
             receptionInterval = o.OneCtrl;
         }
         else if (o.Name == "server")
         {
             server = o.OneCtrl;
         }
         else if (o.Name == "port")
         {
             port = o.OneCtrl;
         }
         else if (o.Name == "user")
         {
             user = o.OneCtrl;
         }
         else if (o.Name == "pass")
         {
             pass = o.OneCtrl;
         }
         else if (o.Name == "localUser")
         {
             localUser = o.OneCtrl;
         }
         else if (o.Name == "synchronize")
         {
             synchronize = o.OneCtrl;
         }
         else if (o.Name == "time")
         {
             time = o.OneCtrl;
         }
     }
 }
Example #16
0
 public CtrlOrg2Dat(string help, ListVal listVal, int width, int height, bool jp)
     : base(help, listVal, width, height, jp)
 {
     foreach (var o in listVal.Vals) {
         if (o.Name == "receptionInterval") {
             receptionInterval = o.OneCtrl;
         } else if (o.Name == "server") {
             server = o.OneCtrl;
         } else if (o.Name == "port") {
             port = o.OneCtrl;
         } else if (o.Name == "user") {
             user = o.OneCtrl;
         } else if (o.Name == "pass") {
             pass = o.OneCtrl;
         } else if (o.Name == "localUser") {
             localUser = o.OneCtrl;
         } else if (o.Name == "synchronize") {
             synchronize = o.OneCtrl;
         } else if (o.Name == "time") {
             time = o.OneCtrl;
         }
     }
 }
Example #17
0
 protected void AbstractOnChange(OneCtrl oneCtrl)
 {
 }
Example #18
0
        //public OneCtrl GetOneCtrl() {
        //    return oneCtrl;
        //}

        //public Crlf GetCrlf() {
        //    return crlf;
        //}

        //public Object GetValue() {
        //    return value;
        //}

        //public String GetName() {
        //    return name;
        //}

        //コントロール生成
        public void CreateCtrl(Control mainPanel, int baseX, int baseY, ref int tabIndex)
        {
            OneCtrl.Create(mainPanel, baseX, baseY, Value, ref tabIndex);
            OneCtrl.OnChange += OneCtrl_OnChange;//[C#]
        }
Example #19
0
 //コントロール破棄
 public void DeleteCtrl()
 {
     OneCtrl.OnChange -= OneCtrl_OnChange; //[C#]
     OneCtrl.Delete();
 }
Example #20
0
        //public void setListener(ICtrlEventListener listener) {
        //    for (OneVal oneVal : GetList(null)) {
        //        oneVal.getOneCtrl().setListener(listener);
        //    }
        //}

        //設定ファイル(Option.ini)への出力
        //isSecret=true デバッグ用の設定ファイル出力用(パスワード等を***で表現する)
        public String ToReg(bool isSecret)
        {
            switch (OneCtrl.GetCtrlType())
            {
            case CtrlType.Dat:
                if (Value == null)
                {
                    var d = new Dat(((CtrlDat)OneCtrl).CtrlTypeList);
                    return(d.ToReg(isSecret));
                }
                return(((Dat)Value).ToReg(isSecret));

            case CtrlType.CheckBox:
                return(((bool)Value).ToString().ToLower());

            case CtrlType.Font:
                if (Value != null)
                {
                    var font = (Font)Value;
                    return(string.Format("{0},{1},{2}", font.FontFamily.Name, font.Size, font.Style.ToString()));
                }
                return("");

            case CtrlType.File:
            case CtrlType.Folder:
            case CtrlType.TextBox:
                return((String)Value);

            case CtrlType.Hidden:
                if (isSecret)
                {
                    return("***");
                }
                try{
                    return(Crypt.Encrypt((String)Value));
                }
                catch (Exception) {
                    return("ERROR");
                }

            case CtrlType.Memo:
                return(Util.SwapStr("\r\n", "\t", (string)Value));

            case CtrlType.Radio:
            case CtrlType.ComboBox:
            case CtrlType.Int:
                return(((int)Value).ToString());

            case CtrlType.BindAddr:
                return(Value.ToString());

            case CtrlType.AddressV4:
                return(Value.ToString());

            case CtrlType.TabPage:
            case CtrlType.Group:
                return("");

            default:
                return("");    // "実装されていないCtrlTypeが指定されました OneVal.toReg()"
            }
        }
Example #21
0
        //出力ファイル(Option.ini)からの入力用<br>
        //不正な文字列があった場合は、無効行として無視される<br>
        public bool FromReg(String str)
        {
            if (str == null)
            {
                Value = null;
                return(false);
            }
            switch (OneCtrl.GetCtrlType())
            {
            case CtrlType.Dat:
                CtrlDat ctrlDat = (CtrlDat)OneCtrl;
                Dat     dat     = new Dat(ctrlDat.CtrlTypeList);
                if (!dat.FromReg(str))
                {
                    Value = null;
                    return(false);
                }
                //Ver5.8.7 Java fix Datの中にComboBoxが存在する場合の旧バージョンの変換
                foreach (var d in dat)
                {
                    for (int i = 0; i < ctrlDat.ListVal.Count; i++)
                    {
                        if (ctrlDat.ListVal[i].OneCtrl.GetCtrlType() == CtrlType.ComboBox)
                        {
                            int val;
                            if (!int.TryParse(d.StrList[i], out val))
                            {
                                //Ver5.7.x以前のデータ
                                OneVal dmy = new OneVal("dmy", null, Crlf.Nextline, ctrlDat.ListVal[i].OneCtrl);
                                if (dmy.FromRegConv(d.StrList[i]))
                                {
                                    d.StrList[i] = dmy.ToReg(false);
                                }
                            }
                        }
                    }
                }
                Value = dat;
                break;

            case CtrlType.CheckBox:
                try {
                    Value = Boolean.Parse(str);
                } catch {
                    Value = false;
                    return(false);
                }
                break;

            case CtrlType.Font:
                Value = null;
                var tmp = str.Split(',');
                if (tmp.Length == 3)
                {
                    try{
                        var family = new FontFamily(tmp[0]);
                        var size   = (float)Convert.ToDouble(tmp[1]);
                        var style  = (FontStyle)Enum.Parse(typeof(FontStyle), tmp[2]);
                        Value = new Font(family, size, style);
                    }catch (Exception) {
                        Value = null;
                    }
                }
                if (Value == null)
                {
                    return(false);
                }
                break;

            case CtrlType.Memo:
                Value = Util.SwapStr("\t", "\r\n", str);
                break;

            case CtrlType.File:
            case CtrlType.Folder:
            case CtrlType.TextBox:
                Value = str;
                break;

            case CtrlType.Hidden:
                try{
                    Value = Crypt.Decrypt(str);
                }
                catch (Exception) {
                    Value = "";
                    return(false);
                }
                break;

            case CtrlType.Radio:
                try{
                    Value = Int32.Parse(str);
                }catch (Exception) {
                    Value = 0;
                    return(false);
                }
                if ((int)Value < 0)
                {
                    Value = 0;
                    return(false);
                }
                break;

            case CtrlType.ComboBox:
                int max = ((CtrlComboBox)OneCtrl).Max;
                try {
                    var n = Int32.Parse(str);
                    if (n < 0 || max <= n)
                    {
                        Value = 0;
                        return(false);
                    }
                    Value = n;
                } catch {
                    Value = 0;
                    //Ver5.9.2 Ver5.7.x以前のデータのコンバート
                    OneVal dmy = new OneVal("dmy", null, Crlf.Nextline, OneCtrl);
                    if (dmy.FromRegConv(str))
                    {
                        int n;
                        Int32.TryParse(dmy.ToReg(false), out n);
                        if (n < 0 || max <= n)
                        {
                            Value = 0;
                            return(false);
                        }
                        Value = n;
                    }
                    return(false);
                }
                break;

            case CtrlType.Int:
                try {
                    Value = Int32.Parse(str);
                } catch {
                    Value = 0;
                    return(false);
                }
                break;

            case CtrlType.BindAddr:
                try{
                    Value = new BindAddr(str);
                }
                catch (ValidObjException) {
                    Value = 0;
                    return(false);
                }
                break;

            case CtrlType.AddressV4:
                try{
                    Value = new Ip(str);
                }
                catch (ValidObjException) {
                    Value = null;
                    return(false);
                }
                break;

            case CtrlType.TabPage:
            case CtrlType.Group:
                break;

            default:
                Value = 0;
                return(false);
                // "実装されていないCtrlTypeが指定されました OneVal.fromReg()"
            }
            return(true);
        }
Example #22
0
            //OneValの生成
            //デフォルト値(nullを設定した場合、適切な値を自動でセットする)
            public static OneVal createOneVal(CtrlType ctrlType, Object val)
            {
                Kernel  kernel  = new Kernel();
                string  help    = "help";
                OneCtrl oneCtrl = null;

                switch (ctrlType)
                {
                case CtrlType.CheckBox:
                    if (val == null)
                    {
                        val = true;
                    }
                    oneCtrl = new CtrlCheckBox(help);
                    break;

                case CtrlType.Int:
                    if (val == null)
                    {
                        val = 1;
                    }
                    oneCtrl = new CtrlInt(help, 3);     // 3桁で決め打ち
                    break;

                case CtrlType.File:
                    if (val == null)
                    {
                        val = "1.txt";
                    }
                    oneCtrl = new CtrlFile(help, 200, kernel);
                    break;

                case CtrlType.Folder:
                    if (val == null)
                    {
                        val = "c:\temp";
                    }
                    oneCtrl = new CtrlFolder(help, 200, kernel);
                    break;

                case CtrlType.TextBox:
                    if (val == null)
                    {
                        val = "abc";
                    }
                    oneCtrl = new CtrlTextBox(help, 20);
                    break;

                case CtrlType.Radio:
                    if (val == null)
                    {
                        val = 0;
                    }
                    oneCtrl = new CtrlRadio(help, new string[] { "1", "2", "3" }, 30, 3);
                    break;

                case CtrlType.Font:
                    if (val == null)
                    {
                        val = new Font("MS UI Gothic", 9);
                    }
                    oneCtrl = new CtrlFont(help, LangKind.Jp);
                    break;

                case CtrlType.Memo:
                    if (val == null)
                    {
                        val = "1";
                    }
                    oneCtrl = new CtrlMemo(help, 10, 10);
                    break;

                case CtrlType.Hidden:
                    if (val == null)
                    {
                        val = "";
                    }
                    oneCtrl = new CtrlHidden(help, 30);
                    break;

                case CtrlType.AddressV4:
                    if (val == null)
                    {
                        val = "";
                    }
                    oneCtrl = new CtrlAddress(help);
                    break;

                case CtrlType.BindAddr:
                    if (val == null)
                    {
                        val = "V4ONLY,INADDR_ANY,IN6ADDR_ANY_INIT";
                    }
                    var list = new List <Ip>();
                    try{
                        list.Add(new Ip(IpKind.InAddrAny));
                        list.Add(new Ip("192.168.0.1"));
                    } catch (ValidObjException e) {
                        Assert.Fail(e.Message);
                    }
                    oneCtrl = new CtrlBindAddr(help, list.ToArray(), list.ToArray());
                    break;

                case CtrlType.ComboBox:
                    //listを{"1","2"}で決め打ち

                    if (val == null)
                    {
                        val = 0;
                    }
                    oneCtrl = new CtrlComboBox(help, new string[] { "1", "2" }, 10);
                    break;

                case CtrlType.Dat:
                    //カラムはTEXTBOX×2で決め打ち
                    ListVal listVal = new ListVal();
                    listVal.Add(new OneVal("name1", true, Crlf.Nextline, new CtrlCheckBox("help")));
                    listVal.Add(new OneVal("name2", true, Crlf.Nextline, new CtrlCheckBox("help")));

                    if (val == null)
                    {
                        val = (Dat) new Dat(new CtrlType[] { CtrlType.CheckBox, CtrlType.CheckBox });
                    }

                    oneCtrl = new CtrlDat(help, listVal, 300, LangKind.Jp);
                    break;

                default:
                    // not implement.
                    throw new Exception(ctrlType.ToString());
                }
                return(new OneVal("name", val, Crlf.Nextline, oneCtrl));
            }