home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.mdf / SourceCode / Database / OTC_EOFBetaExamples_V1.0 / EOFramework / Buffering / AppController.m < prev    next >
Encoding:
Text File  |  1994-07-30  |  4.6 KB  |  198 lines

  1. /*--------------------------------------------------------------------------
  2.  *
  3.  *     You may freely copy, distribute, and reuse the code in this example.
  4.  *     SHL Systemhouse disclaims any warranty of any kind, expressed or  
  5.  *    implied, as to its fitness for any particular use.
  6.  *
  7.  *
  8.  *    AppController
  9.  *
  10.  *    Inherits From:        NSObject
  11.  *
  12.  *    Conforms To:        None
  13.  *
  14.  *    Declared In:        AppController.h
  15.  *
  16.  *
  17.  *------------------------------------------------------------------------*/
  18. #import "AppController.h"
  19. #import <eointerface/EOController.h>
  20. #import <foundation/NSObject.h>
  21. #import "ScrollViewExtensions.h"
  22.  
  23.  
  24.  
  25.  
  26. @implementation AppController
  27.  
  28. /*--------------------------------------------------------------------------
  29.  *    App Initializatoin
  30.  *------------------------------------------------------------------------*/
  31. - appDidInit: sender
  32. {
  33.     [eoController fetch];
  34.     return self;
  35. }
  36.  
  37.  
  38. /*--------------------------------------------------------------------------
  39.  *    Modifying Buffer Characteristics
  40.  *------------------------------------------------------------------------*/
  41. - setBuffering: sender
  42. {
  43.     switch ([sender selectedTag])
  44.         {
  45.         case 1:
  46.             [eoController setSavesToObjectsAutomatically: YES];
  47.             [eoController setSavesToDataSourceAutomatically: NO];
  48.             break;
  49.         case 2:
  50.             [eoController setSavesToObjectsAutomatically: NO];
  51.             [eoController setSavesToDataSourceAutomatically: YES];
  52.             break;
  53.         case 3:
  54.             [eoController setSavesToObjectsAutomatically: NO];
  55.             [eoController setSavesToDataSourceAutomatically: NO];
  56.             break;
  57.         case 0:
  58.         default:
  59.             [eoController setSavesToObjectsAutomatically: YES];
  60.             [eoController setSavesToDataSourceAutomatically: YES];
  61.             break;
  62.         }
  63.             
  64.     return self;
  65. }
  66.  
  67.  
  68. /*--------------------------------------------------------------------------
  69.  *    Cover Methods for EOController Actions
  70.  *------------------------------------------------------------------------*/
  71. - fetch: sender
  72. {
  73.     [console sprintf: "\nYou pressed the Fetch button...\n"];
  74.     [objectButton setIcon: "empty"];
  75.     [dataSourceButton setIcon: "empty"];
  76.     [eoController fetch: sender];
  77.     return self;
  78. }
  79.  
  80.  
  81. - insert: sender
  82. {
  83.     [console sprintf: "\nYou pressed the Insert button...\n"];
  84.     [objectButton setIcon: "empty"];
  85.     [dataSourceButton setIcon: "empty"];
  86.     [eoController insert: sender];
  87.     return self;
  88. }
  89.  
  90.  
  91. - delete: sender
  92. {
  93.     [console sprintf: "\nYou pressed the Delete button...\n"];
  94.     [objectButton setIcon: "empty"];
  95.     [dataSourceButton setIcon: "empty"];
  96.     [eoController delete: sender];
  97.     return self;
  98. }
  99.  
  100.  
  101. - saveToObjects: sender
  102. {
  103.     [console sprintf: "\nYou pressed the Save to Objects button...\n"];
  104.     [objectButton setIcon: "empty"];
  105.     [dataSourceButton setIcon: "empty"];
  106.     [eoController saveToObjects: sender];
  107.     return self;
  108. }
  109.  
  110.  
  111. - saveToDataSource: sender
  112. {
  113.     [console sprintf: "\nYou pressed the Save to Data Source button...\n"];
  114.     [objectButton setIcon: "empty"];
  115.     [dataSourceButton setIcon: "empty"];
  116.     [eoController saveToDataSource: sender];
  117.     return self;
  118. }
  119.  
  120.  
  121. - undo: sender
  122. {
  123.     [console sprintf: "\nYou pressed the Undo button...\n"];
  124.     [objectButton setIcon: "empty"];
  125.     [dataSourceButton setIcon: "empty"];
  126.     [eoController undo: sender];
  127.     return self;
  128. }
  129.  
  130.  
  131. /*--------------------------------------------------------------------------
  132.  *    EOController Delegate Methods
  133.  *------------------------------------------------------------------------*/
  134. - (void)controller:(EOController *)controller didInsertObject:object
  135. {
  136.     [objectButton setIcon: "arrow"];
  137.     [console sprintf: "DID INSERT TO OBJECTS\n"];
  138. }
  139.  
  140.  
  141. - (void)controller:(EOController *)controller didDeleteObject:object
  142. {
  143.     [objectButton setIcon: "arrow"];
  144.     [console sprintf: "DID DELETE TO OBJECTS\n"];
  145. }
  146.  
  147.  
  148. - (void)controller:(EOController *)controller didSaveToObject:object
  149. {
  150.     [objectButton setIcon: "arrow"];
  151.     [console sprintf: "DID SAVE TO OBJECTS\n"];
  152. }
  153.  
  154.  
  155. - (void)controllerDidSaveToDataSource:(EOController *)controller
  156. {
  157.     [dataSourceButton setIcon: "arrow"];
  158.     [console sprintf: "DID SAVE TO DATA SOURCE\n"];
  159. }
  160.  
  161.  
  162. - (void)controller:(EOController *)controller
  163.     didInsertObject:object
  164.     inDataSource:dataSource
  165. {
  166.     [dataSourceButton setIcon: "arrow"];
  167.     [console sprintf: "DID INSERT IN DATA SOURCE\n"];
  168. }
  169.  
  170.  
  171. - (void)controller:(EOController *)controller
  172.     didDeleteObject:object
  173.     inDataSource:dataSource
  174. {
  175.     [dataSourceButton setIcon: "arrow"];
  176.     [console sprintf: "DID DELETE IN DATA SOURCE\n"];
  177. }
  178.  
  179.  
  180. - (void)controller:(EOController *)controller
  181.     didUpdateObject:object
  182.     inDataSource:dataSource
  183. {
  184.     [dataSourceButton setIcon: "arrow"];
  185.     [console sprintf: "DID UPDATE IN DATA SOURCE\n"];
  186. }
  187.  
  188.  
  189. - (void)controller:(EOController *)controller 
  190.     didRollbackDataSource:(id <EODataSources>)dataSource
  191. {
  192.     [dataSourceButton setIcon: "arrow"];
  193.     [console sprintf: "DID ROLLBACK IN DATA SOURCE\n"];
  194. }
  195.  
  196.  
  197. @end
  198.