home *** CD-ROM | disk | FTP | other *** search
/ Nebula / nebula.bin / SourceCode / MiniExamples / ScrollingText / Document.m < prev    next >
Text File  |  1991-04-21  |  1KB  |  51 lines

  1. /* Document.m
  2. *  Purpose: A subclass of Window which creates an instance of the PageScrollView.
  3. *
  4. *  You may freely copy, distribute, and reuse the code in this example.
  5. *  NeXT disclaims any warranty of any kind, expressed or  implied, as to its fitness
  6. *  for any particular use.
  7. *
  8. */
  9.  
  10. #import <appkit/Text.h>
  11. #import "Document.h"
  12. #import "PageScrollView.h"
  13.  
  14. @implementation Document : Window
  15.  
  16. /* Initialize the document to be something reasonable */
  17. - init
  18. {
  19.     NXRect    aRect = {{0.0, 0.0}, {500.0, 700.0}};
  20.     [self initContent: &aRect  
  21.         style: NX_TITLEDSTYLE  
  22.         backing: NX_BUFFERED 
  23.         buttonMask:  NX_CLOSEBUTTONMASK | NX_MINIATURIZEBUTTONMASK
  24.         defer: NO  screen: NULL];
  25.     return self;
  26. }
  27.  
  28. - initContent:(const NXRect *)contentRect  style:(int)aStyle  backing:(int)bufferingType
  29.     buttonMask:(int)mask  defer:(BOOL)flag  screen:(const NXScreen *)aScreen
  30. {
  31.     id scroller, docView;
  32.     NXRect aRect = {{0.0, 0.0}, {1000.0, 1000.0}};
  33.     
  34.     [super initContent: contentRect  style: aStyle  backing: bufferingType
  35.         buttonMask: mask  defer: flag  screen: aScreen];
  36.     docView = [[Text alloc] initFrame: &aRect];
  37.     [docView setClipping:NO];
  38.     scroller = [[PageScrollView alloc] initFrame: &aRect];
  39.     [scroller setVertScrollerRequired:YES];
  40.     [scroller setHorizScrollerRequired:YES];
  41.     [scroller setDocView: docView];
  42.     [scroller setDisplayOnScroll:YES];
  43.     [scroller setLineScroll:14.0];
  44.     [[self setContentView: scroller] free];
  45.     [self setTitle: "UNTITLED"];
  46.     return self;
  47. }
  48.  
  49.  
  50. @end
  51.