static bool ModGetLine( a_window *wnd, int row, int piece, wnd_line_piece *line ) { mod_handle handle; mod_window *mod = WndMod( wnd ); modinfo *info; if( row >= ModListNumRows( ModList( mod ) ) ) return( FALSE ); handle = ModListMod( ModList( mod ), row ); line->tabstop = FALSE; switch( piece ) { case PIECE_SOURCE: info = &mod->info[ row ]; info->source = ModHasSourceInfo( handle ); info->open = OpenGadget( wnd, line, handle, info->source ); return( TRUE ); case PIECE_MODULE: line->indent = MaxGadgetLength; line->tabstop = TRUE; ModListName( ModList( mod ), row, TxtBuff ); line->text = TxtBuff; return( TRUE ); case PIECE_IMAGE: line->indent = mod->max_modlen + MaxGadgetLength; line->text = ModImageName( handle ); return( TRUE ); default: return( FALSE ); } }
static void AsmSetTitle( a_window *wnd ) { char *p; char *image_name; asm_window *asw = WndAsm( wnd ); p = StrCopy( ": ", StrCopy( LIT( WindowAssembly ), TxtBuff ) ); p += ModName( asw->mod, p, TXT_LEN ); image_name = ModImageName( asw->mod ); if( image_name[0] != '\0' ) { p = StrCopy( "(", StrCopy( " ", p ) ); p = StrCopy( ")", StrCopy( SkipPathInfo( image_name, OP_REMOTE ), p ) ); } WndSetTitle( wnd, TxtBuff ); }
static void FileSetTitle( a_window *wnd, mod_handle mod ) { char *p; const char *image_name; file_window *file = WndFile( wnd ); if( file->track ) { p = StrCopy( ": ", StrCopy( LIT_DUI( WindowSource ), TxtBuff ) ); } else { p = TxtBuff; } if( file->viewhndl != NULL ) { p = StrCopy( SkipPathInfo( FGetName( file->viewhndl ), 0 ), p ); } else if( file->mod != NO_MOD ) { p += ModName( file->mod, p, TXT_LEN ); } image_name = ModImageName( mod ); if( image_name[0] != NULLCHAR ) { p = StrCopy( "(", StrCopy( " ", p ) ); p = StrCopy( ")", StrCopy( SkipPathInfo( image_name, OP_REMOTE ), p ) ); } WndSetTitle( wnd, TxtBuff ); }