@@ -39,10 +39,23 @@ CONST NUM_PREVIEW_GADS=PREVIEWGAD_SCROLL+1
39
39
EXPORT OBJECT codePreviewForm OF reactionForm
40
40
ENDOBJECT
41
41
42
+ PROC createTextFieldGad() OF codePreviewForm
43
+ DEF gfxb:PTR TO gfxbase
44
+ DEF res
45
+ gfxb:=gfxbase
46
+ res:=NewObjectA( TextField_GetClass(), NIL,[
47
+ GA_ID, PREVIEWGAD_TEXT,
48
+ GA_RELVERIFY, TRUE,
49
+ GA_TABCYCLE, TRUE,
50
+ TEXTFIELD_TEXTFONT, gfxb.defaultfont,
51
+ TEXTFIELD_READONLY, TRUE,
52
+ TEXTFIELD_BORDER, TEXTFIELD_BORDER_BEVEL,
53
+ TAG_END])
54
+ ENDPROC res
55
+
42
56
EXPORT PROC create() OF codePreviewForm
43
57
DEF gads:PTR TO LONG
44
58
DEF tempbase=0,map
45
- DEF gfxb:PTR TO gfxbase
46
59
47
60
NEW gads[NUM_PREVIEW_GADS]
48
61
self.gadgetList:=gads
@@ -61,24 +74,10 @@ EXPORT PROC create() OF codePreviewForm
61
74
GA_TABCYCLE, TRUE,
62
75
GA_READONLY, TRUE,
63
76
TAG_END])
64
- ELSE
65
- gfxb:=gfxbase
66
- self.gadgetList[ PREVIEWGAD_TEXT ]:=NewObjectA( TextField_GetClass(), NIL,[
67
- GA_ID, PREVIEWGAD_TEXT,
68
- //GA_TEXTEDITOR_WRAPBORDER,-1,
69
- //GA_TEXTEDITOR_FIXEDFONT,TRUE,
70
- //GA_TEXTEDITOR_HORIZONTALSCROLL, TRUE,
71
-
72
- GA_RELVERIFY, TRUE,
73
- GA_TABCYCLE, TRUE,
74
- TEXTFIELD_TEXTFONT, gfxb.defaultfont,
75
- TEXTFIELD_READONLY, TRUE,
76
- TEXTFIELD_BORDER, TEXTFIELD_BORDER_BEVEL,
77
- TAG_END])
77
+ ELSE
78
+ self.gadgetList[ PREVIEWGAD_TEXT ]:=self.createTextFieldGad()
78
79
ENDIF
79
80
80
- textfieldbase:=texteditorbase
81
-
82
81
self.gadgetActions:=gads
83
82
self.windowObj:=WindowObject,
84
83
WA_TITLE, 'Code Preview',
@@ -162,6 +161,7 @@ ENDPROC
162
161
EXPORT PROC showCode(strStream:PTR TO stringStreamer) OF codePreviewForm
163
162
DEF str[201]:ARRAY OF CHAR
164
163
DEF win,top
164
+ DEF newgad,tempdata,size
165
165
strStream.reset()
166
166
win:=Gets(self.windowObj,WINDOW_WINDOW)
167
167
top:=Gets(self.gadgetList[ PREVIEWGAD_SCROLL ],SCROLLER_TOP)
@@ -170,20 +170,30 @@ EXPORT PROC showCode(strStream:PTR TO stringStreamer) OF codePreviewForm
170
170
SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_TEXT ],win,0,[GA_TEXTEDITOR_QUIET,1,TAG_END])
171
171
ELSE
172
172
SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_TEXT ],win,0,[TEXTFIELD_TEXT,'',0])
173
+ newgad:=self.createTextFieldGad()
173
174
ENDIF
174
175
WHILE strStream.readLine(str)<>-1
175
176
str[StrLen(str)+1]:=0
176
177
str[StrLen(str)]:="\n"
177
178
IF texteditorbase
178
179
DoGadgetMethodA(self.gadgetList[ PREVIEWGAD_TEXT ],win,0,[GM_TEXTEDITOR_INSERTTEXT, 0, str, GV_TEXTEDITOR_INSERTTEXT_BOTTOM]:gp_texteditor_inserttext)
179
180
ELSE
180
- SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_TEXT ],win ,0,[TEXTFIELD_INSERTTEXT,str,0])
181
+ SetGadgetAttrsA(newgad,0 ,0,[TEXTFIELD_INSERTTEXT,str,0])
181
182
ENDIF
182
183
ENDWHILE
183
184
IF texteditorbase
184
185
SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_TEXT ],win,0,[GA_TEXTEDITOR_QUIET,FALSE,TAG_END])
185
186
SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_TEXT ],win,0,[GA_TEXTEDITOR_PROP_FIRST,top,TAG_END])
186
187
ELSE
188
+ size:=Gets(newgad,TEXTFIELD_SIZE)
189
+ tempdata:=New(size)
190
+ IF tempdata
191
+ CopyMem(Gets(newgad,TEXTFIELD_TEXT),tempdata,size)
192
+ SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_TEXT ],win,0,[TEXTFIELD_TEXT,tempdata,TAG_END])
193
+ Dispose(tempdata)
194
+ ENDIF
195
+ DisposeObject(newgad)
196
+
187
197
SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_TEXT ],win,0,[TEXTFIELD_TOP,top,TAG_END])
188
198
ENDIF
189
199
SetGadgetAttrsA(self.gadgetList[ PREVIEWGAD_SCROLL ],win,0,[SCROLLER_TOP,top,TAG_END])
0 commit comments