예제 #1
0
        private void RedimensionaSimbolos()
        {
            //--Inicio da linha
            //iTabStop = 0;
            iTabStop++;
            simboloInicioLinha.TabIndex = iTabStop;
            simboloInicioLinha.TabStop  = true;

            int indiceInsereSaida = 0;

            if (saida.Count > 0)
            {
                indiceInsereSaida = simbolos.Count;
                simbolos.AddRange(saida);
            }

            int i = 0;

            foreach (ControleLivre _simbAux in simbolos)
            {
                iTabStop++;
                _simbAux.TabIndex = iTabStop;
                _simbAux.TabStop  = true;

                _simbAux.Size = new Size(Convert.ToInt32(Convert.ToDouble(_simbAux.tamanhoXY.Width) * percReducaoSimbolo), _simbAux.tamanhoXY.Height);

                if (i >= indiceInsereSaida && (saida.Count > 0))
                {
                    _simbAux.Location = new Point(_simbAux.posicaoXY.X + (_simbAux.tamanhoXY.Width - (Convert.ToInt32(Convert.ToDouble(_simbAux.tamanhoXY.Width) * percReducaoSimbolo))) / 2 + posX2primeiroSimbSaida, _simbAux.posicaoXY.Y);
                }
                else
                {
                    _simbAux.Location = new Point(_simbAux.posicaoXY.X + (_simbAux.tamanhoXY.Width - (Convert.ToInt32(Convert.ToDouble(_simbAux.tamanhoXY.Width) * percReducaoSimbolo))) / 2, _simbAux.posicaoXY.Y);
                }

                _simbAux.Visible = true;
                _simbAux.Invalidate();
                i++;
            }

            if (saida.Count > 0)
            {
                simbolos.RemoveRange(indiceInsereSaida, saida.Count);
            }

            //--Fim da linha
            //iTabStop = 0;
            simboloFimLinha.TabIndex = 0;
            simboloFimLinha.TabStop  = false;

            //--Desenho de fundo
            //iTabStop = 0;
            simboloDesenhoFundo.TabIndex = 0;
            simboloDesenhoFundo.TabStop  = false;
            simboloDesenhoFundo.Invalidate();
        }
예제 #2
0
        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();
            }
        }