bool MItem::result( WFileName& fn ) { if( ismakeable() ) { fn.setFName( fName() ); if( _isTarget ) { fn.setExt( ext() ); } else { fn.setExt( rule()->resultExt() ); } return( true ); } return( false ); }
void MComponent::makeNames( const char* spec, WFileName& filename, WFileName& relname, WFileName& targ ) { relname = spec; relname.noPath( targ ); relname.setExt( ".tgt" ); filename = relname; filename.absoluteTo( _project->filename() ); }
void VEditDlg::browseButton( WWindow* ) { WWindow *old; WFileName fn; old = WWindow::hasFocus(); fn = _browseDialog->getOpenFileName( NULL, "Enter target filename", WFOpenExisting ); if( fn.size() > 0 ) { fn.setExt( "" ); _editorName->setText( fn ); } old->setFocus(); }
bool MComponent::writeCBR( bool mustExist ) { bool found_a_mbr = false; if( mustExist ) found_a_mbr = true; for( int i=0; i<_workFiles.count(); i++ ) { MWorkFile* w = (MWorkFile*)_workFiles[i]; if( w->browseable() ) { WFileName browfile( _filename ); browfile.setExt( ".cbr" ); WFile brow; if( brow.open( browfile, OStyleWrite ) ) { WFileName tfile; _target->absResult( tfile ); tfile.setExt( "dbr" ); brow.printf( "d %s\n", (const char*)tfile ); for( ; i<_workFiles.count(); i++ ) { MWorkFile* w = (MWorkFile*)_workFiles[i]; if( w->browseable() ) { w->item()->absResult( tfile ); tfile.setExt( "mbr" ); if( mustExist ) { if( access( (const char*)tfile, F_OK ) == 0 ) { // file must be there brow.printf( "f %s\n", (const char*)tfile ); found_a_mbr = true; } } else { brow.printf( "f %s\n", (const char*)tfile ); } } } brow.close(); } if( found_a_mbr ) return( true ); } } return( false ); }
bool MComponent::tryBrowse() { bool rc = false; initWorkFiles( _workFiles ); for( int i=0; i<_workFiles.count(); i++ ) { MItem* m = ((MWorkFile*)_workFiles[i])->item(); WFileName fn = m->component()->relFilename(); // target file name fn.setFName( m->fName() ); fn.setExt( ".mbr" ); if( access( (const char *)fn, F_OK ) == 0 ) { rc = true; break; } } finiWorkFiles(); return( rc ); }
bool Browse::makeFileName( char *buff ) //------------------------------------- { WFileName file; WFileName nfile; char *p; char *q; file = buff; if( file.attribs() ) { // file exists return( true ); } if( _searchPath.length() == 0 ) { return( false ); } p = new char [_searchPath.length() + 1]; if( p == NULL ) return( false ); strcpy( p, _searchPath ); q = strtok( p, ";" ); while( q != NULL ) { nfile = ""; nfile.setDir( q ); nfile.setFName( file.fName() ); nfile.setExt( file.ext() ); if( nfile.attribs() ) { strcpy( buff, nfile.gets() ); delete[] p; return( true ); } q = strtok( NULL, ";" ); } delete[] p; return( false ); }
void EdModule::addButton( WWindow * ) //----------------------------------- { int i; int fileIdx; WFileNameList files; WFileDialog fileSelect( this, EdModuleFilter ); bool result; WFileName * file; bool found; result = fileSelect.getOpenFileName( files, NULL, "Select Module File(s)", WFOpenNew ); if( result ) { for( fileIdx = 0; fileIdx < files.count(); fileIdx += 1 ) { file = new WFileName( files.cStringAt( fileIdx ) ); if( *( file->ext() ) == '\0' ) { file->setExt("mbr"); } file->absoluteTo(); file->toLower(); found = false; if( !file->attribs() ) { errMessage( "Module %s%s does not exist", file->fName(), file->ext() ); found = true; } for( i = 0; i < _moduleBox->count() && !found; i += 1 ) { WString * str = (*_moduleBox)[ i ]->_str; if( *str == *file ) { errMessage( "Module %s%s already in project", file->fName(), file->ext() ); found = true; } } for( int i = 0; i < _removedModuleItems->entries() && !found; i++ ) { WString * str = (*_removedModuleItems)[ i ]->_str; if( *str == *file ) { ModuleItem * item = _removedModuleItems->removeAt( i ) ; item->_enabled = true; _moduleBox->insert( item ); found = true; } } if( !found ) { ModuleItem * item = new ModuleItem( file, true ); _moduleBox->insert( item ); } } /* for( i < files.count() ) */ } /* if( result ) */ _moduleBox->reset(); }