Changeset 368 in Sophya for trunk/SophyaPI/PIext/nobjmgr.cc


Ignore:
Timestamp:
Aug 9, 1999, 1:57:10 PM (26 years ago)
Author:
ercodmgr
Message:

modifs Fenetre de fit et gestion repertoire /func Reza 9/8/99

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/nobjmgr.cc

    r344 r368  
    9191static string* TmpDir;  // Repertoire pour les compilations / link dynamique
    9292
     93static bool BeQuiet = false;  // Moins de messages ...
     94
    9395// Pour completer le nom de l'objet avec le nom du repertoire
    9496static void RemoveSpacesFromName(string & nom);
     
    121123  SetKeepOldDirAtt(dirn, true);
    122124  dirn = "tmp";
     125  CreateDir(dirn);
     126  SetKeepOldDirAtt(dirn, false);
     127  dirn = "func";
    123128  CreateDir(dirn);
    124129  SetKeepOldDirAtt(dirn, false);
     
    239244  (myImgApp->ObjMgrW())->DelDirectory((*it).second.id);
    240245myDirs->erase(it);
    241 cout << "amedObjMgr::DeleteDir() " << dirname << " deleted " << endl; 
     246cout << "NamedObjMgr::DeleteDir() " << dirname << " deleted " << endl; 
    242247return(true);
    243248}
     
    334339
    335340/* --Methode-- */
    336 void NamedObjMgr::CleanTmpDir()
    337 {
    338 }
    339 
    340 /* --Methode-- */
    341 void NamedObjMgr::CleanOldDir()
    342 {
    343 }
     341void NamedObjMgr::CleanDir(string & dirname)
     342{
     343if ( !CheckDirName(dirname) ) {
     344  cout << "NamedObjMgr::CleanDir( " << dirname << ") Error - Invalid name !" << endl;
     345  return(false);
     346  }
     347NObjDirList::iterator itr = myDirs->find(dirname);
     348if (itr == myDirs->end()) {
     349  cout << "NamedObjMgr::CleanDir( " << dirname << ") Error - No such directory !" << endl;
     350  return(false);
     351  }
     352
     353int did = (*itr).second.id;
     354NObjList::iterator it; 
     355list<int>::iterator iwr;
     356bool nodisp = true;
     357list<string> odel;
     358for(it = myObjs->begin(); it != myObjs->end(); it++) {
     359  if ((*it).second.dirid != did) continue;
     360  nodisp = true;
     361  if (myImgApp)
     362    for(iwr=(*it).second.wrsid.begin(); iwr != (*it).second.wrsid.end(); iwr++)
     363      if (myImgApp->CheckWRsId(*iwr)) { nodisp = false; break; }
     364  if (nodisp) odel.push_back((*it).first);
     365  }
     366list<string>::iterator ii;
     367for(ii=odel.begin(); ii != odel.end(); ii++)  DelObj(*ii,true);
     368}
     369
    344370
    345371
     
    390416  }
    391417
     418// Si c'est le repertoire /func, on nettoie
     419if (nrep == "func")  {
     420  BeQuiet = true;   
     421  CleanDir(nrep);
     422  BeQuiet = false;
     423  }
     424
    392425myNObj++;
    393426if (nobj.length() < 1) {
     
    404437it = myObjs->find(nom);
    405438if (it != myObjs->end()) { // l'objet existe deja
    406   if ( (*itr).second.keepold ) { // On met l'ancien objet dans /old
     439  if (nrep == "func") {  // Dans /func , on garde les objets affiches, donc del. par Clean
     440    sprintf(buff, "%d", (*it).second.oid);
     441    string nomnew = "/func/" + nobj + buff;
     442    RenameObj(nom, nomnew);
     443    }                             
     444  else if ( (*itr).second.keepold ) { // On met l'ancien objet dans /old
    407445    string on,od;
    408446//    ParseObjectName((*it).first, od, on);
     
    501539(*itr).second.nobj--;
    502540
     541if (BeQuiet) return(true); 
    503542if (fgd) cout << "NamedObjMgr::DelObj()  Object " << nom << " deleted (Total= " << myObjs->size() << ")" << endl;
    504543else  cout << "NamedObjMgr::DelObj()  Object " << nom << " removed (Total= " << myObjs->size() << ")" << endl;
Note: See TracChangeset for help on using the changeset viewer.