Mercurial > dwindows
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 |