function prop_clicked($button, $ptr_entry) { $dialog = new GtkDialog('Escolha uma data ...'); $pixbuf = $dialog->render_icon(Gtk::STOCK_PROPERTIES, Gtk::ICON_SIZE_BUTTON); $dialog->set_icon($pixbuf); $dialog->vbox->pack_start($calendar = new GtkCalendar()); $calendar->connect('day-selected-double-click', array($this, 'calendar_double_click'), $dialog, $ptr_entry); $calendar->show(); $dialog->run(); $dialog->destroy(); }
/** * Método disparado ao mudar a data do calendario * * @name __changedayCalendar($widget, $dialog) * @access private * @author Erick Eden Fróes * @param GtkCalendar $widget Calendario passado pelo sinal * @param GtkDialog $dialog Container onde está o calendario * @return bool */ public function __changedayCalendar($widget, $dialog) { // Busca o calendario $date = $widget->get_date(); // Formata a data $date[2] = sprintf("%02d", $date[2]); $date[1] = sprintf("%02d", $date[1] + 1); $formatedDate = implode("/", array_reverse($date)); // Coloca a data no GtkEntry parent::set_text($formatedDate); // Remove o dialog return FALSE; }