comparison gtk/dw.c @ 1121:fb92778105b2

Fixes some major window positioning problems in GTK3... and some minor ones in GTK2.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 26 Aug 2011 18:36:53 +0000
parents 63dd52ba9a8f
children e52c710e6d08
comparison
equal deleted inserted replaced
1120:b2e060f43329 1121:fb92778105b2
2474 dw_box_pack_start(buttonbox, cancelbutton, 50, 30, TRUE, FALSE, 2); 2474 dw_box_pack_start(buttonbox, cancelbutton, 50, 30, TRUE, FALSE, 2);
2475 dw_signal_connect(cancelbutton, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(_dw_cancel_func), (void *)dwwait); 2475 dw_signal_connect(cancelbutton, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(_dw_cancel_func), (void *)dwwait);
2476 } 2476 }
2477 2477
2478 height = max(50,text_height)+100; 2478 height = max(50,text_height)+100;
2479 x = ( - (text_width+60+extra_width))/2; 2479 x = (dw_screen_width() - (text_width+60+extra_width))/2;
2480 y = (dw_screen_height() - height)/2; 2480 y = (dw_screen_height() - height)/2;
2481 2481
2482 dw_window_set_pos_size(entrywindow, x, y, (text_width+60+extra_width), height); 2482 dw_window_set_pos_size(entrywindow, x, y, (text_width+60+extra_width), height);
2483 2483
2484 dw_window_show(entrywindow); 2484 dw_window_show(entrywindow);
9471 int _locked_by_me = FALSE; 9471 int _locked_by_me = FALSE;
9472 #if GTK_MAJOR_VERSION > 1 9472 #if GTK_MAJOR_VERSION > 1
9473 GtkWidget *mdi; 9473 GtkWidget *mdi;
9474 #endif 9474 #endif
9475 9475
9476 if(!handle)
9477 return;
9478
9476 DW_MUTEX_LOCK; 9479 DW_MUTEX_LOCK;
9477 #if GTK_MAJOR_VERSION > 1 9480 #if GTK_MAJOR_VERSION > 1
9478 if((mdi = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi)) 9481 if((mdi = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
9479 { 9482 {
9480 gtk_mdi_move(GTK_MDI(mdi), handle, x, y); 9483 gtk_mdi_move(GTK_MDI(mdi), handle, x, y);
9481 } 9484 }
9482 else 9485 else
9483 #endif 9486 #endif
9484 { 9487 {
9485 if(handle && handle->window) 9488 GdkWindow *window = NULL;
9486 gdk_window_move(handle->window, x, y); 9489
9490 if(GTK_IS_WINDOW(handle))
9491 {
9492 #if GTK_MAJOR_VERSION > 1
9493 gtk_window_move(GTK_WINDOW(handle), x, y);
9494 #else
9495 gtk_widget_set_uposition(handle, x, y);
9496 #endif
9497 }
9498 else if((window = gtk_widget_get_window(handle)))
9499 gdk_window_move(window, x, y);
9487 } 9500 }
9488 DW_MUTEX_UNLOCK; 9501 DW_MUTEX_UNLOCK;
9489 } 9502 }
9490 9503
9491 /* 9504 /*
9504 GtkWidget *mdi; 9517 GtkWidget *mdi;
9505 #endif 9518 #endif
9506 9519
9507 if(!handle) 9520 if(!handle)
9508 return; 9521 return;
9522
9509 DW_MUTEX_LOCK; 9523 DW_MUTEX_LOCK;
9510 #if GTK_MAJOR_VERSION > 1 9524 #if GTK_MAJOR_VERSION > 1
9511 if((mdi = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi)) 9525 if((mdi = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_mdi")) && GTK_IS_MDI(mdi))
9512 { 9526 {
9513 gtk_mdi_move(GTK_MDI(mdi), handle, x, y); 9527 gtk_mdi_move(GTK_MDI(mdi), handle, x, y);
9516 #endif 9530 #endif
9517 { 9531 {
9518 if(GTK_IS_WINDOW(handle)) 9532 if(GTK_IS_WINDOW(handle))
9519 { 9533 {
9520 dw_window_set_size(handle, width, height); 9534 dw_window_set_size(handle, width, height);
9535 #if GTK_MAJOR_VERSION > 1
9536 gtk_window_move(GTK_WINDOW(handle), x, y);
9537 #else
9521 gtk_widget_set_uposition(handle, x, y); 9538 gtk_widget_set_uposition(handle, x, y);
9539 #endif
9522 } 9540 }
9523 else if(handle->window) 9541 else if(handle->window)
9524 { 9542 {
9525 gdk_window_resize(handle->window, width, height); 9543 gdk_window_resize(handle->window, width, height);
9526 gdk_window_move(handle->window, x, y); 9544 gdk_window_move(handle->window, x, y);