private void menuToggleBit_Click(object sender, EventArgs e) { ((EnderecamentoLadder)controleSelecionado.getOperandos(0)).Valor = ((EnderecamentoLadder)controleSelecionado.getOperandos(0)).Valor == true ? false : true; linkProjeto.programa.ExecutaLadderSimulado(); this.Invalidate(true); }
public void ControleSelecionado_SolicitaMudarEndereco(ControleLivre sender, Rectangle rect, Type tipo, int valorMax, int valorMin, params object[] faixa) { AlteraTemporizadorContador Altera = new AlteraTemporizadorContador(sender.getCI()); if (sender.getOperandos(0) == null) { MessageBox.Show("Favor selecionar um endereço primeiro", "Alterar configuração", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } switch (sender.getCI()) { case CodigosInterpretaveis.TEMPORIZADOR: Altera.Tipo = (Int32)((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Tipo; Altera.Preset = (Int32)((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Preset; Altera.Acumulado = (Int32)((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Acumulado; Altera.BaseTempo = (Int32)((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.BaseTempo; break; case CodigosInterpretaveis.CONTADOR: Altera.Tipo = (Int32)((EnderecamentoLadder)sender.getOperandos(0)).Contador.Tipo; Altera.Preset = (Int32)((EnderecamentoLadder)sender.getOperandos(0)).Contador.Preset; Altera.Acumulado = (Int32)((EnderecamentoLadder)sender.getOperandos(0)).Contador.Acumulado; break; default: break; } DialogResult _result = Altera.ShowDialog(); if (_result == DialogResult.OK) { /// mantem os parametros do ci atualizados sender.setOperando(1, Altera.Tipo); sender.setOperando(2, Altera.Preset); sender.setOperando(3, Altera.Acumulado); switch (sender.getCI()) { case CodigosInterpretaveis.TEMPORIZADOR: /// mantem os parametros do ci atualizados sender.setOperando(4, Altera.BaseTempo); ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Tipo = Altera.Tipo; ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Preset = Altera.Preset; ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Acumulado = Altera.Acumulado; ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.BaseTempo = Altera.BaseTempo; sender.setOperando(1, ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Tipo); sender.setOperando(2, ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Preset); sender.setOperando(3, ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.Acumulado); sender.setOperando(4, ((EnderecamentoLadder)sender.getOperandos(0)).Temporizador.BaseTempo); break; case CodigosInterpretaveis.CONTADOR: ((EnderecamentoLadder)sender.getOperandos(0)).Contador.Tipo = Altera.Tipo; ((EnderecamentoLadder)sender.getOperandos(0)).Contador.Preset = Altera.Preset; ((EnderecamentoLadder)sender.getOperandos(0)).Contador.Acumulado = Altera.Acumulado; sender.setOperando(1, ((EnderecamentoLadder)sender.getOperandos(0)).Contador.Tipo); sender.setOperando(2, ((EnderecamentoLadder)sender.getOperandos(0)).Contador.Preset); sender.setOperando(3, ((EnderecamentoLadder)sender.getOperandos(0)).Contador.Acumulado); break; default: break; } sender.Invalidate(); } }
void Simbolo_Click(object sender, MouseEventArgs e) { ControleLivre _cL = (ControleLivre)sender; CodigosInterpretaveis _cI = _cL.getCI(); ProjetoLadder _frmPL; _frmPL = frmDiag.linkProjeto; if (e.Button == MouseButtons.Right) { if (_cI != CodigosInterpretaveis.INICIO_DA_LINHA) { frmDiag.menuInsereLinha.Enabled = false; frmDiag.menuToggleBit.Enabled = false; if (_cI == CodigosInterpretaveis.PARALELO_INICIAL || _cI == CodigosInterpretaveis.PARALELO_FINAL || _cI == CodigosInterpretaveis.PARALELO_PROXIMO) { frmDiag.menuEnderecamento.Enabled = false; frmDiag.menuEnderecamento.Visible = false; /// Extensao de paralelo - acima/abaixo /// somente sobre simbolos de paralelo frmDiag.menuEstenderParaleloAcima.Enabled = true; frmDiag.menuEstenderParaleloAcima.Visible = true; frmDiag.menuEstenderParaleloAbaixo.Enabled = true; frmDiag.menuEstenderParaleloAbaixo.Visible = true; } else { frmDiag.menuEnderecamento.Enabled = true; frmDiag.menuEnderecamento.Visible = true; if (_cL.getOperandos(0) != null) { frmDiag.menuToggleBit.Enabled = true; } else { frmDiag.menuToggleBit.Enabled = false; } TreeNode _NoEnderecamento = _frmPL.ArvoreProjeto.Nodes["NoProjeto"].Nodes["NoEnderecamento"]; ToolStripMenuItem _mnu = null; //ToolStripMenuItem _mnuSub = null; foreach (TreeNode _NoEnd in _NoEnderecamento.Nodes) { //_mnu = new ToolStripMenuItem(_end.Nome); switch (_NoEnd.Text) { case "Memoria": _mnu = frmDiag.menuMemoria; break; case "Temporizadores": _mnu = frmDiag.menuTemporizador; break; case "Contadores": _mnu = frmDiag.menuContador; break; case "Entradas": _mnu = frmDiag.menuEntrada; break; case "Saidas": _mnu = frmDiag.menuSaida; break; } EnderecamentoLadder _end = null; if (_cL.getOperandos(0) != null) { Object obj = _cL.getOperandos(0); if (obj.GetType().ToString() == "LadderApp1.EnderecamentoLadder") { _end = (LadderApp.EnderecamentoLadder)obj; } } _mnu.DropDownItems.Clear(); foreach (TreeNode _NoEndSub in _NoEnd.Nodes) { _mnu.DropDownItems.Add(_NoEndSub.Text); if (_end != null) { if (_end.Nome == _NoEndSub.Text) { _mnu.DropDownItems[_mnu.DropDownItems.Count - 1].Select(); } } _mnu.DropDownItems[_mnu.DropDownItems.Count - 1].Name = _NoEndSub.Text; _mnu.DropDownItems[_mnu.DropDownItems.Count - 1].Tag = _NoEndSub.Tag; _mnu.DropDownItems[_mnu.DropDownItems.Count - 1].Click += new EventHandler(LinhaCompletaLivre_Click); } } } } frmDiag.menuControle.Show(_cL.PointToScreen(e.Location)); } }