home *** CD-ROM | disk | FTP | other *** search
- //
- // A category on Text to allow for formated printf input.
- // Sam Streeper
- // Copyright NeXT Computer, Inc 1992 All Rights Reserved
- //
- // Created 8-24-92
- //
- // You may freely copy, distribute and reuse the code in this example.
- // NeXT disclaims any warranty of any kind, expressed or implied, as to
- // its fitness for any particular use.
- //
-
- #import "Text_Console.h"
- #import <stdarg.h>
-
- @implementation Text(Text_Console)
- #define BUFFERSIZE 512
-
- - (int) printf:(const char *) format, ...
- {
- int result, length = [self textLength];
- char buffer[BUFFERSIZE];
- va_list ap;
-
- va_start(ap, format);
- result = vsprintf(buffer, format, ap);
- va_end(ap);
-
- // this is how one puts text into a Text object and goes to that selection.
-
- // put the cursor in the very last location and push the buffer in
- [[self setSel:length :length] replaceSel:buffer];
-
- // scroll so that it is visible and redisplay
- [[self scrollSelToVisible] display];
-
- return result;
- }
- @end
-