comparison gtk/dw.c @ 1321:7630404386be

Fixed setting font on comboboxes for GTK2... Several other widgets still don't work like listbox and spinbutton... Not sure if it is even possible... both these work on GTK3. Also initial commit of container flag to do string comparisons instead of pointer for Mark.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 06 Nov 2011 11:48:24 +0000
parents 6bebcfa03b2b
children 3f1ac800bf65
comparison
equal deleted inserted replaced
1320:6bebcfa03b2b 1321:7630404386be
2963 { 2963 {
2964 GtkWidget *tmp = gtk_frame_get_label_widget(GTK_FRAME(handle)); 2964 GtkWidget *tmp = gtk_frame_get_label_widget(GTK_FRAME(handle));
2965 if(tmp) 2965 if(tmp)
2966 handle2 = tmp; 2966 handle2 = tmp;
2967 } 2967 }
2968 else if(GTK_IS_COMBO_BOX(handle) || GTK_IS_BUTTON(handle)) 2968 else if(GTK_IS_BUTTON(handle))
2969 { 2969 {
2970 GtkWidget *tmp = gtk_bin_get_child(GTK_BIN(handle)); 2970 GtkWidget *tmp = gtk_bin_get_child(GTK_BIN(handle));
2971 if(tmp) 2971 if(tmp)
2972 handle2 = tmp; 2972 handle2 = tmp;
2973 } 2973 }
2974 else if(GTK_IS_COMBO(handle))
2975 {
2976 GtkWidget *tmp = GTK_COMBO(handle)->entry;
2977 if(tmp)
2978 handle2 = tmp;
2979 }
2980
2974 2981
2975 #if GTK_MAJOR_VERSION < 2 2982 #if GTK_MAJOR_VERSION < 2
2976 /* Free old font if it exists */ 2983 /* Free old font if it exists */
2977 gdkfont = (GdkFont *)gtk_object_get_data(GTK_OBJECT(handle2), "_dw_gdkfont"); 2984 gdkfont = (GdkFont *)gtk_object_get_data(GTK_OBJECT(handle2), "_dw_gdkfont");
2978 if(gdkfont) 2985 if(gdkfont)
7538 */ 7545 */
7539 void dw_container_cursor(HWND handle, char *text) 7546 void dw_container_cursor(HWND handle, char *text)
7540 { 7547 {
7541 int _locked_by_me = FALSE; 7548 int _locked_by_me = FALSE;
7542 GtkWidget *clist; 7549 GtkWidget *clist;
7543 int rowcount, z; 7550 int rowcount, z, textcomp;
7544 char *rowdata; 7551 char *rowdata;
7545 7552
7546 DW_MUTEX_LOCK; 7553 DW_MUTEX_LOCK;
7547 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle)); 7554 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle));
7548 7555
7549 if(!clist) 7556 if(!clist)
7550 { 7557 {
7551 DW_MUTEX_UNLOCK; 7558 DW_MUTEX_UNLOCK;
7552 return; 7559 return;
7553 } 7560 }
7561 textcomp = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_textcomp"));
7554 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); 7562 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"));
7555 7563
7556 for(z=0;z<rowcount;z++) 7564 for(z=0;z<rowcount;z++)
7557 { 7565 {
7558 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); 7566 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z);
7559 if ( rowdata == text ) 7567 if ( (textcomp && rowdata && strcmp(rowdata, text) == 0) || rowdata == text )
7560 { 7568 {
7561 gfloat pos; 7569 gfloat pos;
7562 GtkAdjustment *adj = gtk_clist_get_vadjustment(GTK_CLIST(clist)); 7570 GtkAdjustment *adj = gtk_clist_get_vadjustment(GTK_CLIST(clist));
7563 7571
7564 _dw_unselect(clist); 7572 _dw_unselect(clist);
7583 */ 7591 */
7584 void dw_container_delete_row(HWND handle, char *text) 7592 void dw_container_delete_row(HWND handle, char *text)
7585 { 7593 {
7586 int _locked_by_me = FALSE; 7594 int _locked_by_me = FALSE;
7587 GtkWidget *clist; 7595 GtkWidget *clist;
7588 int rowcount, z; 7596 int rowcount, z, textcomp;
7589 char *rowdata; 7597 char *rowdata;
7590 7598
7591 DW_MUTEX_LOCK; 7599 DW_MUTEX_LOCK;
7592 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle)); 7600 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle));
7593 7601
7594 if(!clist) 7602 if(!clist)
7595 { 7603 {
7596 DW_MUTEX_UNLOCK; 7604 DW_MUTEX_UNLOCK;
7597 return; 7605 return;
7598 } 7606 }
7607 textcomp = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_textcomp"));
7599 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); 7608 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"));
7600 7609
7601 for(z=0;z<rowcount;z++) 7610 for(z=0;z<rowcount;z++)
7602 { 7611 {
7603 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); 7612 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z);
7604 if ( rowdata == text ) 7613 if ( (textcomp && rowdata && strcmp(rowdata, text) == 0) || rowdata == text )
7605 { 7614 {
7606 _dw_unselect(clist); 7615 _dw_unselect(clist);
7607 7616
7608 gtk_clist_remove(GTK_CLIST(clist), z); 7617 gtk_clist_remove(GTK_CLIST(clist), z);
7609 7618