• Artigos
  • Projetos
  • Download
  • Docs
  • Enviar Artigo
  • Sobre

Classe dialogs Genérica

16/04/2009  steffano 

Criei uma classe para as mais comuns dialogs que uso nos projetos, para evitar de escrever tanto código ou repetir as mesmas coisas. Se eu quero dar um alerta ao usuario tudo que eu tenho que fazer é instanciar a classe e passar os parâmetros para o método mensagem.



Ex:

$msg = new Mensagem;

Nota - Nome da janela pai serve para não mostrar a janela chamada no taskbar (como se fosse um MDI) (set_set_transient_for)

$msg->aviso(nome da janela pai, mensagem, titulo);



  1. <?
  2. #######################
  3. #POr stêffano de Moura#
  4. #######################
  5. class Mensagem {
  6.     
  7.     public $resposta;
  8.     
  9.     function erro($janela_pai, $message, $titulo)
  10.     {
  11.             $this->errod = new GtkMessageDialog($janela_pai, Gtk::DIALOG_MODAL, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, $message);
  12.             $this->errod->set_transient_for($janela_pai);
  13.             //$this->errod->set_default_icon_from_file("C:/php-gtk2/teste/ico/cube_molecule.ico");//icone
  14.             $this->errod->set_title($titulo);
  15.             $this->errod->set_markup("\r\n". "<span foreground='red'>" . $message . "</span>");
  16.             $this->errod->set_position(Gtk::WIN_POS_CENTER);
  17.             $this->errod->set_skip_taskbar_hint(true);
  18.             $this->errod->get_skip_taskbar_hint();            
  19.             $this->errod->run();
  20.             $this->errod->destroy();
  21.         
  22.     }
  23.     
  24.     function certo($janela_pai, $message, $titulo)
  25.     {
  26.             $this->certod = new GtkMessageDialog($janela_pai, Gtk::DIALOG_MODAL, Gtk::MESSAGE_INFO, Gtk::BUTTONS_OK, $message);
  27.             $this->certod->set_transient_for($janela_pai);
  28.             //$this->certod->set_default_icon_from_file("C:/php-gtk2/teste/ico/cube_molecule.ico");
  29.             $this->certod->set_title($titulo);
  30.             $this->certod->set_markup("\r\n". "<span foreground='black'>" . $message . "</span>");
  31.             $this->certod->set_position(Gtk::WIN_POS_CENTER);
  32.             $this->certod->set_skip_taskbar_hint(true);
  33.             $this->certod->get_skip_taskbar_hint();
  34.             $this->certod->run();
  35.             $this->certod->destroy();
  36.         
  37.     }
  38.     
  39.     
  40.     function aviso($janela_pai, $message, $titulo)
  41.     {
  42.             $this->avisod = new GtkMessageDialog($janela_pai, Gtk::DIALOG_MODAL, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_OK, $message);
  43.             $this->avisod->set_transient_for($janela_pai);
  44.             //$this->avisod->set_default_icon_from_file("C:/php-gtk2/teste/ico/cube_molecule.ico");
  45.             $this->avisod->set_title($titulo);
  46.             $this->avisod->set_markup("\r\n". "<span foreground='black'>" . $message . "</span>");
  47.             $this->avisod->set_position(Gtk::WIN_POS_CENTER);
  48.             $this->avisod->set_skip_taskbar_hint(true);
  49.             $this->avisod->get_skip_taskbar_hint();
  50.             $this->avisod->run();
  51.             $this->avisod->destroy();
  52.         
  53.     }
  54.     
  55.     
  56.     function pergunta($janela_pai, $message, $titulo)
  57.     {
  58.             $this->resposta = '';
  59.         
  60.             $this->perguntad = new GtkMessageDialog($janela_pai, Gtk::DIALOG_MODAL, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO, $message);
  61.             $this->perguntad->set_transient_for($janela_pai);
  62.             //$this->perguntad->set_default_icon_from_file("C:/php-gtk2/teste/ico/cube_molecule.ico");
  63.             $this->perguntad->set_title($titulo);
  64.             $this->perguntad->set_markup("\r\n". "<span foreground='black'>" . $message . "</span>");
  65.             $this->perguntad->set_position(Gtk::WIN_POS_CENTER);
  66.             $this->perguntad->set_skip_taskbar_hint(true);
  67.             $this->perguntad->get_skip_taskbar_hint();            
  68.             $this->result = $this->perguntad->run();
  69.             $this->perguntad->destroy();
  70.             
  71.             if($this->result == Gtk::RESPONSE_YES) {
  72.                 
  73.                 $this->resposta = "sim";
  74.                 return $this->resposta;
  75.             }
  76.             else {
  77.                 
  78.                 $this->resposta = "nao";
  79.                 return $this->resposta;
  80.             }
  81.     
  82.     }
  83.     
  84.     
  85. }
  86. $msg = new     Mensagem;
  87. $msg->pergunta(NULL, "Voce tem certeza que isso é um teste?", "Isso é um teste?");
  88. $msg->aviso(NULL, "Voce tem certeza que isso é um teste?", "Isso é um teste?");
  89. $msg->certo(NULL, "Voce tem certeza que isso é um teste?", "Isso é um teste?");
  90. $msg->erro(NULL, "Voce tem certeza que isso é um teste?", "Isso é um teste?");
  91. ?>




Crie sistemas de maneira ágil com PHP-GTK:

Adianti Framework para PHP

  • Instalação e configuração;
  • Modelos e persistência;
  • Componentes de apresentação;
  • Organização e controle;
  • Desenvolvimento ágil com Studio Pro.
Ver detalhes...

Tenha mais produtividade com o PHP-GTK:

Adianti Studio: IDE para PHP
  • Leve e rápido;
  • Syntax highlight;
  • Gerência de projetos;
  • Navegação em banco de dados;
  • Autocomplete e plugins.
Mais informações...

Comentários

Adicionar Comentário
 login  
 Senha  
 Título  
 Comentário  
  Efetuar Cadastro
  Esqueci a Senha

Livros sobre PHP

Orientação a
objetos
Criando
relatórios
Aplicações
gráficas com Gtk

Comunidade

Busque conteúdo no site
Participe de nosso grupo no google

[Página do grupo]  [Arquivo do grupo]

Ferramentas de desenvolvimento PHP

Conheça o Adianti Framework para PHP:

  • Desenvolvimento com componentes;
  • Formulários e datagrids.
  • Versão Web e Desktop (Gtk);
  • Multiplataforma;
  • Desenhe as interfaces;
  • IDE própria (Adianti Studio).
Ver detalhes...

Tenha mais produtividade com:

Adianti Studio: IDE para PHP

  • Leve e rápido;
  • Syntax highlight;
  • Gerência de projetos;
  • Navegação em banco de dados;
  • Autocomplete e plugins.
Mais informações...

Google

Parceiros

 
Designed by Wolfgang Bartelme Designed by Wolfgang Bartelme

© 2006 Wordpress Themes | Theme (Not so) Fresh
XHTML CSS RSS allposts