Mercurial > dwindows
comparison gtk/dw.c @ 122:a05b6fb9c545
Minor bug fixes and code cleanups.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 19 Oct 2002 23:24:06 +0000 |
parents | d8af32b1b1cd |
children | 54014258099a |
comparison
equal
deleted
inserted
replaced
121:d8af32b1b1cd | 122:a05b6fb9c545 |
---|---|
1225 | 1225 |
1226 style = gtk_style_copy(gtk_widget_get_style(handle)); | 1226 style = gtk_style_copy(gtk_widget_get_style(handle)); |
1227 style->text[0] = style->text[1] = style->fg[0] = style->fg[1] = forecolor; | 1227 style->text[0] = style->text[1] = style->fg[0] = style->fg[1] = forecolor; |
1228 style->base[0] = style->base[1] = style->bg[0] = style->bg[1] = backcolor; | 1228 style->base[0] = style->base[1] = style->bg[0] = style->bg[1] = backcolor; |
1229 gtk_widget_set_style(handle, style); | 1229 gtk_widget_set_style(handle, style); |
1230 | 1230 |
1231 _save_gdk_colors(handle, forecolor, backcolor); | 1231 _save_gdk_colors(handle, forecolor, backcolor); |
1232 | 1232 |
1233 if(GTK_IS_CLIST(handle)) | 1233 if(GTK_IS_CLIST(handle)) |
1234 { | 1234 { |
1235 int z, rowcount = (int)gtk_object_get_data(GTK_OBJECT(handle), "rowcount"); | 1235 int z, rowcount = (int)gtk_object_get_data(GTK_OBJECT(handle), "rowcount"); |
1962 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (tmpbox), | 1962 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (tmpbox), |
1963 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | 1963 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
1964 tmp = gtk_text_view_new(); | 1964 tmp = gtk_text_view_new(); |
1965 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tmpbox), tmp); | 1965 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tmpbox), tmp); |
1966 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tmp), GTK_WRAP_NONE); | 1966 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tmp), GTK_WRAP_NONE); |
1967 gtk_object_set_user_data(GTK_OBJECT(tmpbox), (gpointer)tmp); | |
1968 scroller = NULL; | |
1967 #else | 1969 #else |
1968 tmpbox = gtk_hbox_new(FALSE, 0); | 1970 tmpbox = gtk_hbox_new(FALSE, 0); |
1969 tmp = gtk_text_new(NULL, NULL); | 1971 tmp = gtk_text_new(NULL, NULL); |
1970 gtk_text_set_word_wrap(GTK_TEXT(tmp), FALSE); | 1972 gtk_text_set_word_wrap(GTK_TEXT(tmp), FALSE); |
1971 gtk_text_set_line_wrap(GTK_TEXT(tmp), FALSE); | 1973 gtk_text_set_line_wrap(GTK_TEXT(tmp), FALSE); |
2409 #else | 2411 #else |
2410 if(GTK_IS_BOX(handle)) | 2412 if(GTK_IS_BOX(handle)) |
2411 #endif | 2413 #endif |
2412 { | 2414 { |
2413 GtkWidget *tmp = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "mle"); | 2415 GtkWidget *tmp = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "mle"); |
2414 GdkFont *font = (GdkFont *)gtk_object_get_data(GTK_OBJECT(handle), "gdkfont"); | |
2415 | 2416 |
2416 #if GTK_MAJOR_VERSION > 1 | 2417 #if GTK_MAJOR_VERSION > 1 |
2417 if(tmp && GTK_IS_TEXT_VIEW(tmp)) | 2418 if(tmp && GTK_IS_TEXT_VIEW(tmp)) |
2418 { | 2419 { |
2419 char *impbuf = malloc(strlen(buffer)+1); | 2420 char *impbuf = malloc(strlen(buffer)+1); |
2427 gtk_text_buffer_place_cursor(tbuffer, &iter); | 2428 gtk_text_buffer_place_cursor(tbuffer, &iter); |
2428 gtk_text_buffer_insert_at_cursor(tbuffer, impbuf, -1); | 2429 gtk_text_buffer_insert_at_cursor(tbuffer, impbuf, -1); |
2429 free(impbuf); | 2430 free(impbuf); |
2430 } | 2431 } |
2431 #else | 2432 #else |
2433 GdkFont *font = (GdkFont *)gtk_object_get_data(GTK_OBJECT(handle), "gdkfont"); | |
2434 | |
2432 if(tmp && GTK_IS_TEXT(tmp)) | 2435 if(tmp && GTK_IS_TEXT(tmp)) |
2433 { | 2436 { |
2434 GdkColor *fore = (GdkColor *)gtk_object_get_data(GTK_OBJECT(handle), "foregdk"); | 2437 GdkColor *fore = (GdkColor *)gtk_object_get_data(GTK_OBJECT(handle), "foregdk"); |
2435 GdkColor *back = (GdkColor *)gtk_object_get_data(GTK_OBJECT(handle), "backgdk"); | 2438 GdkColor *back = (GdkColor *)gtk_object_get_data(GTK_OBJECT(handle), "backgdk"); |
2436 char *impbuf = malloc(strlen(buffer)+1); | 2439 char *impbuf = malloc(strlen(buffer)+1); |
2585 { | 2588 { |
2586 int length, _locked_by_me = FALSE; | 2589 int length, _locked_by_me = FALSE; |
2587 | 2590 |
2588 DW_MUTEX_LOCK; | 2591 DW_MUTEX_LOCK; |
2589 #if GTK_MAJOR_VERSION > 1 | 2592 #if GTK_MAJOR_VERSION > 1 |
2593 if(GTK_IS_SCROLLED_WINDOW(handle)) | |
2594 { | |
2595 GtkWidget *tmp = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "mle"); | |
2596 | |
2597 if(tmp && GTK_IS_TEXT_VIEW(tmp)) | |
2598 { | |
2599 GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(tmp)); | |
2600 | |
2601 length = -1; | |
2602 gtk_text_buffer_set_text(buffer, "", length); | |
2603 } | |
2604 } | |
2590 #else | 2605 #else |
2591 if(GTK_IS_BOX(handle)) | 2606 if(GTK_IS_BOX(handle)) |
2592 { | 2607 { |
2593 GtkWidget *tmp = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "mle"); | 2608 GtkWidget *tmp = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "mle"); |
2594 | 2609 |
4288 pixmap->width = width; pixmap->height = height; | 4303 pixmap->width = width; pixmap->height = height; |
4289 | 4304 |
4290 | 4305 |
4291 DW_MUTEX_LOCK; | 4306 DW_MUTEX_LOCK; |
4292 pixmap->handle = handle; | 4307 pixmap->handle = handle; |
4293 #if GTK_MAJOR_VERSION > 1 | |
4294 pixmap->pixmap = (GdkPixmap *)gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, depth, width, height); | |
4295 #else | |
4296 pixmap->pixmap = gdk_pixmap_new(handle->window, width, height, depth); | 4308 pixmap->pixmap = gdk_pixmap_new(handle->window, width, height, depth); |
4297 #endif | |
4298 DW_MUTEX_UNLOCK; | 4309 DW_MUTEX_UNLOCK; |
4299 return pixmap; | 4310 return pixmap; |
4300 } | 4311 } |
4301 | 4312 |
4302 /* | 4313 /* |
4351 void dw_pixmap_destroy(HPIXMAP pixmap) | 4362 void dw_pixmap_destroy(HPIXMAP pixmap) |
4352 { | 4363 { |
4353 int _locked_by_me = FALSE; | 4364 int _locked_by_me = FALSE; |
4354 | 4365 |
4355 DW_MUTEX_LOCK; | 4366 DW_MUTEX_LOCK; |
4356 #if GTK_MAJOR_VERSION > 1 | |
4357 gdk_pixbuf_unref((GdkPixbuf *)pixmap->pixmap); | |
4358 #else | |
4359 gdk_pixmap_unref(pixmap->pixmap); | 4367 gdk_pixmap_unref(pixmap->pixmap); |
4360 #endif | |
4361 free(pixmap); | 4368 free(pixmap); |
4362 DW_MUTEX_UNLOCK; | 4369 DW_MUTEX_UNLOCK; |
4363 } | 4370 } |
4364 | 4371 |
4365 /* | 4372 /* |
4392 DW_MUTEX_LOCK; | 4399 DW_MUTEX_LOCK; |
4393 if(dest) | 4400 if(dest) |
4394 gc = _set_colors(dest->window); | 4401 gc = _set_colors(dest->window); |
4395 else if(src) | 4402 else if(src) |
4396 gc = _set_colors(src->window); | 4403 gc = _set_colors(src->window); |
4397 #if GTK_MAJOR_VERSION < 1 | |
4398 else if(destp) | 4404 else if(destp) |
4399 gc = gdk_gc_new(destp->pixmap); | 4405 gc = gdk_gc_new(destp->pixmap); |
4400 else if(srcp) | 4406 else if(srcp) |
4401 gc = gdk_gc_new(srcp->pixmap); | 4407 gc = gdk_gc_new(srcp->pixmap); |
4402 #endif | 4408 |
4403 | 4409 if(gc) |
4404 if(gc | 4410 { |
4405 #if GTK_MAJOR_VERSION > 2 | 4411 gdk_draw_pixmap(dest ? dest->window : destp->pixmap, gc, src ? src->window : srcp->pixmap, xsrc, ysrc, xdest, ydest, width, height); |
4406 || (!dest && !src) | |
4407 #endif | |
4408 ) | |
4409 { | |
4410 #if GTK_MAJOR_VERSION < 1 | |
4411 gdk_draw_pixmap(dest ? dest->window : destp->pixmap, gc, src ? src->window : srcp->pixmap, xsrc, ysrc, xdest, ydest, width, height); | |
4412 #else | |
4413 if(dest && srcp) | |
4414 gdk_pixbuf_render_to_drawable((GdkPixbuf *)srcp->pixmap, dest->window, gc, xsrc, ysrc, xdest, ydest, width, height, GDK_RGB_DITHER_NONE, 0, 0); | |
4415 | |
4416 if(gc) | |
4417 #endif | |
4418 gdk_gc_unref(gc); | 4412 gdk_gc_unref(gc); |
4419 } | 4413 } |
4420 DW_MUTEX_UNLOCK; | 4414 DW_MUTEX_UNLOCK; |
4421 } | 4415 } |
4422 | 4416 |
5674 if(GTK_IS_VPANED(widget)) | 5668 if(GTK_IS_VPANED(widget)) |
5675 gtk_paned_set_position(GTK_PANED(widget), (int)(event->height * (*percent / 100.0))); | 5669 gtk_paned_set_position(GTK_PANED(widget), (int)(event->height * (*percent / 100.0))); |
5676 return TRUE; | 5670 return TRUE; |
5677 } | 5671 } |
5678 | 5672 |
5679 #if GTK_MAJOR_VERSION == 2 | 5673 #if GTK_MAJOR_VERSION > 1 |
5680 /* Figure out the new percentage */ | 5674 /* Figure out the new percentage */ |
5681 gint _splitbar_accept_position(GtkWidget *widget, gpointer data) | 5675 gint _splitbar_accept_position(GtkWidget *widget, gpointer data) |
5682 { | 5676 { |
5683 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent"); | 5677 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent"); |
5684 int size = 0, position = gtk_paned_get_position(GTK_PANED(widget)); | 5678 int size = 0, position = gtk_paned_get_position(GTK_PANED(widget)); |
5685 | 5679 |
5686 if(!percent) | 5680 if(!percent) |
5687 return TRUE; | 5681 return TRUE; |
5688 | 5682 |
5689 if(GTK_IS_VPANED(widget)) | 5683 if(GTK_IS_VPANED(widget)) |
5690 size = widget->allocation.height; | 5684 size = widget->allocation.height; |
5720 gtk_paned_add1(GTK_PANED(tmp), topleft); | 5714 gtk_paned_add1(GTK_PANED(tmp), topleft); |
5721 gtk_paned_add2(GTK_PANED(tmp), bottomright); | 5715 gtk_paned_add2(GTK_PANED(tmp), bottomright); |
5722 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); | 5716 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); |
5723 *percent = 50.0; | 5717 *percent = 50.0; |
5724 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_percent", (gpointer)percent); | 5718 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_percent", (gpointer)percent); |
5725 gtk_object_set_data(GTK_OBJECT(topleft), "_dw_splitbar", (gpointer)tmp); | |
5726 gtk_signal_connect(GTK_OBJECT(tmp), "size-allocate", GTK_SIGNAL_FUNC(_splitbar_size_allocate), NULL); | 5719 gtk_signal_connect(GTK_OBJECT(tmp), "size-allocate", GTK_SIGNAL_FUNC(_splitbar_size_allocate), NULL); |
5727 #if GTK_MAJOR_VERSION > 1 | 5720 #if GTK_MAJOR_VERSION > 1 |
5728 gtk_signal_connect(GTK_OBJECT(tmp), "accept-position", GTK_SIGNAL_FUNC(_splitbar_accept_position), NULL); | 5721 gtk_signal_connect(GTK_OBJECT(tmp), "accept-position", GTK_SIGNAL_FUNC(_splitbar_accept_position), NULL); |
5729 #else | 5722 #else |
5730 gtk_paned_set_handle_size(GTK_PANED(tmp), 3); | 5723 gtk_paned_set_handle_size(GTK_PANED(tmp), 3); |