Beispiel #1
0
/*---------------------------------------------------------------------------*/
static void
ctkmode(void)
{
  ctk_mode_set(CTK_MODE_NORMAL);
  ctk_draw_init();
  ctk_desktop_redraw(NULL);
}
Beispiel #2
0
/*-----------------------------------------------------------------------------------*/
void
unload(void)
{
#if WITH_GUI
  ctk_draw_init();
#endif /* WITH_GUI */
  exit(EXIT_SUCCESS);
}
/*-----------------------------------------------------------------------------------*/
LOADER_INIT_FUNC(themeloader_init, arg)
{
  arg_free(arg);
  
  memcpy(ctk_hires_theme_ptr, &ctk_hires_theme,
	 sizeof(struct ctk_hires_theme));
  ctk_draw_init();
  LOADER_UNLOAD();
}
Beispiel #4
0
/*-----------------------------------------------------------------------------------*/
EK_EVENTHANDLER(ssfire_eventhandler, ev, data)
{
  EK_EVENTHANDLER_ARGS(ev, data);
  
  if(ev == EK_EVENT_INIT) {
    ctk_mode_set(CTK_MODE_SCREENSAVER);
    ctk_mouse_hide();
    fire_init();
  } else if(ev == ctk_signal_screensaver_stop ||
	    ev == EK_EVENT_REQUEST_EXIT) {
    fire_quit();
    ctk_draw_init();
    ctk_desktop_redraw(NULL);
  }
}
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(ssfire_process, ev, data)
{
  PROCESS_POLLHANDLER(pollhandler());
  
  PROCESS_BEGIN();
  
  ctk_mode_set(CTK_MODE_SCREENSAVER);
  ctk_mouse_hide();
  fire_init();

  
  PROCESS_WAIT_EVENT_UNTIL(ev == ctk_signal_screensaver_stop ||
			   ev == PROCESS_EVENT_EXIT);

  ctk_draw_init();
  ctk_desktop_redraw(NULL);

  PROCESS_END();
}
Beispiel #6
0
/*-----------------------------------------------------------------------------------*/
PROCESS_THREAD(program_handler_process, ev, data)
{
#ifdef WITH_LOADER_ARCH
  unsigned char err;
  struct dsc *dsc;
#endif /* WITH_LOADER_ARCH */
  unsigned char i;
  struct dsc **dscp;

  PROCESS_BEGIN();
  
  /* Create the menus */
  ctk_menu_add(&contikimenu);
#if WITH_LOADER_ARCH
  runmenuitem = ctk_menuitem_add(&contikimenu, "Run program...");
  
  make_windows();
#endif /* WITH_LOADER_ARCH */
#if QUIT_MENU
  quitmenuitem = ctk_menuitem_add(&contikimenu, "Quit");
#endif /* QUIT_MENU */
  
  displayname = NULL;
  
#if CTK_CONF_SCREENSAVER
  program_handler_screensaver[0] = 0;
#endif /* CTK_CONF_SCREENSAVER */

  while(1) {
    PROCESS_WAIT_EVENT();
    if(ev == ctk_signal_button_activate) {
#ifdef WITH_LOADER_ARCH
      if(data == (process_data_t)&loadbutton) {
	ctk_window_close(&runwindow);
	program_handler_load(name, NULL);
      } else if(data == (process_data_t)&errorokbutton) {
	ctk_dialog_close();
      }
#endif /* WITH_LOADER_ARCH */
#if QUIT_MENU
      if(data == (process_data_t)&quityesbutton) {
	ctk_draw_init();
	exit(EXIT_SUCCESS);
      } else if(data == (process_data_t)&quitnobutton) {
	ctk_dialog_close();
      }
#endif /* QUIT_MENU */
      dscp = &contikidsc[0];
      for(i = 0; i < CTK_MAXMENUITEMS; ++i) {    
	if(*dscp != NULL
#if CTK_CONF_ICONS
	  && data == (process_data_t)(*dscp)->icon
#endif /* CTK_CONF_ICONS */
	  ) {
	  RUN((*dscp)->prgname, (*dscp)->process, NULL);
	  break;
	}
	++dscp;
      }
    } else if(ev == ctk_signal_menu_activate) {
      if((struct ctk_menu *)data == &contikimenu) {
#if WITH_LOADER_ARCH
	dsc = contikidsc[contikimenu.active];
	if(dsc != NULL) {
	  RUN(dsc->prgname, dsc->process, NULL);
	} else if(contikimenu.active == runmenuitem) {
	  make_windows();
	  ctk_window_close(&runwindow);
	  ctk_window_open(&runwindow);
	  CTK_WIDGET_FOCUS(&runwindow, &nameentry);
	}
#else /* WITH_LOADER_ARCH */
	if(contikidsc[contikimenu.active] != NULL) {
	  RUN(contikidsc[contikimenu.active]->prgname,
	      contikidsc[contikimenu.active]->process,
	      NULL);
	}
#endif /* WITH_LOADER_ARCH */
#if QUIT_MENU
	if(contikimenu.active == quitmenuitem) {
	  ctk_dialog_new(&quitdialog, 24, 5);
	  CTK_WIDGET_ADD(&quitdialog, &quitdialoglabel);
	  CTK_WIDGET_ADD(&quitdialog, &quityesbutton);
	  CTK_WIDGET_ADD(&quitdialog, &quitnobutton);
	  CTK_WIDGET_FOCUS(&quitdialog, &quitnobutton);
	  ctk_dialog_open(&quitdialog);      
	}
#endif /* QUIT_MENU */
      }
#if CTK_CONF_SCREENSAVER
    } else if(ev == ctk_signal_screensaver_start) {
#if WITH_LOADER_ARCH
      if(program_handler_screensaver[0] != 0) {
	program_handler_load(program_handler_screensaver, NULL);
      }
#endif /* WITH_LOADER_ARCH */
#endif /* CTK_CONF_SCREENSAVER */
    } else if(ev == LOADER_EVENT_DISPLAY_NAME) {
#if WITH_LOADER_ARCH
      if(displayname == NULL) {
	make_windows();
	
	ctk_label_set_text(&loadingname, ((struct pnarg *)data)->name);
	ctk_dialog_open(&loadingdialog);
	process_post(&program_handler_process, LOADER_EVENT_LOAD, data);
	displayname = data;
      } else {
	/* Try again. */
	process_post(&program_handler_process, LOADER_EVENT_DISPLAY_NAME, data);
      }
#endif /* WITH_LOADER_ARCH */
    } else if(ev == LOADER_EVENT_LOAD) {
#if WITH_LOADER_ARCH
      if(displayname == data) {
	ctk_dialog_close();
	displayname = NULL;
	log_message("Loading ", ((struct pnarg *)data)->name);
	err = LOADER_LOAD(((struct pnarg *)data)->name,
			  ((struct pnarg *)data)->arg);
	if(err != LOADER_OK) {
	  make_windows();
	  errorfilename[0] = '"';
	  strncpy(errorfilename + 1, ((struct pnarg *)data)->name,
		  sizeof(errorfilename) - 2);
	  errorfilename[1 + strlen(((struct pnarg *)data)->name)] = '"';
	  ctk_label_set_text(&errortype, (char *)errormsgs[err]);
	  ctk_dialog_open(&errordialog);
	  log_message((char *)errormsgs[err], errorfilename);
	}
	pnarg_free(data);
      } else {
	/* Try again. */
	process_post(&program_handler_process, LOADER_EVENT_DISPLAY_NAME, data);
      }
#endif /* WITH_LOADEER_ARCH */
    }
  }
  PROCESS_END();
}