/**
  * @name __construct($widget, $signal, $icon_widget=null, $label=null)
  * @param GtkWidget $widget GtkWidget que ficará dentro do container
  * @param string $signal Sinal do widget que fechará o dialogo
  * @param GtkWidget $icon_widget GtkWidget entrará como imagem do botão
  * @param string $label String do label do botão
  * @return GtkToolButton
  */
 public function __construct($widget, $signal, $icon_widget = null, $label = null)
 {
     // Constroi o parent
     parent::__construct();
     // Armazena o widget
     $this->widget = $widget;
     // Verifica se possui stock_id
     if ($icon_widget != null) {
         parent::set_stock_id($icon_widget);
     }
     // Verifica se possui label
     if ($label != null) {
         parent::set_label($label);
     }
     // Cria o dialogo
     $this->dialog = new GtkDialog(NULL, NULL, Gtk::DIALOG_NO_SEPARATOR);
     $this->dialog->set_decorated(FALSE);
     // Adiciona o widget ao dinalog
     $this->dialog->vbox->pack_start($this->widget, 0, 0);
     $this->dialog->action_area->set_size_request(-1, 0);
     // Adiciona os eventos para abertura
     parent::connect("clicked", array($this, "__openContainer"));
     // Adiciona os eventos para fechamento
     $this->widget->connect($signal, array($this, "__onlostfocusContainer"));
     $this->widget->connect("focus-out-event", array($this, "__onlostfocusContainer"));
 }