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