/// <summary> /// Establece el controlador digital activo. /// </summary> /// <param name="system">Una instancia de <see cref="OTCSystem"/> que representa el sistema activo.</param> public void SetActiveSystem(OTCSystem system) { foreach (OTCSystem sys in _systems) { sys.IsActive = sys.Equals(system); } }
/// <summary> /// Devuelve una instáncia de <see cref="Controller"/>. /// </summary> /// <param name="system">Una instancia de <see cref="OTCSystem"/> que representa el sistema digital implementado por el controlador.</param> public Controller(OTCSystem system) { _system = system; // Genera una instancia del controlador _controller = new LenzComm(); }
/// <summary> /// Devuelve una instancia de ControlPanelEditor. /// </summary> public PanelEditorControl(OTCLibrary Library, OTCSystem System) { InitializeComponent(); _panel = null; _library = Library; // _system = System; _mode = PanelModes.Empty; Redraw(); }
/// <summary> /// Devuelve una instancia de frmSystemProperties. /// </summary> public frmSystemProperties(OTCSystem system) { InitializeComponent(); _sys = system; _ctrl = system.GetController(); picIcon.Image = _ctrl.Icon; lblName.Text = _ctrl.Name; lblDescription.Text = _ctrl.Description; lblVersion.Text = _ctrl.Version; lblFile.Text = _sys.Filename; lblClass.Text = _sys.Class; ListParams(); }
/// <summary> /// Lee los sistemas desde un fichero de configuración. /// </summary> /// <param name="xmlDoc"> /// Una instancia de <see cref="XmlDocument"/> que representa el documento XML que contiene la configuración. /// </param> private void loadSystems(XmlDocument xmlDoc) { XmlNodeList systems = xmlDoc.GetElementsByTagName(XML_TAG_SYSTEM); foreach (XmlNode sysNode in systems) { OTCSystem system = new OTCSystem(); foreach (XmlAttribute attribute in sysNode.Attributes) { switch (attribute.Name.ToLower()) { case XML_ATTR_NAME: system.Name = attribute.Value; break; case XML_ATTR_FILE: system.Filename = attribute.Value; break; case XML_ATTR_CLASS: system.Class = attribute.Value; break; case XML_ATTR_ACTIVE: system.IsActive = (attribute.Value.Equals("1") ? true : false); break; } } // Obtiene los parámetros de configuración del sistema foreach (XmlNode parameter in sysNode.ChildNodes) { if (parameter.Name.ToLower().Equals(XML_TAG_PARAM)) { OTCSystemParameter param = new OTCSystemParameter(); foreach (XmlAttribute attribute in parameter.Attributes) { switch (attribute.Name.ToLower()) { case XML_ATTR_KEY: param.Key = attribute.Value; break; case XML_ATTR_VALUE: param.Value = attribute.Value; break; } } system.Parameters.Add(param); } } this._systems.Add(system); } }
private void btnRegister_Click(object sender, EventArgs e) { try { FileInfo file = new FileInfo(txtFilename.Text); if (!file.Exists) { throw new Exception("No se encuentra el archivo " + file.FullName); } OTCSystem system = new OTCSystem(); system.Name = (string)lblInfo.Tag; system.Filename = file.Name; system.Class = cboClasses.Text; OTCSystems systems = new OTCSystems(); foreach (OTCSystem regsys in systems.Systems) { if (regsys.Name.Trim().ToLower().Equals(system.Name.Trim().ToLower()) && regsys.Class.Trim().ToLower().Equals(system.Class.Trim().ToLower())) { MessageBox.Show("El controlador seleccionado ya está registrado. Si ha actualizado la librería (archivo DLL) no hace falta volver a registrar el controlador.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } systems.Systems.Add(system); systems.Save(); this.DialogResult = DialogResult.OK; this.Close(); } catch (Exception err) { MessageBox.Show(err.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } }