53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include "sc2201.h"
 | |
| 
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| // TCursor_sheet_RecNo                                                       //
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| TCursor_sheet_RecNo::TCursor_sheet_RecNo(TCursor * cursor, const char* fields,
 | |
| 						const char * title, const char * head, byte buttons)
 | |
| : TCursor_sheet(cursor, fields, title, head, buttons)
 | |
| {
 | |
| 	_recnos.reset();
 | |
| }	
 | |
| 
 | |
| bool TCursor_sheet_RecNo::on_key(KEY k)
 | |
| {
 | |
|     switch(k)
 | |
|     {
 | |
|     case K_SPACE: 
 | |
|     {
 | |
|       *_cursor = selected(); // Posiziona il cursore 
 | |
|       rec_check(_cursor->file().recno(), !checked(selected()));
 | |
|       break;
 | |
|     }
 | |
|     case K_F2: 
 | |
|       rec_uncheck(-1); 
 | |
|       break;
 | |
|     case K_F3:   
 | |
|       rec_check(-1);
 | |
|       break;
 | |
|     default: 
 | |
|       break;
 | |
|     }
 | |
| 	return TCursor_sheet::on_key(k);
 | |
| }
 | |
| 
 | |
| void TCursor_sheet_RecNo::rec_check(long n, bool on)
 | |
| {
 | |
|   if (n < 0)
 | |
|   {
 | |
|     if (on)
 | |
|     {
 | |
|       _recnos.set(items()-1);  // Force the size of Bit_array
 | |
|       _recnos.set();
 | |
|     } 
 | |
|     else
 | |
|       _recnos.reset();
 | |
|   }     
 | |
|   else           
 | |
|       _recnos.set(n, on);
 | |
| }
 | |
| 
 | |
| 			 
 |