Annotation of Examples/DatabaseKit/Evaluator/ScrollViewExtras.m, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.