home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / powervww / pvmemmon.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-05  |  1.7 KB  |  72 lines

  1. //  ____________________________________________________
  2. // |                                                    |
  3. // |  Project:     POWER VIEW INTERFACE                 |
  4. // |  File:        PVMEMMON.CPP                         |
  5. // |  Compiler:    WPP386 (10.6)                        |
  6. // |                                                    |
  7. // |  Subject:     Memory monitor implementation        |
  8. // |                                                    |
  9. // |  Author:      Emil Dotchevski                      |
  10. // |____________________________________________________|
  11. //
  12. // E-mail: zajo@geocities.com
  13. // URL:    http://www.geocities.com/SiliconValley/Bay/3577
  14.  
  15. #define uses_app
  16. #define uses_colors
  17. #define uses_dc
  18. #define uses_desk
  19. #define uses_system
  20.  
  21. #include "PVuses.h"
  22.  
  23. #ifdef MEMMON
  24.  
  25. class Tmem_monitor: public Titem
  26. {
  27.   public:
  28.     Tmem_monitor( void );
  29.     virtual void set_palette( void );
  30.     virtual void draw( void );
  31. };
  32.  
  33. static Tmem_monitor *mem_monitor;
  34. static Tidle old_idle;
  35.  
  36. void mem_refresh( unsigned long time_passed )
  37. {
  38.   static unsigned long old_mem = 0;
  39.  
  40.   old_idle( time_passed );
  41.   if( old_mem == mem_avail ) return;
  42.   old_mem = mem_avail;
  43.   mem_monitor->redraw();
  44. }
  45.  
  46. Tmem_monitor::Tmem_monitor( void ):
  47.   Titem( 8, 1 )
  48. {
  49.   set_events_mask( (uint)-1, 0 );
  50.   set_flags( (uint)-1, 0 ); set_flags( ifVISIBLE, 1 );
  51.   drag_mode = dmDRAG_BOTH;
  52.   old_idle = hook_idle( mem_refresh );
  53. }
  54.  
  55. void Tmem_monitor::set_palette( void )
  56. {
  57.   text_attr = pal_desktop.bold;
  58. }
  59.  
  60. void Tmem_monitor::draw( void )
  61. {
  62.   txtf( "%8lu", mem_avail );
  63. }
  64.  
  65. void __init_mem( void )
  66. {
  67.   mem_monitor = NEW( Tmem_monitor );
  68.   desktop->put_in( mem_monitor, desktop->xl - 8, desktop->yl - 1 );
  69. }
  70.  
  71. #endif //MEMMON
  72.