/** * @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")); }