/// <summary>
		/// Muda a ação, escreve 'Adicionar' no botão, não limpa os campos.
        /// Chame LimparCampos() antes para isto.
		/// 
		/// Deve ser chamado externamente, quando o usuário
		/// des-seleciona a bandeja.
		/// </summary>
		public void AlternarParaAdicionar()
		{
			ação = AçãoEnum.Adicionar;
			botão.Text = "&Adicionar";
            chkModoRápido.Enabled = true;
		}
		/// <summary>
		/// Deve ser chamado quando o usuário seleciona uma mercadoria na bandeja para alteração de seus dados.
		/// Os dados no quadro são descatardos, e substituídos pelo saquinho passado em parâmetro.
		/// O botão deve mudar para "Alterar", e ficar não enabled até que usuário faça alguma mudança.
		/// </summary>
		/// <param name="saquinho">A ser alterado</param>
		public void AlternarParaAlteração(ISaquinho saquinho)
		{
            saquinhoAntesAlteração = saquinho.Clone(saquinho.Quantidade);
            
           
            botão.Text = "&Alterar";

            /* A mudança do txtReferência irá gerar um evento
             * de que a referencia foi alterada. 
             * Então é necessário marcar que o controle acabou de ir para o modo alternaddo,
             * evitando que o quadro volte para o adicionar.
             */
            inícioAlteração = true;

            /* Alterar os dados requer que o modo de digitação
             * rápida seja desligado durante a alteração.
             * -- Júlio, 17/03/2006
             */
            ModoRápido = false;
            chkModoRápido.Enabled = false;

            txtReferência.Txt.Text = saquinho.Mercadoria.Referência;
            txtPeso.Text = saquinho.Peso.ToString();
            txtQuantidade.Text = saquinho.Quantidade.ToString();

            lblPeso.Enabled = txtPeso.Enabled = saquinho.Mercadoria.DePeso;
            ValidarDados();

            ação = AçãoEnum.Alterar;

            inícioAlteração = false;
		}