Diff for /np2/x11/gtk2/gtk_main.c between versions 1.8 and 1.13

version 1.8, 2007/01/23 16:24:36 version 1.13, 2011/01/15 17:08:46
Line 70  static gboolean Line 70  static gboolean
 destroy_evhandler(GtkWidget *w, GdkEventAny *ev, gpointer p)  destroy_evhandler(GtkWidget *w, GdkEventAny *ev, gpointer p)
 {  {
   
         UNUSED(w);  
         UNUSED(ev);  
         UNUSED(p);  
   
         taskmng_exit();  
         toolkit_widget_quit();          toolkit_widget_quit();
   
         return TRUE;          return TRUE;
Line 88  static gboolean Line 83  static gboolean
 configure_evhandler(GtkWidget *w, GdkEventConfigure *ev, gpointer p)  configure_evhandler(GtkWidget *w, GdkEventConfigure *ev, gpointer p)
 {  {
   
         UNUSED(ev);  
         UNUSED(p);  
   
         gdk_draw_rectangle(w->window, w->style->black_gc, TRUE,          gdk_draw_rectangle(w->window, w->style->black_gc, TRUE,
             0, 0, w->allocation.width, w->allocation.height);              0, 0, w->allocation.width, w->allocation.height);
         return TRUE;          return TRUE;
Line 104  static gboolean Line 96  static gboolean
 expose_evhandler(GtkWidget *w, GdkEventExpose *ev, gpointer p)  expose_evhandler(GtkWidget *w, GdkEventExpose *ev, gpointer p)
 {  {
   
         UNUSED(w);  
         UNUSED(p);  
   
         if (ev->count == 0) {          if (ev->count == 0) {
                 scrndraw_redraw();                  scrndraw_redraw();
         }          }
Line 121  static gboolean Line 110  static gboolean
 key_press_evhandler(GtkWidget *w, GdkEventKey *ev, gpointer p)  key_press_evhandler(GtkWidget *w, GdkEventKey *ev, gpointer p)
 {  {
   
         UNUSED(w);  
         UNUSED(p);  
   
         if (ev->keyval == GDK_F11) {          if (ev->keyval == GDK_F11) {
                 if ((np2oscfg.F11KEY == 1) && (scrnmode & SCRNMODE_FULLSCREEN))                  if ((np2oscfg.F11KEY == 1) && (scrnmode & SCRNMODE_FULLSCREEN))
                         xmenu_toggle_menu();                          xmenu_toggle_menu();
Line 144  static gboolean Line 130  static gboolean
 key_release_evhandler(GtkWidget *w, GdkEventKey *ev, gpointer p)  key_release_evhandler(GtkWidget *w, GdkEventKey *ev, gpointer p)
 {  {
   
         UNUSED(w);  
         UNUSED(p);  
   
         if ((ev->keyval != GDK_F12) || (np2oscfg.F12KEY != 0))          if ((ev->keyval != GDK_F12) || (np2oscfg.F12KEY != 0))
                 gtkkbd_keyup(ev->keyval);                  gtkkbd_keyup(ev->keyval);
         return TRUE;          return TRUE;
Line 160  static gboolean Line 143  static gboolean
 button_press_evhandler(GtkWidget *w, GdkEventButton *ev, gpointer p)  button_press_evhandler(GtkWidget *w, GdkEventButton *ev, gpointer p)
 {  {
   
         UNUSED(w);  
         UNUSED(p);  
   
         switch (ev->button) {          switch (ev->button) {
         case 1:          case 1:
                 mouse_btn(MOUSE_LEFTDOWN);                  mouse_btn(MOUSE_LEFTDOWN);
Line 187  static gboolean Line 167  static gboolean
 button_release_evhandler(GtkWidget *w, GdkEventButton *ev, gpointer p)  button_release_evhandler(GtkWidget *w, GdkEventButton *ev, gpointer p)
 {  {
   
         UNUSED(w);  
         UNUSED(p);  
   
         switch (ev->button) {          switch (ev->button) {
         case 1:          case 1:
                 mouse_btn(MOUSE_LEFTUP);                  mouse_btn(MOUSE_LEFTUP);
Line 213  static gboolean Line 190  static gboolean
 motion_notify_evhandler(GtkWidget *w, GdkEventMotion *ev, gpointer p)  motion_notify_evhandler(GtkWidget *w, GdkEventMotion *ev, gpointer p)
 {  {
   
         UNUSED(w);  
         UNUSED(p);  
   
         if ((scrnmode & SCRNMODE_FULLSCREEN) && (ev->y < 8.0))          if ((scrnmode & SCRNMODE_FULLSCREEN) && (ev->y < 8.0))
                 xmenu_show();                  xmenu_show();
   
Line 227  motion_notify_evhandler(GtkWidget *w, Gd Line 201  motion_notify_evhandler(GtkWidget *w, Gd
  * misc   * misc
  */   */
 static gint  static gint
 main_widget_quit(gpointer p)  main_loop_quit(gpointer p)
 {  {
         BYTE orig_scrnmode;  
   
         UNUSED(p);  
   
         /* change to window mode */          scrnmng_fullscreen(0);
         orig_scrnmode = scrnmode;  
         xmenu_select_screen(scrnmode & ~SCRNMODE_FULLSCREEN);  
         scrnmode = orig_scrnmode;  
   
         return 0;          return 0;
 }  }
Line 283  uninstall_idle_process(void) Line 251  uninstall_idle_process(void)
 /*  /*
  * toolkit   * toolkit
  */   */
 const char *  
 gui_gtk_get_toolkit(void)  
 {  
   
         return "gtk";  
 }  
   
 BOOL  BOOL
 gui_gtk_arginit(int *argcp, char ***argvp)  gui_gtk_arginit(int *argcp, char ***argvp)
 {  {
Line 354  gui_gtk_widget_create(void) Line 315  gui_gtk_widget_create(void)
         set_icon_bitmap(main_window);          set_icon_bitmap(main_window);
   
         g_signal_connect(GTK_OBJECT(main_window), "destroy",           g_signal_connect(GTK_OBJECT(main_window), "destroy", 
             GTK_SIGNAL_FUNC(destroy_evhandler), "WM destroy");              G_CALLBACK(destroy_evhandler), (gpointer)"WM destroy");
         g_signal_connect(GTK_OBJECT(main_window), "key_press_event",          g_signal_connect(GTK_OBJECT(main_window), "key_press_event",
             GTK_SIGNAL_FUNC(key_press_evhandler), NULL);              G_CALLBACK(key_press_evhandler), NULL);
         g_signal_connect(GTK_OBJECT(main_window), "key_release_event",          g_signal_connect(GTK_OBJECT(main_window), "key_release_event",
             GTK_SIGNAL_FUNC(key_release_evhandler), NULL);              G_CALLBACK(key_release_evhandler), NULL);
         g_signal_connect(GTK_OBJECT(main_window), "button_press_event",          g_signal_connect(GTK_OBJECT(main_window), "button_press_event",
             GTK_SIGNAL_FUNC(button_press_evhandler), NULL);              G_CALLBACK(button_press_evhandler), NULL);
         g_signal_connect(GTK_OBJECT(main_window), "button_release_event",          g_signal_connect(GTK_OBJECT(main_window), "button_release_event",
             GTK_SIGNAL_FUNC(button_release_evhandler), NULL);              G_CALLBACK(button_release_evhandler), NULL);
         g_signal_connect(GTK_OBJECT(main_window), "motion_notify_event",          g_signal_connect(GTK_OBJECT(main_window), "motion_notify_event",
             GTK_SIGNAL_FUNC(motion_notify_evhandler), NULL);              G_CALLBACK(motion_notify_evhandler), NULL);
   
         g_signal_connect(GTK_OBJECT(drawarea), "configure_event",          g_signal_connect(GTK_OBJECT(drawarea), "configure_event",
             GTK_SIGNAL_FUNC(configure_evhandler), NULL);              G_CALLBACK(configure_evhandler), NULL);
         g_signal_connect(GTK_OBJECT(drawarea), "expose_event",          g_signal_connect(GTK_OBJECT(drawarea), "expose_event",
             GTK_SIGNAL_FUNC(expose_evhandler), NULL);              G_CALLBACK(expose_evhandler), NULL);
 }  
   
 static void  
 gui_gtk_terminate(void)  
 {  
   
         /* Nothing to do */  
 }  }
   
 void  void
Line 391  gui_gtk_widget_mainloop(void) Line 345  gui_gtk_widget_mainloop(void)
 {  {
   
         install_idle_process();          install_idle_process();
         gtk_quit_add(1, main_widget_quit, NULL);          gtk_quit_add(1, main_loop_quit, NULL);
         gtk_main();          gtk_main();
         uninstall_idle_process();          uninstall_idle_process();
 }  }
Line 420  gui_gtk_set_window_title(const char* str Line 374  gui_gtk_set_window_title(const char* str
         gtk_window_set_title(GTK_WINDOW(main_window), str);          gtk_window_set_title(GTK_WINDOW(main_window), str);
 }  }
   
 void  int
 gui_gtk_messagebox(const char *title, const char *msg)  gui_gtk_msgbox(const char *title, const char *msg, UINT flags)
 {  {
           GtkWidget *dialog;
           GtkMessageType msgtype;
           GtkButtonsType btntype;
           int retval;
           int rv;
   
         g_message("%s:\n%s", title, msg);          uninstall_idle_process();
 }  
   
 /* toolkit data */          switch (flags & TK_MB_BTN_MASK) {
 gui_toolkit_t gtk_toolkit = {          default:
         gui_gtk_get_toolkit,                  btntype = GTK_BUTTONS_OK;
         gui_gtk_arginit,                  break;
         gui_gtk_terminate,  
         gui_gtk_widget_create,          case TK_MB_OK:
         gui_gtk_widget_show,                  btntype = GTK_BUTTONS_OK;
         gui_gtk_widget_mainloop,                  break;
         gui_gtk_widget_quit,  
         gui_gtk_event_process,          case TK_MB_CANCEL:
         gui_gtk_set_window_title,                  btntype = GTK_BUTTONS_CANCEL;
         gui_gtk_messagebox,                  break;
 };  
           case TK_MB_OKCANCEL:
                   btntype = GTK_BUTTONS_OK_CANCEL;
                   break;
   
           case TK_MB_YESNO:
                   btntype = GTK_BUTTONS_YES_NO;
                   break;
           }
   
           if (flags & TK_MB_ICON_INFO) {
                   msgtype = GTK_MESSAGE_INFO;
           } else if (flags & TK_MB_ICON_WARNING) {
                   msgtype = GTK_MESSAGE_WARNING;
           } else if (flags & TK_MB_ICON_ERROR) {
                   msgtype = GTK_MESSAGE_ERROR;
           } else if (flags & TK_MB_ICON_QUESTION) {
                   msgtype = GTK_MESSAGE_QUESTION;
           } else {
                   msgtype = GTK_MESSAGE_OTHER;
           }
   
           dialog = gtk_message_dialog_new(GTK_WINDOW(main_window),
               GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL,
               msgtype, btntype, msg);
           gtk_window_set_title(GTK_WINDOW(dialog), title);
   
           gtk_widget_show_all(dialog);
   
           rv = gtk_dialog_run(GTK_DIALOG(dialog));
           switch (rv) {
           case GTK_RESPONSE_OK:
                   retval = TK_MB_OK;
                   break;
   
           case GTK_RESPONSE_CANCEL:
                   retval = TK_MB_CANCEL;
                   break;
   
           case GTK_RESPONSE_YES:
                   retval = TK_MB_YES;
                   break;
   
           case GTK_RESPONSE_NO:
                   retval = TK_MB_NO;
                   break;
   
           default:
                   retval = 0;     /* XXX */
                   break;
           }
   
           gtk_widget_destroy(dialog);
           install_idle_process();
   
           return retval;
   }

Removed from v.1.8  
changed lines
  Added in v.1.13


RetroPC.NET-CVS <cvs@retropc.net>