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);