This is SyntaxItem.m in view mode; [Download] [Up]
{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
\paperw16240
\paperh10200
\margl40
\margr40
{\colortbl;\red255\green0\blue0;\red0\green0\blue0;\red255\green109\blue0;\red61\green0\blue0;\red0\green41\blue0;}
\pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i\ulnone\fs28\gray300\fc1\cf1 // SyntaxItem.m
\i0\gray0\fc2\cf2 \
\
\b #import
\b0
\gray551\fc3\cf3 "SyntaxItem.h"
\gray0\fc2\cf2 \
\
\fs36 @implementation SyntaxItem
\fs28 \
\
\fs36 - free\
\fs28 \{\
[regularExpression free];\
[matchedSampleText free];\
free(regularExpressionText);\
\b return
\b0 [
\b super
\b0 free];\
\}\
\
\fs36 - read:(NXTypedStream *)stream\
\fs28 \{\
[
\b super
\b0 read:stream];\
[regularExpression free];\
regularExpression = NXReadObject(stream);\
[matchedSampleText free];\
matchedSampleText = NXReadObject(stream);\
[matchedSampleText setTextColor:NXReadColor(stream)];\
\b return
\b0
\b self
\b0 ;\
\}\
\
\fs36 - write:(NXTypedStream *)stream\
\fs28 \{\
[
\b super
\b0 write:stream];\
NXWriteRootObject(stream, regularExpression);\
NXWriteRootObject(stream, matchedSampleText);\
NXWriteColor(stream, [matchedSampleText textColor]);\
\b return
\b0
\b self
\b0 ;\
\}\
\
\fs36 - getRegularExpression\
\fs28 \{\
\b return
\b0 regularExpression;\
\}\
\
\fs36 - (char *)getRegularExpressionText\
\fs28 \{\
\b int
\b0 length = [regularExpression textLength];\
\
free(regularExpressionText);\
\b if
\b0 (!(regularExpressionText = malloc(length +
\gray71\fc4\cf4 1
\gray0\fc2\cf2 ))) \{\
NXRunAlertPanel(
\gray551\fc3\cf3 "Error"
\gray0\fc2\cf2 ,
\gray551\fc3\cf3 "malloc() failed"
\gray0\fc2\cf2 ,
\gray71\fc4\cf4 0
\gray0\fc2\cf2 ,
\gray71\fc4\cf4 0
\gray0\fc2\cf2 ,
\gray71\fc4\cf4 0
\gray0\fc2\cf2 );\
\b return
\b0
\gray551\fc3\cf3 ""
\gray0\fc2\cf2 ;\
\}\
\b if
\b0 ([regularExpression getSubstring:regularExpressionText start:
\gray71\fc4\cf4 0
\gray0\fc2\cf2 length:length] <=
\gray71\fc4\cf4 0
\gray0\fc2\cf2 ) \{\
\i\gray300\fc1\cf1 // NXRunAlertPanel("Error", "Can't get regular expression substring", 0, 0, 0);
\i0\gray0\fc2\cf2 \
\b return
\b0
\gray551\fc3\cf3 ""
\gray0\fc2\cf2 ;\
\}\
regularExpressionText[length] =
\gray71\fc4\cf4 0
\gray0\fc2\cf2 ;\
\b return
\b0 regularExpressionText;\
\}\
\
\fs36 - getMatchedSampleText\
\fs28 \{\
\b return
\b0 matchedSampleText;\
\}\
\
\fs36 - (void)setRegularExpression:re\
\fs28 \{\
NXStream *stream = [re stream];\
[regularExpression free];\
NXSeek(stream,
\gray71\fc4\cf4 0
\gray0\fc2\cf2 L,
\gray93\fc5\cf5 NX_FROMSTART
\gray0\fc2\cf2 );\
regularExpression = [[[Text alloc] init] readText:stream];\
[regularExpression setFont:[re font]];\
\}\
\
\fs36 - (void)setMatchedSampleText:text\
\fs28 \{ \
NXStream *stream = [text stream];\
[matchedSampleText free];\
NXSeek(stream,
\gray71\fc4\cf4 0
\gray0\fc2\cf2 L,
\gray93\fc5\cf5 NX_FROMSTART
\gray0\fc2\cf2 );\
matchedSampleText = [[Text alloc] init];\
[matchedSampleText readText:stream];\
[matchedSampleText setFont:[text font]];\
[matchedSampleText setTextColor:[text textColor]];\
\}\
\
\b @end
\b0 \
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.