|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.