static void row_info( iObject *iobject, VipsBuf *buf ) { Row *row = ROW( iobject ); vips_buf_appends( buf, _( "Name" ) ); vips_buf_appends( buf, ": " ); row_qualified_name( row, buf ); vips_buf_appends( buf, "\n" ); if( row->expr ) iobject_info( IOBJECT( row->expr ), buf ); if( row->child_rhs && row->child_rhs->itext ) iobject_info( IOBJECT( row->child_rhs->itext ), buf ); if( row->child_rhs && row->child_rhs->graphic ) iobject_info( IOBJECT( row->child_rhs->graphic ), buf ); if( row->top_row->sym ) { if( row->top_row->sym->topchildren ) { row_qualified_name( row, buf ); vips_buf_appends( buf, " " ); /* Expands to eg. "B1 refers to: B2, B3". */ vips_buf_appends( buf, _( "refers to" ) ); vips_buf_appends( buf, ": " ); slist_map_rev( row->top_row->sym->topchildren, (SListMapFn) row_add_child_name, buf ); vips_buf_appends( buf, "\n" ); } if( row->top_row->sym->topparents ) { row_qualified_name( row, buf ); vips_buf_appends( buf, " " ); /* Expands to eg. "B1 is referred to by: B2, B3". */ vips_buf_appends( buf, _( "is referred to by" ) ); vips_buf_appends( buf, ": " ); slist_map_rev( row->top_row->sym->topparents, (SListMapFn) row_add_parent_name, buf ); vips_buf_appends( buf, "\n" ); } } if( row == row->top_row && row->sym && row->sym->dirty ) { Symbol *sym = row->sym; if( sym->ndirtychildren ) { row_qualified_name( row, buf ); vips_buf_appends( buf, " " ); vips_buf_appends( buf, _( "is blocked on" ) ); vips_buf_appends( buf, ": " ); slist_map_rev( sym->topchildren, (SListMapFn) row_add_dirty_child_name, buf ); vips_buf_appends( buf, "\n" ); } } }
static void stringset_build( GtkWidget *widget ) { Stringset *ss = STRINGSET( widget ); iDialog *idlg = IDIALOG( widget ); GSList *p; #ifdef DEBUG printf( "stringset_build: %s\n", IWINDOW( ss )->title ); #endif /*DEBUG*/ /* Call all builds in superclasses. */ if( IWINDOW_CLASS( stringset_parent_class )->build ) IWINDOW_CLASS( stringset_parent_class )->build( widget ); ss->group = gtk_size_group_new( GTK_SIZE_GROUP_HORIZONTAL ); for( p = ss->children; p; p = p->next ) { StringsetChild *ssc = (StringsetChild *) p->data; ssc->entry = build_glabeltext4( idlg->work, ss->group, ssc->label ); if( ssc->text ) set_gentry( ssc->entry, "%s", ssc->text ); if( ssc->tooltip ) set_tooltip( ssc->entry, "%s", ssc->tooltip ); } /* Set defaults in reverse, so we get top item with focus. */ (void) slist_map_rev( ss->children, (SListMapFn) stringset_build_set_default, idlg ); gtk_widget_show_all( idlg->work ); }