bool FileOpenGadget( a_window *wnd, wnd_line_piece *line, mod_handle mod ) { a_window *curr; for( curr = WndNext( NULL ); curr != NULL; curr = WndNext( curr ) ) { if( WndClass( curr ) != WND_SOURCE ) continue; if( mod == WndFile( curr )->mod ) { if( line != NULL ) SetGadgetLine( wnd, line, GADGET_OPEN_SOURCE ); return( TRUE ); } } if( line != NULL ) SetGadgetLine( wnd, line, GADGET_CLOSED_SOURCE ); return( FALSE ); }
OVL_EXTERN bool IOGetLine( a_window wnd, wnd_row row, wnd_piece piece, wnd_line_piece *line ) { io_window *io = WndIO( wnd ); // bool ret; io_location *curr; int i; mad_radix old_radix, new_radix; size_t max; if( row >= io->num_rows ) return( false ); curr = &io->list[row]; // ret = true; line->text = TxtBuff; switch( piece ) { case PIECE_READ: SetGadgetLine( wnd, line, GADGET_READ ); return( true ); case PIECE_WRITE: SetGadgetLine( wnd, line, GADGET_WRITE ); line->indent = MaxGadgetLength; return( true ); case PIECE_ADDRESS: AddrToIOString( &curr->addr, TxtBuff, TXT_LEN ); line->indent = 2 * MaxGadgetLength; return( true ); case PIECE_VALUE: new_radix = IOData.info[curr->type].piece_radix; old_radix = NewCurrRadix( new_radix ); line->indent = 2 * MaxGadgetLength + 10 * WndMaxCharX( wnd ); if( curr->value_known ) { max = TXT_LEN; MADTypeHandleToString( new_radix, IOData.info[curr->type].mth, &curr->value, TxtBuff, &max ); } else { for( i = 0; i < IOData.info[curr->type].item_width; ++i ) { TxtBuff[i] = '?'; } TxtBuff[i] = NULLCHAR; } NewCurrRadix( old_radix ); return( true ); default: return( false ); } }
void FileBreakGadget( a_window *wnd, wnd_line_piece *line, bool curr, brkp *bp ) { if( curr ) { if( bp == NULL ) { SetGadgetLine( wnd, line, GADGET_CURRLINE ); } else if( bp->status.b.active ) { SetGadgetLine( wnd, line, GADGET_CURRBREAK ); } else { SetGadgetLine( wnd, line, GADGET_CURRDIMBREAK ); } } else { if( bp == NULL ) { SetGadgetLine( wnd, line, GADGET_NOBREAK ); } else if( bp->status.b.active ) { SetGadgetLine( wnd, line, GADGET_BREAK ); } else { SetGadgetLine( wnd, line, GADGET_DIMBREAK ); } } }