示例#1
0
 internal void Set(ForcedEventData forced, double x1, double y1, double x2, double y2)
 {
     this.forced = forced;
     this.x1     = x1;
     this.y1     = y1;
     this.x2     = x2;
     this.y2     = y2;
     object[] o = forced.Initial;
     control.MouseEvent += control_MouseEvent;
     data = forced.Data;
 }
示例#2
0
        /// <summary>
        /// Gets inputs
        /// </summary>
        /// <param names="names">Input names</param>
        /// <returns>Inputs</returns>
        public override Action <object[]> GetInput(string[] names)
        {
            string s = names[0].Substring(0, names[0].LastIndexOf('.'));

            for (int i = 1; i < names.Length; i++)
            {
                if (!s.Equals(names[i].Substring(0, names[1].LastIndexOf('.'))))
                {
                    throw new Exception("Different sources");
                }
            }
            ForcedEventData f = desktop.GetObject <ForcedEventData>(s);

            s += ".";
            List <Tuple <string, object> > l = f.Types;
            List <int>    li = new List <int>();
            List <string> ln = new List <string>();

            for (int i = 0; i < l.Count; i++)
            {
                string ts = l[i].Item1;
                ln.Add(s + ts);
            }
            List <int> lin = new List <int>();

            foreach (string name in names)
            {
                lin.Add(ln.IndexOf(name));
            }
            int[] indx = lin.ToArray();
            return((object[] o) =>
            {
                object[] data = f.Data;
                for (int i = 0; i < o.Length; i++)
                {
                    data[indx[i]] = o[i];
                }
                f.Force();
            });
        }