comparison finch/libgnt/gntwidget.c @ 21250:9187d331aebe

Add gnt_color_pair, which will replace color codes with 'appropriate' text attributes if the terminal doesn't support color. Fixes #3560. I have included the output of diffstat of the changeset. Do we like this in our commit message? If we do, we can use the stuff rekkanoryo has for gf. ---------------------------------------------------------------------- ChangeLog.API | 7 +++++++ finch/libgnt/gntbox.c | 10 +++++----- finch/libgnt/gntbutton.c | 3 ++- finch/libgnt/gntcheckbox.c | 4 ++-- finch/libgnt/gntcolors.c | 11 +++++++++++ finch/libgnt/gntcolors.h | 13 +++++++++++++ finch/libgnt/gntcombobox.c | 8 ++++---- finch/libgnt/gntentry.c | 4 ++-- finch/libgnt/gntline.c | 4 ++-- finch/libgnt/gntmain.c | 4 ++-- finch/libgnt/gntmenu.c | 4 ++-- finch/libgnt/gntslider.c | 10 +++++----- finch/libgnt/gnttextview.c | 14 +++++++------- finch/libgnt/gnttree.c | 37 ++++++++++++++++++------------------- finch/libgnt/gntwidget.c | 22 +++++++++++----------- finch/libgnt/gntwm.c | 4 ++-- finch/libgnt/gntws.c | 10 +++++----- 17 files changed, 100 insertions(+), 69 deletions(-)
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Tue, 16 Oct 2007 09:51:12 +0000
parents 44b4e8bd759b
children ae330012956f
comparison
equal deleted inserted replaced
21249:930d0b49ebcf 21250:9187d331aebe
418 418
419 void 419 void
420 gnt_widget_hide(GntWidget *widget) 420 gnt_widget_hide(GntWidget *widget)
421 { 421 {
422 g_signal_emit(widget, signals[SIG_HIDE], 0); 422 g_signal_emit(widget, signals[SIG_HIDE], 0);
423 wbkgdset(widget->window, '\0' | COLOR_PAIR(GNT_COLOR_NORMAL)); 423 wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_NORMAL));
424 #if 0 424 #if 0
425 /* XXX: I have no clue why, but this seemed to be necessary. */ 425 /* XXX: I have no clue why, but this seemed to be necessary. */
426 if (gnt_widget_has_shadow(widget)) 426 if (gnt_widget_has_shadow(widget))
427 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); 427 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height);
428 #endif 428 #endif
475 gboolean shadow = TRUE; 475 gboolean shadow = TRUE;
476 476
477 if (!gnt_widget_has_shadow(widget)) 477 if (!gnt_widget_has_shadow(widget))
478 shadow = FALSE; 478 shadow = FALSE;
479 479
480 wbkgd(widget->window, COLOR_PAIR(GNT_COLOR_NORMAL)); 480 wbkgd(widget->window, gnt_color_pair(GNT_COLOR_NORMAL));
481 werase(widget->window); 481 werase(widget->window);
482 482
483 if (!(GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_NO_BORDER)) 483 if (!(GNT_WIDGET_FLAGS(widget) & GNT_WIDGET_NO_BORDER))
484 { 484 {
485 /* - This is ugly. */ 485 /* - This is ugly. */
486 /* - What's your point? */ 486 /* - What's your point? */
487 mvwvline(widget->window, 0, 0, ACS_VLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.height); 487 mvwvline(widget->window, 0, 0, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.height);
488 mvwvline(widget->window, 0, widget->priv.width - 1, 488 mvwvline(widget->window, 0, widget->priv.width - 1,
489 ACS_VLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.height); 489 ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.height);
490 mvwhline(widget->window, widget->priv.height - 1, 0, 490 mvwhline(widget->window, widget->priv.height - 1, 0,
491 ACS_HLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.width); 491 ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.width);
492 mvwhline(widget->window, 0, 0, ACS_HLINE | COLOR_PAIR(GNT_COLOR_NORMAL), widget->priv.width); 492 mvwhline(widget->window, 0, 0, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL), widget->priv.width);
493 mvwaddch(widget->window, 0, 0, ACS_ULCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); 493 mvwaddch(widget->window, 0, 0, ACS_ULCORNER | gnt_color_pair(GNT_COLOR_NORMAL));
494 mvwaddch(widget->window, 0, widget->priv.width - 1, 494 mvwaddch(widget->window, 0, widget->priv.width - 1,
495 ACS_URCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); 495 ACS_URCORNER | gnt_color_pair(GNT_COLOR_NORMAL));
496 mvwaddch(widget->window, widget->priv.height - 1, 0, 496 mvwaddch(widget->window, widget->priv.height - 1, 0,
497 ACS_LLCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); 497 ACS_LLCORNER | gnt_color_pair(GNT_COLOR_NORMAL));
498 mvwaddch(widget->window, widget->priv.height - 1, widget->priv.width - 1, 498 mvwaddch(widget->window, widget->priv.height - 1, widget->priv.width - 1,
499 ACS_LRCORNER | COLOR_PAIR(GNT_COLOR_NORMAL)); 499 ACS_LRCORNER | gnt_color_pair(GNT_COLOR_NORMAL));
500 } 500 }
501 501
502 if (shadow) 502 if (shadow)
503 { 503 {
504 wbkgdset(widget->window, '\0' | COLOR_PAIR(GNT_COLOR_SHADOW)); 504 wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_SHADOW));
505 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height); 505 mvwvline(widget->window, 1, widget->priv.width, ' ', widget->priv.height);
506 mvwhline(widget->window, widget->priv.height, 1, ' ', widget->priv.width); 506 mvwhline(widget->window, widget->priv.height, 1, ' ', widget->priv.width);
507 } 507 }
508 } 508 }
509 509