Date: Thu, 9 Mar 1995 09:03:24 -0700 From: Steve Misek <misek@boulder.openware.com> To: avraad@nyqsdsn1.eq.gs.com Cc: oi-users@freefall.cdrom.com Subject: Re: adding cells to Help menu Message-ID: <199503091603.JAA03687@marvin.boulder.openware.com>
index | next in thread | raw e-mail
I should start charging you a beer for each of these answers :-)
You may find the following piece of code an interesting addition to your
arsenal of tools when playing with OI. This piece of code will traverse
a given object hierarchy and print out the names of all objects (properly
indented -- well for vi users :-), you emacs type will just have to cope)
in its path. Feed it a pointer to your top level app_window and it'll
print out the full application window tree....
steve
-------------------- cut here --------------------
void
print_tree( OI_d_tech* dtp, OI_bool abs )
{
/* External Procedures: */
/* Local Variables: */
static int ntabs = 0;
static char tabs[64] ;
int i ;
/*
Procedure:
*/
if (!ntabs)
tabs[0] = '\0';
if (ntabs)
fprintf(stderr, tabs);
fprintf( stderr, "%s: ", dtp->name() );
if (dtp->is_internal_object()) {
fprintf( stderr, "(uib %smodifiable) ", dtp->is_modifiable_internal() ? " " : "NON " );
}
fprintf( stderr, "\n" );
tabs[ntabs++] = '\t';
tabs[ntabs] = '\0';
for (i= abs ? dtp->abs_num_props() : dtp->num_props(); i--;)
print_tree( abs ? dtp->abs_numbered_child(i) : dtp->numbered_child(i), abs );
tabs[--ntabs] = '\0' ;
}
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503091603.JAA03687>
