home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.mdf / SourceCode / Database / OTC_EOFBetaExamples_V1.0 / NSFoundation / ClassCluster / AppController.m < prev    next >
Encoding:
Text File  |  1994-07-31  |  2.6 KB  |  124 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. #import "AppController.h"
  18. #import "BetterRealMutableArray.h"
  19.  
  20.  
  21.  
  22. @implementation AppController
  23.  
  24. /*--------------------------------------------------------------------------
  25.  *    App delegate methods
  26.  *------------------------------------------------------------------------*/
  27. - appDidInit:sender
  28. {
  29.     array = [[BetterRealMutableArray arrayWithCapacity:5] retain];
  30.     [window makeKeyAndOrderFront:nil];
  31.     return self;
  32. }
  33.  
  34.  
  35. - (void) dealloc
  36. {
  37.     [array release];
  38.     return [super dealloc];
  39. }
  40.  
  41.  
  42. - _displayArray
  43. {
  44.     unsigned    iterator = 0;
  45.     id            enumerator;
  46.     id            nextObject;
  47.     int            column;
  48.     int            count = [array count];
  49.  
  50.     column = [visualArray selectedCol];
  51.     enumerator = [array objectEnumerator];
  52.  
  53.     for (iterator = 0; iterator < count; iterator++) {
  54.  
  55.         nextObject = [enumerator nextObject];
  56.  
  57.         if (nextObject == @"blueBlock") {
  58.             if (iterator == column)
  59.                 [[visualArray cellAt:0:iterator] setIcon: "blueBlockOn"];
  60.             else [[visualArray cellAt:0:iterator] setIcon: "blueBlock"];
  61.         }
  62.         else if (nextObject == @"blackBlock") {
  63.             if (iterator == column)
  64.                 [[visualArray cellAt:0:iterator] setIcon: "blackBlockOn"];
  65.             else [[visualArray cellAt:0:iterator] setIcon: "blackBlock"];
  66.         }
  67.         else // object must be nil
  68.             if (iterator == column)
  69.                 [[visualArray cellAt:0:iterator] setIcon: "on"];
  70.             else [[visualArray cellAt:0:iterator] setIcon: "empty"];
  71.  
  72.     }
  73.     return self;
  74. }
  75.             
  76.  
  77. /*--------------------------------------------------------------------------
  78.  *    Target / action methods
  79.  *------------------------------------------------------------------------*/
  80. - delete:sender
  81. {
  82.     [array removeObjectAtIndex: [visualArray selectedCol]];
  83.  
  84.     [self _displayArray];
  85.     return self;
  86. }
  87.  
  88.  
  89. - empty:sender
  90. {
  91.     [array removeAllObjects];
  92.     [self _displayArray];
  93.     return self;
  94. }
  95.  
  96.  
  97. - insert:sender
  98. {
  99.     int            col;
  100.     NSString     *imagename;
  101.  
  102.     if ([objectSelector selectedCol] == 0)
  103.         imagename = @"blueBlock";
  104.     else imagename = @"blackBlock";
  105.  
  106.     if ((col = [visualArray selectedCol]) >= 0)
  107.         [array insertObject:imagename atIndex:col];
  108.     else
  109.         [(NSMutableArray *)array addObject:imagename];
  110.  
  111.     [self _displayArray];
  112.     return self;
  113. }
  114.  
  115.  
  116. - selectCell:sender
  117. {
  118.     [self _displayArray];
  119.     return self;
  120. }
  121.  
  122.  
  123. @end
  124.