void ZLGtkDialogManager::wait(const ZLResourceKey &key, ZLRunnable &runnable) const {
	if (!myIsInitialized || myIsWaiting) {
		runnable.run();
	} else {
		myIsWaiting = true;
#if MAEMO_VERSION <= 3
		gtk_banner_show_animation(myWindow, waitMessageText(key).c_str());
#elif MAEMO_VERSION <= 5
		GtkWidget *banner = hildon_banner_show_animation(GTK_WIDGET(myWindow), NULL, waitMessageText(key).c_str());
#else
		#error Unknown value for MAEMO_VERSION
#endif
		RunnableWithFlag rwf;
		rwf.runnable = &runnable;
		rwf.flag = true;
		pthread_t thread;
		pthread_create(&thread, 0, runRunnable, &rwf);
		while (rwf.flag) {
			gtk_main_iteration();
		}
		pthread_join(thread, 0);
#if MAEMO_VERSION <= 3
		gtk_banner_close(myWindow);
#elif MAEMO_VERSION <= 5
		gtk_widget_destroy(banner);
#else
		#error Unknown value for MAEMO_VERSION
#endif
		myIsWaiting = false;
	}
}
Exemple #2
0
bool wxNotificationMessage::Show(int timeout)
{
    if ( timeout == Timeout_Never )
    {
        m_banner = hildon_banner_show_animation
                   (
                    HildonGetWindow(),
                    NULL,
                    GetFullMessage() // markup not supported here
                   );
        if ( !m_banner )
            return false;
    }
    else // the message will time out
    {
        // we don't have any way to set the timeout interval so we just let it
        // time out automatically
        hildon_banner_show_information_with_markup
        (
            HildonGetWindow(),
            NULL,
            HildonGetMarkup()
        );
    }

    return true;
}
Exemple #3
0
/*---------------------------------------------------------------------*/
void
gui_start_waiting( char *msg ) {
   if( !waiting_banner ) {
      waiting_banner =
	 hildon_banner_show_animation( GTK_WIDGET( win ), NULL, msg );
   }
}
END_TEST

/**
 * Purpose: Check creation of new animation banner with invalid values
 * Cases considered:
 *    - Create an animation banner with NULL text. 
 *    - Create an animation banner with NULL window.
 */
START_TEST (test_show_animation_invalid)
{
  gchar * animation_name=NULL;
  gchar * text=NULL;
    
  HildonBanner * hildon_banner = NULL;

  /*Test 1: Create an animation banner with NULL text. */
    
  hildon_banner = HILDON_BANNER(hildon_banner_show_animation(b_window,NULL,NULL));
    
  fail_if(HILDON_IS_BANNER(hildon_banner),
          "hildon-banner: hildon_banner_show_animation failed creating banner.");
    
  hildon_banner = NULL;
    
  /*Test 2: Create an animation banner with NULL window. */
  text="";
  animation_name = "dummy";
  hildon_banner = HILDON_BANNER(hildon_banner_show_animation(NULL,animation_name,text));
    
  fail_if(!HILDON_IS_BANNER(hildon_banner),
          "hildon-banner: hildon_banner_show_animation failed creating banner.");
    
  hildon_banner_set_text(hildon_banner,text);
  gtk_widget_destroy(GTK_WIDGET(hildon_banner));
    
}