Exemple #1
0
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" );
		}
	}
}
Exemple #2
0
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 );
}