/// <summary> /// Seta todos os DataBind do formulário. /// </summary> /// <param name="controle">Nome do controle para o bind</param> /// <param name="tp_Status">Status do formulário</param> internal void setarReadOnly_FormStatus(Control.ControlCollection controle, CompSoft.TipoFormStatus tp_Status) { foreach (Control ctrl in controle) { //-- Caso o controle possua mais controles internos. if (ctrl.Controls.Count > 0) { //-- Chama o mesmo método para obter os controles. //-- Este processo utiliza recurcividade. setarReadOnly_FormStatus(ctrl.Controls, tp_Status); } if (ctrl.GetType().GetInterface("IBaseControl", true) != null) { //-- Atualiza estado do controle IBaseControl cc = ctrl as IBaseControl; IBaseControl_DB cc_DB = null; if (ctrl.GetType().GetInterface("IBaseControl_DB", true) != null) { cc_DB = cc as IBaseControl_DB; } switch (tp_Status) { case CompSoft.TipoFormStatus.Pesquisar: cc.ReadOnly = true; break; case CompSoft.TipoFormStatus.Limpar: cc.ReadOnly = false; if (cc_DB != null && string.IsNullOrEmpty(cc_DB.ControlSource) && ctrl.GetType() == typeof(cf_TextBox)) { ctrl.Text = string.Empty; } break; case CompSoft.TipoFormStatus.Modificando: //-- Verifica se o controle é identity if (cc_DB != null && Control_IsIdentity(ref cc_DB)) { cc.ReadOnly = true; } else { cc.ReadOnly = false; } break; case CompSoft.TipoFormStatus.Nenhum: cc.ReadOnly = true; break; case CompSoft.TipoFormStatus.Novo: if (ctrl.GetType() == typeof(cf_TreeView)) { ((cf_Bases.cf_TreeView)ctrl).Clear(); } //-- Verifica se o controle é identity if (cc_DB != null && this.Control_IsIdentity(ref cc_DB)) { cc.ReadOnly = true; } else { cc.ReadOnly = false; } break; } } } }
/// <summary> /// Atualiza todos os estados da barra de ferramentos. /// </summary> internal void TratarStatus_BarraFerramentas(CompSoft.TipoFormStatus TpFormStatus, CompSoft.TipoForm TpForm) { if (Propriedades.FormMain != null) { //-- Atualiza os botões da barra de tarefas do main. switch (TpFormStatus) { case CompSoft.TipoFormStatus.Nenhum: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; break; case CompSoft.TipoFormStatus.Novo: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = true; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; break; case CompSoft.TipoFormStatus.Limpar: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; if (TpForm == CompSoft.TipoForm.Geral) { Propriedades.FormMain.cmdToolNovo.Enabled = true; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } else { Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } break; case CompSoft.TipoFormStatus.Pesquisar: Propriedades.FormMain.cmdToolPrimeiro.Enabled = true; Propriedades.FormMain.cmdToolAnterior.Enabled = true; Propriedades.FormMain.cmdToolProximo.Enabled = true; Propriedades.FormMain.cmdToolUltimo.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = true; Propriedades.FormMain.cmdToolLookUp.Enabled = true; Propriedades.FormMain.cmdToolImpressao.Enabled = true; if (TpForm == CompSoft.TipoForm.Geral) { Propriedades.FormMain.cmdToolNovo.Enabled = true; Propriedades.FormMain.cmdToolAlterar.Enabled = true; Propriedades.FormMain.cmdToolExcluir.Enabled = true; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } else { Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = false; } break; case CompSoft.TipoFormStatus.Modificando: Propriedades.FormMain.cmdToolPrimeiro.Enabled = false; Propriedades.FormMain.cmdToolAnterior.Enabled = false; Propriedades.FormMain.cmdToolProximo.Enabled = false; Propriedades.FormMain.cmdToolUltimo.Enabled = false; Propriedades.FormMain.cmdToolNovo.Enabled = false; Propriedades.FormMain.cmdToolAlterar.Enabled = false; Propriedades.FormMain.cmdToolExcluir.Enabled = false; Propriedades.FormMain.cmdToolSalvar.Enabled = true; Propriedades.FormMain.cmdToolPesquisar.Enabled = false; Propriedades.FormMain.cmdToolLimpartela.Enabled = false; Propriedades.FormMain.cmdToolCancelarAlteracoes.Enabled = true; Propriedades.FormMain.cmdToolAtualizar.Enabled = false; Propriedades.FormMain.cmdToolLookUp.Enabled = false; Propriedades.FormMain.cmdToolImpressao.Enabled = false; break; } if (Propriedades.FormMain.ActiveMdiChild != null && this.Check_Extension(Propriedades.FormMain.ActiveMdiChild.GetType(), typeof(FormSet))) { //-- Verifica se a barra de ferramentas sofrerá alterações. FormSet f = ((FormSet)Propriedades.FormMain.ActiveMdiChild); if (!f.Barra_Ferramentas_Novo_Registro) { Propriedades.FormMain.cmdToolNovo.Enabled = false; } if (!f.Barra_Ferramentas_Editar_Registro) { Propriedades.FormMain.cmdToolAlterar.Enabled = false; } if (!f.Barra_Ferramentas_Excluir_Registro) { Propriedades.FormMain.cmdToolExcluir.Enabled = false; } if (!f.Barra_Ferramentas_Limpar_Tela) { Propriedades.FormMain.cmdToolLimpartela.Enabled = false; } if (!f.Barra_Ferramentas_Pesquisar_Registro) { Propriedades.FormMain.cmdToolPesquisar.Enabled = false; } if (!f.Barra_Ferramentas_Relatorios) { Propriedades.FormMain.cmdToolImpressao.Enabled = false; } } } }