home *** CD-ROM | disk | FTP | other *** search
/ PC User 2001 August / APC_Aug2001_CD2.iso / features / web_dev / files / mwjpp516.exe / %MAINDIR% / Tools / Bookmark / gotoLast.script < prev    next >
Encoding:
Text File  |  2001-06-19  |  1.2 KB  |  67 lines

  1. !!Script 
  2. // Copyright ⌐ 2001 - Miguel Angel Rojas
  3. // @Modified build 497 cm20010225
  4.  
  5. /**
  6. @Tool: gotoLast~goes to the last bookmark.
  7. */
  8.  
  9. function DoCommand()
  10.     var bookmarkMap = getMapFile( "Bookmarks" );
  11.     
  12.     if ( bookmarkMap.count == 0 )
  13.     {
  14.         return;
  15.     }
  16.     
  17.     var list = getBookmarksAsList( bookmarkMap );
  18.     
  19.     if ( list.count == 0 )
  20.     {
  21.         return;
  22.     }
  23.     
  24.     var position = list.getPosition( list.count-1 );
  25.     
  26.     if ( position && position.valid )
  27.     {
  28.         setGlobal( "currentBookmark", list.count-1 );
  29.         
  30.         // alert( "gotoLast="+getGlobal( "currentBookmark" ) );
  31.         
  32.         var last = list.getPrevious( position );
  33.         var bookmark = bookmarkMap.lookup( last.value.hashKey );
  34.         if (bookmark)
  35.         {
  36.             bookmark.go();
  37.         }
  38.     }
  39. }
  40.  
  41. function getBookmarksAsList( bookmarkMap )
  42.     var list     = newList();
  43.     var position = bookmarkMap.getHeadPosition();
  44.     
  45.     while ( position && position.valid )
  46.     {
  47.         var next = bookmarkMap.getNext( position );
  48.         if (next.value.valid())
  49.         {
  50.             list.addTail(next);
  51.         }
  52.         else
  53.         {
  54.             bookmarkMap.remove(next.value.hashKey);
  55.         }
  56.         list.addTail( next );
  57.     }
  58.  
  59.     list.sort(); // sort in order of creation
  60.  
  61.     return list;
  62. }
  63.  
  64. !!/Script
  65.