Beispiel #1
0
        MethodInfo pAction(string s, ref ssEventCmdOption cmdopt)
        {
            switch (s)
            {
            case "null":
                cmdopt = ssEventCmdOption.none;
                return(null);

            case "ssCmd":
                cmdopt = ssEventCmdOption.exec;
                return(null);

            case "ssCmdPreserveDot":
                cmdopt = ssEventCmdOption.execPreserveDot;
                return(null);

            case "ssCmdBegin":
                cmdopt = ssEventCmdOption.begin;
                return(null);
            }
            s = "Cmd" + s;
            foreach (MethodInfo m in methods)
            {
                if (m.Name == s)
                {
                    return(m);              //(ssAction)m.CreateDelegate(actiontyp, f);
                }
            }
            throw new ssException("error parsing event field 'action' in events file");
        }
Beispiel #2
0
        public ssEventDecoderV2(ssForm f)
        {
            frm = f;
            ssEventCmdOption x = ssEventCmdOption.exec;

            evFile  = "ssEvents.ini";
            keyconv = new KeysConverter();
            methods = Type.GetType("ss.ssForm").GetMethods(
                BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);
            defInsert = pAction("InsertChar", ref x);

            subsets = null;
            if (f == f.Ed.Log.Frm)
            {
                esets = LoadEvents(f, evFile);
            }
            else
            {
                esets = f.Ed.Log.Frm.Evd.esets;
            }
            curset = esets;
            SetEventSet(f.Ed.defs.eventSet);
        }