public void SetData(JControlOutputData comdata, JControlOutputData adadata, string f1, string f2) { if (comdata != null) { Communicator = JWCCommunicatorFactory.CreateCommunicator(f1); Communicator.InputProperty(comdata); } if (adadata != null) { Adapter = JWCCommunicatorFactory.CreateAdapter(f2); Adapter.InputProperty(adadata); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { SetRunFilePath(); if (!System.IO.File.Exists(Filepath)) { return; } JWCSerializer <JWCSaveFile> jse = new JWCSerializer <JWCSaveFile>(); JWCSaveFile file = jse.Deserialize(this.Filepath); Color cl = Color.FromArgb(file.BackColor[0], file.BackColor[1], file.BackColor[2], file.BackColor[3]); Communicator = JWCCommunicatorFactory.CreateCommunicator(file.ComName); if (Communicator == null) { MessageBox.Show("创建通信器失败!这可能是由于没有导入相关插件导致的。", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.Close(); return; } Communicator.InputProperty(file.Communicator); Adaptor = JWCCommunicatorFactory.CreateAdapter(file.AdaName); if (Adaptor == null) { MessageBox.Show("创建适配器失败!这可能是由于没有导入相关插件导致的。", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.Close(); return; } Adaptor.InputProperty(file.ComAdapter); Adaptor.SetCommunicator(Communicator); foreach (var s in file.AllControls) { string fullname = s["FullName"].ToString(); JWCControl jc = JWCControlFactory.CreateInstance(fullname); if (jc == null) { MessageBox.Show("读入控件失败!这可能是由于没有导入相关插件导致的。", "错误", MessageBoxButton.OK, MessageBoxImage.Error); this.Close(); return; } jc.InputProperty(s); jc.IsEditMode = false; jc.Init(false); jc.Parent = grid_main; grid_main.Children.Add(jc); IDataSender se = jc as IDataSender; if (se != null) { Adaptor.AppendSender(se); } IDataReceiver re = jc as IDataReceiver; if (re != null) { Adaptor.AppendReceiver(re); } } this.Height = grid_main.Height = file.Height; this.Width = grid_main.Width = file.Width; SetBg(file.BgUsePic, cl, file.BackGroundPic); Communicator.Initialization(); Adaptor.Initialization(); Communicator.Start(); }