/**
  * Método do click do GtkEntry em modo calendario
  * 
  * @name __openCalendar($widget, $event)
  * @access private
  * @param GtkWidget $widget GtkWidget emissor do sinal
  * @param GtkEvent $event GtkEvent emitito pelo sinal
  * @author Erick Eden Fróes
  */
 public function __openCalendar($widget, $event)
 {
     // Busca a posição do entry
     $entryX = $widget->allocation->x;
     $entryY = $widget->allocation->y;
     // Busca a posição da janela parente
     $window = $widget->get_parent_window();
     $win_pos = $window->get_position();
     $windowX = $win_pos[0];
     $windowY = $win_pos[1];
     // Faz o calculo da posicao final
     $finalX = $entryX + $windowX;
     $finalY = $widget->allocation->height + $entryY + $windowY;
     // Cria o dialogo para o calendario
     $dialog = new GtkDialog(NULL, NULL, Gtk::DIALOG_MODAL | Gtk::DIALOG_NO_SEPARATOR);
     $dialog->set_decorated(FALSE);
     $dialog->set_uposition($finalX, $finalY);
     // Cria o calendario e o coloca dentro do dialogo
     $calendar = new GtkCalendar();
     $dialog->vbox->pack_start($calendar, 0, 0);
     $dialog->action_area->set_size_request(-1, 0);
     // Busca o dia do entry
     $text = $widget->get_text();
     if (strlen($text) > 0) {
         // Separa as datas
         $date = explode("/", $text);
         // Marca o dia do entry no calendario
         $calendar->select_day($date[0]);
         $calendar->select_month($date[1] - 1, $date[2]);
     }
     // Faz as conexões do calendario
     $calendar->connect("day-selected", array($this, "__changedayCalendar"), $dialog);
     $calendar->connect("focus-out-event", array($this, "__onlostfocusCalendar"), $dialog);
     // Mostra o calendario
     $dialog->show_all();
     $dialog->run();
 }