//using System; //using System.Collections.Generic; //using System.ComponentModel; //using System.Drawing; //using System.Data; //using System.Linq; //using System.Text; //using System.Threading.Tasks; //using System.Windows.Forms; //namespace UIControl //{ // public partial class CtlContainer : GroupBox // { // arDev.AjinEXTEK.emu.Emulator.CEmuleDIO devIO; // arDev.AjinEXTEK.Emulator.CEmulMOT devMOT; // public CtlContainer() // { // InitializeComponent(); // } // public void updateControl() // { // updateControl(this.Controls); // } // public void setDevice(arDev.AjinEXTEK.Emulator.CEmuleDIO dio, arDev.AjinEXTEK.Emulator.CEmulMOT mot) // { // this.devIO = dio; // this.devMOT = mot; // } // public void updateControl(System.Windows.Forms.Control.ControlCollection ctl) // { // if (devIO == null && devMOT == null) throw new Exception("디바이스(IO/MOT)가 설정되지 않았습니다"); // foreach (Control c in ctl) // { // if (c.HasChildren) // { // updateControl(c.Controls); // } // else if (c is UIControl.CtlBase) // { // var cc = c as UIControl.CtlBase; // foreach (var pin in cc.PinList) // { // if (pin.PinIndex != -1) // { // if (pin.ValueDirection == UIControl.eValueDirection.input) // { // //io의 값을 컨트롤에 적용해줘야한다 // if (pin.Output) // { // pin.Raw = devIO.Output[pin.PinIndex]; // } // else // { // pin.Raw = devIO.Input[pin.PinIndex]; // } // } // else // { // //컨트롤의 값을 io에 적용해줘야 한다 // if (pin.Output) // { // //devIO.Output[pin.PinIndex] = pin.Value; // devIO.SetOutput(pin.PinIndex, pin.Value); // } // else // { // // devIO.Input[pin.PinIndex] = pin.Value; // devIO.SetInput(pin.PinIndex, pin.Value); // } // } // } // } // cc.UpdateValue(); // cc.Invalidate(); // } // } // } // } //}