|
|
| version 1.3, 2007/01/02 14:37:29 | version 1.7, 2007/01/23 15:48:20 |
|---|---|
| Line 62 | Line 62 |
| | GDK_LEAVE_NOTIFY_MASK \ | | GDK_LEAVE_NOTIFY_MASK \ |
| | GDK_EXPOSURE_MASK) | | GDK_EXPOSURE_MASK) |
| /* | |
| - Signal: gboolean GtkWidget::destroy_event (GtkWidget *widget, | |
| GdkEventAny *event, gpointer user_data) | |
| */ | |
| static gboolean | static gboolean |
| destroy_evhandler(GtkWidget *w) | destroy_evhandler(GtkWidget *w, GdkEventAny *ev, gpointer p) |
| { | { |
| UNUSED(w); | UNUSED(w); |
| UNUSED(ev); | |
| UNUSED(p); | |
| taskmng_exit(); | |
| toolkit_widget_quit(); | toolkit_widget_quit(); |
| return TRUE; | return TRUE; |
| } | } |
| /* | /* |
| - Signal: gboolean GtkWidget::configure_event(GtkWidget *widget, | - Signal: gboolean GtkWidget::configure_event (GtkWidget *widget, |
| GdkEventConfigure *event, gpointer user_data) | GdkEventConfigure *event, gpointer user_data) |
| */ | */ |
| static gboolean | static gboolean |
| configure_evhandler(GtkWidget *w, GdkEventConfigure *ev, gpointer user_data) | configure_evhandler(GtkWidget *w, GdkEventConfigure *ev, gpointer p) |
| { | { |
| UNUSED(ev); | UNUSED(ev); |
| UNUSED(user_data); | 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; |
| } | } |
| /* | /* |
| - Signal: gboolean GtkWidget::expose_event(GtkWidget *widget, | - Signal: gboolean GtkWidget::expose_event (GtkWidget *widget, |
| GdkEventExpose *event, gpointer user_data) | GdkEventExpose *event, gpointer user_data) |
| */ | */ |
| static gboolean | static gboolean |
| Line 118 key_press_evhandler(GtkWidget *w, GdkEve | Line 124 key_press_evhandler(GtkWidget *w, GdkEve |
| UNUSED(w); | UNUSED(w); |
| UNUSED(p); | UNUSED(p); |
| if ((ev->keyval == GDK_F12) && (np2oscfg.F12KEY == 0)) | if (ev->keyval == GDK_F11) { |
| if ((np2oscfg.F11KEY == 1) && (scrnmode & SCRNMODE_FULLSCREEN)) | |
| xmenu_toggle_menu(); | |
| else if (np2oscfg.F11KEY == 2) | |
| xmenu_select_screen(scrnmode ^ SCRNMODE_FULLSCREEN); | |
| } else if ((ev->keyval == GDK_F12) && (np2oscfg.F12KEY == 0)) | |
| xmenu_toggle_item(NULL, "mousemode", !np2oscfg.MOUSE_SW); | xmenu_toggle_item(NULL, "mousemode", !np2oscfg.MOUSE_SW); |
| else | else |
| gtkkbd_keydown(ev->keyval); | gtkkbd_keydown(ev->keyval); |
| Line 195 button_release_evhandler(GtkWidget *w, G | Line 206 button_release_evhandler(GtkWidget *w, G |
| } | } |
| /* | /* |
| - Signal: gboolean GtkWidget::window_state_event (GtkWidget *widget, | - Signal: gboolean GtkWidget::motion_notify_event (GtkWidget *widget, |
| GdkEventWindowState *event, gpointer user_data) | GdkEventMotion *event, gpointer user_data) |
| */ | */ |
| static gboolean | static gboolean |
| window_state_evhandler(GtkWidget *w, GdkEventWindowState *ev, gpointer p) | motion_notify_evhandler(GtkWidget *w, GdkEventMotion *ev, gpointer p) |
| { | { |
| UNUSED(w); | UNUSED(w); |
| UNUSED(p); | UNUSED(p); |
| if (ev->new_window_state & GDK_WINDOW_STATE_FULLSCREEN) { | if ((scrnmode & SCRNMODE_FULLSCREEN) && (ev->y < 8.0)) |
| /* Nothing to do. */ | xmenu_show(); |
| } | |
| return TRUE; | return TRUE; |
| } | } |
| Line 215 window_state_evhandler(GtkWidget *w, Gdk | Line 226 window_state_evhandler(GtkWidget *w, Gdk |
| /* | /* |
| * misc | * misc |
| */ | */ |
| static gint | |
| main_widget_quit(gpointer p) | |
| { | |
| BYTE orig_scrnmode; | |
| UNUSED(p); | |
| /* change to window mode */ | |
| orig_scrnmode = scrnmode; | |
| xmenu_select_screen(scrnmode & ~SCRNMODE_FULLSCREEN); | |
| scrnmode = orig_scrnmode; | |
| return 0; | |
| } | |
| static void | static void |
| set_icon_bitmap(GtkWidget *w) | set_icon_bitmap(GtkWidget *w) |
| { | { |
| Line 230 set_icon_bitmap(GtkWidget *w) | Line 256 set_icon_bitmap(GtkWidget *w) |
| /* | /* |
| * idle process | * idle process |
| */ | */ |
| static int install_count = 0; | static volatile int install_count = 0; |
| static guint idle_id; | static guint idle_id; |
| void | void |
| Line 292 gui_gtk_widget_create(void) | Line 318 gui_gtk_widget_create(void) |
| GtkWidget *main_vbox; | GtkWidget *main_vbox; |
| GtkWidget *menubar; | GtkWidget *menubar; |
| gchar *accel = NULL; | gchar *accel = NULL; |
| gint root_x, root_y; | |
| main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| gtk_widget_set_double_buffered(GTK_WIDGET(main_window), FALSE); | |
| gtk_window_set_resizable(GTK_WINDOW(main_window), FALSE); | gtk_window_set_resizable(GTK_WINDOW(main_window), FALSE); |
| gtk_window_set_title(GTK_WINDOW(main_window), np2oscfg.titles); | gtk_window_set_title(GTK_WINDOW(main_window), np2oscfg.titles); |
| gtk_widget_add_events(main_window, EVENT_MASK); | gtk_widget_add_events(main_window, EVENT_MASK); |
| Line 308 gui_gtk_widget_create(void) | Line 334 gui_gtk_widget_create(void) |
| gtk_widget_show(menubar); | gtk_widget_show(menubar); |
| drawarea = gtk_drawing_area_new(); | drawarea = gtk_drawing_area_new(); |
| gtk_widget_set_double_buffered(GTK_WIDGET(drawarea), FALSE); | |
| gtk_widget_set_size_request(GTK_WIDGET(drawarea), 640, 400); | gtk_widget_set_size_request(GTK_WIDGET(drawarea), 640, 400); |
| gtk_box_pack_end(GTK_BOX(main_vbox), drawarea, FALSE, TRUE, 0); | gtk_box_pack_end(GTK_BOX(main_vbox), drawarea, FALSE, TRUE, 0); |
| gtk_widget_show(drawarea); | gtk_widget_show(drawarea); |
| Line 322 gui_gtk_widget_create(void) | Line 347 gui_gtk_widget_create(void) |
| } | } |
| gtk_widget_realize(main_window); | gtk_widget_realize(main_window); |
| gdk_window_get_origin(main_window->window, &root_x, &root_y); | |
| gdk_window_reparent(main_window->window, NULL, root_x, root_y); | |
| 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", |
| Line 334 gui_gtk_widget_create(void) | Line 361 gui_gtk_widget_create(void) |
| GTK_SIGNAL_FUNC(button_press_evhandler), NULL); | GTK_SIGNAL_FUNC(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); | GTK_SIGNAL_FUNC(button_release_evhandler), NULL); |
| g_signal_connect(GTK_OBJECT(main_window), "window_state_event", | g_signal_connect(GTK_OBJECT(main_window), "motion_notify_event", |
| GTK_SIGNAL_FUNC(window_state_evhandler), NULL); | GTK_SIGNAL_FUNC(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); | GTK_SIGNAL_FUNC(configure_evhandler), NULL); |
| Line 361 void | Line 388 void |
| gui_gtk_widget_mainloop(void) | gui_gtk_widget_mainloop(void) |
| { | { |
| install_idle_process(); | install_idle_process(); |
| gtk_quit_add(1, main_widget_quit, NULL); | |
| gtk_main(); | gtk_main(); |
| uninstall_idle_process(); | uninstall_idle_process(); |
| } | } |