home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.mdf / SourceCode / Database / OTC_EOFBetaExamples_V1.0 / EOFramework / DataSource / ScrollViewExtensions.m < prev   
Encoding:
Text File  |  1994-05-21  |  1.4 KB  |  76 lines

  1.  
  2. /* ScrollViewExtensions.m:
  3.  * You may freely copy, distribute, and reuse the code in this example.
  4.  * NeXT disclaims any warranty of any kind, expressed or  implied, as to its
  5.  * fitness for any particular use.
  6.  *
  7.  * A generic scrollview driver object to display/print text 
  8.  * Written by Jack Greenfield
  9.  *
  10.  */
  11.  
  12. #import    <objc/objc-runtime.h>
  13. #import "ScrollViewExtensions.h"
  14.  
  15. @implementation ScrollView(ScrollViewExtensions)
  16.  
  17. - sprintf:(const char *)format, ...
  18. {
  19.      id text;
  20.        int length;
  21.     static char buffer[65536];
  22.     va_list arguments;
  23.  
  24.     va_start(arguments, format);
  25.     vsprintf(buffer, format, arguments);
  26.     va_end(arguments);
  27.     
  28.     text = [self docView];
  29.     length = [text textLength];
  30.     [text setSel:length :length];
  31.     [text replaceSel:buffer];
  32.     [text scrollSelToVisible];
  33.     return self;
  34. }
  35.  
  36. - vsprintf:(const char *)format arguments:(va_list)arguments
  37. {
  38.       id text;
  39.        int length;
  40.     static char buffer[65536];
  41.  
  42.     vsprintf(buffer, format, arguments);
  43.     text = [self docView];
  44.     length = [text textLength];
  45.     [text setSel:length :length];
  46.     [text replaceSel:buffer];
  47.     [text scrollSelToVisible];
  48.     return self;
  49. }
  50.  
  51. - clear:sender
  52. {
  53.       id text;
  54.     int length;
  55.  
  56.     text = [self docView];
  57.     length = [text textLength];
  58.     [text setSel:0 :length];
  59.     [text replaceSel:""];
  60.     [text scrollSelToVisible];
  61.     return self;
  62. }
  63.  
  64. - print:sender
  65. {
  66.     [[self docView] printPSCode:sender];
  67.     return self;
  68. }
  69.  
  70. - printFrom:sender
  71. {
  72.     return [self sprintf:"%s\n", [sender stringValue]];
  73. }
  74.  
  75. @end
  76.