home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / powergui / profile / advprof / profview.cpp < prev    next >
Text File  |  1996-10-29  |  2KB  |  75 lines

  1. //************************************************************
  2. // GUI Profile Viewer Example
  3. //
  4. // Copyright (C) 1994, Law, Leong, Love, Olson, Tsuji.
  5. // Copyright (c) 1997 John Wiley & Sons, Inc. 
  6. // All Rights Reserved.
  7. //************************************************************
  8. #include "profview.hpp"
  9. #include "appview.hpp"
  10. #include "keyview.hpp"
  11. #include "enhprof.hpp"
  12. #include "profview.h"
  13.  
  14. ProfileView :: ProfileView ( EnhancedProfile &profile )
  15.   : profile( profile ),       
  16.     frame( 0, 0, 0, 
  17.            IFrameWindow::nextShellRect().scaleBy( 0.5, 1.0 ) ),
  18.     title( &frame ),
  19.     client( 0, &frame, &frame )
  20.   {
  21.   title.setObjectText( profile.name() );
  22.   title.setViewText( "Tree View" );
  23.  
  24.   client.showTreeIconView();
  25.  
  26.   frame.setClient( &client );
  27.   frame.setIcon( INI_ICON_ID );
  28.  
  29.   handler.handleEventsFor( &client );
  30.   }
  31.  
  32. ProfileView &ProfileView :: open ( )
  33.   {
  34.   frame.setFocus();
  35.   frame.show();
  36.   populate();
  37.   return *this;
  38.   }
  39.  
  40. ProfileView &ProfileView :: populate ( )
  41.   {
  42.   IProfile::Cursor
  43.     cursor( profile );
  44.   for ( cursor.setToFirst(); 
  45.         cursor.isValid(); 
  46.         cursor.setToNext() )
  47.     {
  48.     IString        
  49.       appName = profile.applicationOrKeyAt( cursor );
  50.     ProfileAppObject
  51.      *app = new ProfileAppObject( profile, 
  52.                                   appName,
  53.                                   &client );
  54.  
  55.     client.addObject( app );
  56.  
  57.     IProfile::Cursor
  58.       cursor( profile, appName );
  59.     for( cursor.setToFirst();
  60.          cursor.isValid();
  61.          cursor.setToNext() )
  62.       {
  63.       IString
  64.         keyName = profile.applicationOrKeyAt( cursor );
  65.       ProfileKeyObject
  66.        *key = new ProfileKeyObject( app->application(), 
  67.                                     keyName,
  68.                                     &client );
  69.  
  70.       client.addObject( key, app );
  71.       }
  72.     }
  73.   return *this;
  74.   }
  75.