indent class lists
"vips list classes" now indents the class lists by structure
This commit is contained in:
parent
03226f6f67
commit
580536e412
|
@ -111,6 +111,8 @@ vips_arithmetic_class_init( VipsArithmeticClass *class )
|
|||
gobject_class->set_property = vips_object_set_property;
|
||||
gobject_class->get_property = vips_object_get_property;
|
||||
|
||||
vobject_class->nickname = "arithmetic";
|
||||
vobject_class->description = _( "VIPS arithmetic operations" );
|
||||
vobject_class->build = vips_arithmetic_build;
|
||||
|
||||
pspec = g_param_spec_object( "out", "Output",
|
||||
|
|
|
@ -359,6 +359,8 @@ vips_binary_class_init( VipsBinaryClass *class )
|
|||
gobject_class->set_property = vips_object_set_property;
|
||||
gobject_class->get_property = vips_object_get_property;
|
||||
|
||||
vobject_class->nickname = "binary";
|
||||
vobject_class->description = _( "VIPS binary operations" );
|
||||
vobject_class->build = vips_binary_build;
|
||||
|
||||
/* Create properties.
|
||||
|
|
|
@ -502,6 +502,8 @@ vips_wrap7_class_init( VipsWrap7Class *class )
|
|||
gobject_class->dispose = vips_wrap7_dispose;
|
||||
gobject_class->finalize = vips_wrap7_finalize;
|
||||
|
||||
vobject_class->nickname = "wrap7";
|
||||
vobject_class->description = _( "vips7 operations as vips8 classes" );
|
||||
vobject_class->build = vips_wrap7_build;
|
||||
}
|
||||
|
||||
|
|
|
@ -291,15 +291,18 @@ vips_format_print_class( VipsObjectClass *object_class, VipsBuf *buf )
|
|||
|
||||
VIPS_OBJECT_CLASS( vips_format_parent_class )->
|
||||
print_class( object_class, buf );
|
||||
vips_buf_appends( buf, ", " );
|
||||
|
||||
vips_buf_appends( buf, ", (" );
|
||||
for( p = class->suffs; *p; p++ ) {
|
||||
vips_buf_appendf( buf, "%s", *p );
|
||||
if( p[1] )
|
||||
vips_buf_appends( buf, ", " );
|
||||
if( class->suffs ) {
|
||||
vips_buf_appends( buf, "(" );
|
||||
for( p = class->suffs; *p; p++ ) {
|
||||
vips_buf_appendf( buf, "%s", *p );
|
||||
if( p[1] )
|
||||
vips_buf_appends( buf, ", " );
|
||||
}
|
||||
vips_buf_appends( buf, ") " );
|
||||
}
|
||||
vips_buf_appends( buf, ") " );
|
||||
|
||||
|
||||
if( class->is_a )
|
||||
vips_buf_appends( buf, "is_a " );
|
||||
if( class->header )
|
||||
|
@ -317,10 +320,9 @@ vips_format_class_init( VipsFormatClass *class )
|
|||
{
|
||||
VipsObjectClass *object_class = (VipsObjectClass *) class;
|
||||
|
||||
object_class->nickname = "format";
|
||||
object_class->description = _( "VIPS file formats" );
|
||||
object_class->print_class = vips_format_print_class;
|
||||
|
||||
object_class->print_class = vips_format_print_class;
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -346,6 +346,7 @@ typedef void *(*VipsClassMap)( VipsObjectClass *, void * );
|
|||
void *vips_type_map( GType base, VipsTypeMap2 fn, void *a, void *b );
|
||||
void *vips_type_map_all( GType base, VipsTypeMap fn, void *a );
|
||||
void *vips_class_map_all( GType base, VipsClassMap fn, void *a );
|
||||
int vips_class_depth( VipsObjectClass *klass );
|
||||
VipsObjectClass *vips_class_find( const char *basename, const char *nickname );
|
||||
GType vips_type_find( const char *basename, const char *nickname );
|
||||
|
||||
|
|
|
@ -1585,6 +1585,22 @@ vips_class_map_all( GType type, VipsClassMap fn, void *a )
|
|||
return( result );
|
||||
}
|
||||
|
||||
/* How deeply nested is a class ... used to indent class lists.
|
||||
*/
|
||||
int
|
||||
vips_class_depth( VipsObjectClass *class )
|
||||
{
|
||||
int depth;
|
||||
GType type;
|
||||
|
||||
type = G_TYPE_FROM_CLASS( class );
|
||||
depth = 0;
|
||||
while( type != VIPS_TYPE_OBJECT && (type = g_type_parent( type )) )
|
||||
depth += 1;
|
||||
|
||||
return( depth );
|
||||
}
|
||||
|
||||
static void *
|
||||
test_name( VipsObjectClass *class, const char *nickname )
|
||||
{
|
||||
|
|
|
@ -178,6 +178,8 @@ vips_operation_class_init( VipsOperationClass *class )
|
|||
{
|
||||
VipsObjectClass *vobject_class = VIPS_OBJECT_CLASS( class );
|
||||
|
||||
vobject_class->nickname = "operation";
|
||||
vobject_class->description = _( "VIPS operations" );
|
||||
vobject_class->print = vips_operation_print;
|
||||
vobject_class->build = vips_operation_build;
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ vips_interpolate_class_init( VipsInterpolateClass *class )
|
|||
#endif /*DEBUG*/
|
||||
|
||||
vobject_class->nickname = "interpolate";
|
||||
vobject_class->description = _( "VIPS interpolation class" );
|
||||
vobject_class->description = _( "VIPS interpolators" );
|
||||
|
||||
class->interpolate = NULL;
|
||||
class->get_window_size = vips_interpolate_real_get_window_size;
|
||||
|
|
10
tools/vips.c
10
tools/vips.c
|
@ -168,10 +168,12 @@ list_function( im_function *func )
|
|||
static void *
|
||||
list_class( VipsObjectClass *class )
|
||||
{
|
||||
/* Ignore abstract classes.
|
||||
*/
|
||||
if( !G_TYPE_IS_ABSTRACT( G_OBJECT_CLASS_TYPE( class ) ) )
|
||||
vips_object_print_class( class );
|
||||
int depth = vips_class_depth( class );
|
||||
int i;
|
||||
|
||||
for( i = 0; i < depth * 2; i++ )
|
||||
printf( " " );
|
||||
vips_object_print_class( class );
|
||||
|
||||
return( NULL );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue