<?php
/**
* Classe que gerencia a barra de botões padrão do modelo de
* cadastro das classes que estendem a superclasse <b>Formulario</b>.
*
* Desenha uma barra de botões usadas para formularios de cadastro.
* @author Carlos A. Junior
*/
class ButtonPanel {
private $buttonPanel = NULL;
private $novo = FALSE;
private $salvar = FALSE;
private $editar = FALSE;
private $consultar = FALSE;
private $excluir = FALSE;
private $cancelar = FALSE;
private $voltar = FALSE;
/**
* Construtor unico da classe.
* @param String evento referente a qual ação foi solicitada pelo
* usuario da aplicação.
*
* @param String pagina link referente a pagina para a construção
* dos links para execução das ações enviadas.
*
* @param String chave valor de parametro que será integrado aos
* links de edição e de exclusão.
*
* @param Boolean enabled dirá se a barra de botões deverá estar
* ativa ou não.
*/
function ButtonPanel($evento = '', $pagina, $chave, $enabled) {
$this->eventoBarraBotoes($evento, $enabled);
$this->criaBotoes($pagina,$chave);
}
/**
* Metodo que habilita e desabilita os botoes da classe de modelo de
* cadastro que interage com as subclasses de Formulario.class.php<br>
*
* @param String evento contendo o tipo do evento que fará com que
* determinados botoes sejam desabilitados. Exemplo: 'salvar'
*
* @param Boolean enabled referente a se a barra estara ativa ou não.
*/
private function eventoBarraBotoes($evento, $enabled = TRUE){
switch ($evento) {
case 'novo':
$this->novo = FALSE;
$this->salvar = TRUE;
$this->editar = FALSE;
$this->consultar = FALSE;
$this->excluir = FALSE;
$this->cancelar = TRUE;
$this->voltar = FALSE;
break;
case 'salvar':
$this->novo = TRUE;
$this->salvar = FALSE;
$this->editar = FALSE;
$this->consultar = TRUE;
$this->excluir = FALSE;
$this->cancelar = FALSE;
$this->voltar = TRUE;
break;
case 'editar':
$this->novo = FALSE;
$this->salvar = TRUE;
$this->editar = FALSE;
$this->consultar = FALSE;
$this->excluir = TRUE;
$this->cancelar = TRUE;
$this->voltar = FALSE;
break;
case 'excluir':
$this->novo = TRUE;
$this->salvar = FALSE;
$this->editar = FALSE;
$this->consultar = TRUE;
$this->excluir = FALSE;
$this->cancelar = FALSE;
$this->voltar = TRUE;
break;
case 'cancelar':
$this->novo = TRUE;
$this->salvar = FALSE;
$this->editar = FALSE;
$this->consultar = TRUE;
$this->excluir = FALSE;
$this->cancelar = FALSE;
$this->voltar = TRUE;
break;
case 'visualizar':
$this->novo = TRUE;
$this->salvar = FALSE;
$this->editar = TRUE;
$this->consultar = TRUE;
$this->excluir = TRUE;
$this->cancelar = TRUE;
$this->voltar = FALSE;
break;
case 'consultar':
default:
$this->novo = TRUE;
$this->salvar = FALSE;
$this->editar = FALSE;
$this->consultar = FALSE;
$this->excluir = FALSE;
$this->cancelar = FALSE;
$this->voltar = TRUE;
break;
}
if($enabled == FALSE){
$this->novo = FALSE;
$this->salvar = FALSE;
$this->editar = FALSE;
$this->consultar = FALSE;
$this->excluir = FALSE;
$this->cancelar = FALSE;
$this->voltar = TRUE;
}
}
private function cabecalho(){
$cabecalho = "
<div id=\"botoesForm\">
<table border=\"0\" align=\"left\">
<tr>
<td><img src=\"css/imagens/cadastro/cpanel.png\" align=\"top\" alt=\"\" /></td>
</tr>
</table>
<table border=\"0\" align=\"right\" cellpadding=\"0\" cellspacing=\"0\">
<tr id=\"buttons\">";
return $cabecalho;
}
/**
* Metodo que desenha e define o caminho de link para as açoes das classes de formularios
* que estendam a superclasse Formulario.class.php.<br>
*
* @param $pagina <b>String</b> que contem a referencia de qual pagina(formulario) está sendo
* construida um link. Exemplo: $pagina = 'usuario'. <br>
*
* @param $chave <b>Integer</b> numero de referencia para os botoes de exclusão e edição dentro
* das classes que estendem a superclasse Formulario.class.php.
*/
private function criaBotoes($pagina, $chave){
$botaoNovo = "<td>";
if($this->novo){
$botaoNovo .= "<div class=\"icon\"><div><p><a title=\"Inserir novo registro\" href=\"?pagina=".$pagina."&acao=novo\">";
$botaoNovo .= "<img src=\"css/imagens/cadastro/new_en.png\" border=\"0\" alt=\"Inserir novo registro\"/><br />Novo</a></p></div>";
}else{
$botaoNovo .= "<div class=\"iconDis\"><div><p><img src=\"css/imagens/cadastro/new_dis.png\"
alt=\"\" border=\"0\" align=\"middle\" /><br />Novo</p></div></div>";
}
$botaoNovo .= "</td>";
$botaoSalvar = "<td>";
if($this->salvar){
$botaoSalvar .= "<div class=\"icon\"><div><p><a title=\"Salvar\"
onclick=\"javascript:validatorManager('formulario', '$pagina', 'salvar')\">";
$botaoSalvar .= "<img src=\"css/imagens/cadastro/save_en.png\" border=\"0\" alt=\"Salvar\"/><br />Salvar</a></p></div></div>";
}else
$botaoSalvar .= "<div class=\"iconDis\"><div><p><img src=\"css/imagens/cadastro/save_dis.png\"
alt=\"\" border=\"0\" align=\"middle\" /><br />Salvar</p></div></div>";
$botaoSalvar .= "</td>";
$botaoEditar = "<td>";
if($this->editar){
$botaoEditar .= "<div class=\"icon\"><div><p><a title=\"Editar registro\"
href=\"?pagina=".$pagina."&acao=editar&referencia=".$chave." \">";
$botaoEditar .= "<img src=\"css/imagens/cadastro/edit_en.png\" border=\"0\"
alt=\"Editar registro\"/><br />Editar</a></p></div></div>";
}else
$botaoEditar .= "<div class=\"iconDis\"><div><p><img src=\"css/imagens/cadastro/edit_dis.png\"
alt=\"\" border=\"0\" align=\"middle\" /><br />Editar</p></div></div>";
$botaoEditar .= "</td>";
$botaoConsultar = "<td>";
if($this->consultar){
$botaoConsultar .= "<div class=\"icon\"><div><p><a title=\"Consultar\" href=\"?pagina=".$pagina."&acao=consultar\">";
$botaoConsultar .= "<img src=\"css/imagens/cadastro/search_en.png\" border=\"0\"
alt=\"Consultar\"/><br />Consultar</a></p></div></div>";
}else
$botaoConsultar .= "<div class=\"iconDis\"><div><p><img src=\"css/imagens/cadastro/search_dis.png\"
alt=\"\" border=\"0\" align=\"middle\" /><br />Consultar</p></div></div>";
$botaoConsultar .= "</td>";
$botaoExcluir = "<td>";
if($this->excluir){
$botaoExcluir .= "<div class=\"icon\"><div><p><a title=\"Remover o registro\"
href=\"?pagina=".$pagina."&acao=excluir&referencia=".$chave."\" " .
" onclick=\"return deletaRegistro('formulario');\" >";
$botaoExcluir .= "<img src=\"css/imagens/cadastro/delete_en.png\" border=\"0\"
alt=\"Remover o registro\"/><br />Excluir</a></p></div></div>";
}else
$botaoExcluir .= "<div class=\"iconDis\"><div><p><img src=\"css/imagens/cadastro/delete_dis.png\"
alt=\"\" border=\"0\" align=\"middle\" /><br />Excluir</p></div></div>";
$botaoExcluir .= "</td>";
$botaoCancelar = "<td>";
if($this->cancelar){
$botaoCancelar .= "<div class=\"icon\"><div><p><a title=\"Cancelar ação\" href=\"?pagina=".$pagina."&acao=cancelar\">";
$botaoCancelar .= "<img src=\"css/imagens/cadastro/cancel_en.png\" border=\"0\"
alt=\"Cancelar ação\"/><br />Cancelar</a></p></div></div>";
}else
$botaoCancelar .= "<div class=\"iconDis\"><div><p><img src=\"css/imagens/cadastro/cancel_dis.png\"
alt=\"\" border=\"0\" align=\"middle\" /><br />Cancelar</p></div></div>";
$botaoCancelar .= "</td>";
$botaoVoltar = "<td>";
if($this->voltar){
$botaoVoltar .= "<div class=\"icon\"><div><p><a title=\"Voltar a pagina Principal\" href=\"index2.php\">";
$botaoVoltar .= "<img src=\"css/imagens/cadastro/back_en.png\" border=\"0\"
alt=\"Voltar a pagina Principal\"/><br />Voltar</a></p></div></div>";
}else
$botaoVoltar .= "<div class=\"iconDis\"><div><p><img src=\"css/imagens/cadastro/back_dis.png\"
alt=\"\" border=\"0\" align=\"middle\" /><br />Voltar</p></div></div>";
$botaoVoltar .= "</td>";
$rodape = "</tr></table></div>";
$barraFinal = $this->cabecalho().$botaoNovo.$botaoSalvar.$botaoEditar.$botaoConsultar.$botaoExcluir;
$barraFinal .= $botaoCancelar.$botaoVoltar.$rodape;
$this->buttonPanel = $barraFinal;
}
/**
* Retorna uma referencia para o painel de botões.
*/
public function getButtonPanel(){
return $this->buttonPanel;
}
}
?>