Rev 1456 | Rev 1458 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1456 | Rev 1457 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | struct f70 |
|
- | 2 | func_n dd ? |
|
- | 3 | param1 dd ? |
|
- | 4 | param2 dd ? |
|
- | 5 | param3 dd ? |
|
- | 6 | param4 dd ? |
|
- | 7 | rezerv db ? |
|
- | 8 | name dd ? |
|
- | 9 | ends |
|
- | 10 | ||
- | 11 | struct TexColViv |
|
- | 12 | Text rb MAX_COLOR_WORD_LEN ; á«®¢® ¤«ï ¯®¤á¢¥âª¨ |
|
- | 13 | f1 dd 0 ; á¯à ¢ª ¯® á«®¢ã |
|
- | 14 | wwo db ? ; whole words only |
|
- | 15 | endc db ? ; ᨬ¢®« ª®æ ¢ë¤¥«¥¨ï (wwo&4) |
|
- | 16 | color db ? ; ®¬¥à 梥â |
|
- | 17 | ends |
|
- | 18 | ||
- | 19 | struct symbol |
|
- | 20 | c db ? ; +0 ᨬ¢®« |
|
- | 21 | col db ? ; +1 梥â |
|
- | 22 | perv dd ? ; +2 |
|
- | 23 | next dd ? ; +6 㪠§ ⥫¨ |
|
- | 24 | tc dd ? ; +10 ¢à¥¬. ᮧ¤ ¨ï |
|
- | 25 | td dd ? ; +14 ¢à¥¬. 㤠«¥¨ï |
|
- | 26 | ends |
|
- | 27 | ||
- | 28 | ||
- | 29 | hed db 'TextEditor 29.04.10',0 ;¯®¤¯¨áì ®ª |
|
- | 30 | sc system_colors |
|
- | 31 | ||
- | 32 | fn_icon db 'te_icon.bmp',0 |
|
- | 33 | bmp_icon dd 0 |
|
- | 34 | run_file_70 f70 |
|
- | 35 | ||
- | 36 | ||
- | 37 | ;input: |
|
- | 38 | ; al = ª®¤ ®è¨¡ª¨ |
|
- | 39 | align 4 |
|
- | 40 | ted_on_init_synt_err: |
|
- | 41 | mov byte[msgbox_3.err],al |
|
- | 42 | stdcall [mb_create],msgbox_3,thread ;message: Can-t open color options file! |
|
- | 43 | ret |
|
- | 44 | ||
- | 45 | ||
- | 46 | ;----------------------------------------------------------------------------- |
|
- | 47 | ;äãªæ¨ï ¤«ï ¢ë¤¥«¥¨ï ¯ ¬ï⨠|
|
- | 48 | ;input: |
|
- | 49 | ; ecx = size data |
|
- | 50 | ;otput: |
|
- | 51 | ; eax = pointer to memory |
|
- | 52 | align 4 |
|
- | 53 | mem_Alloc: |
|
- | 54 | push ebx |
|
- | 55 | mov eax,68 |
|
- | 56 | mov ebx,12 |
|
- | 57 | int 0x40 |
|
- | 58 | pop ebx |
|
- | 59 | ret |
|
- | 60 | ;----------------------------------------------------------------------------- |
|
- | 61 | ;äãªæ¨ï ¤«ï ®á¢®¡®¦¤¥¨ï ¯ ¬ï⨠|
|
- | 62 | ;input: |
|
- | 63 | ; ecx = pointer to memory |
|
- | 64 | align 4 |
|
- | 65 | mem_Free: |
|
- | 66 | push eax ebx |
|
- | 67 | cmp ecx,0 |
|
- | 68 | jz @f |
|
- | 69 | mov eax,68 |
|
- | 70 | mov ebx,13 |
|
- | 71 | int 0x40 |
|
- | 72 | @@: |
|
- | 73 | pop ebx eax |
|
- | 74 | ret |
|
- | 75 | ||
- | 76 | ||
1 | align 4 |
77 | align 4 |
2 | but_NewFile: |
78 | ted_but_new_file: |
3 | push eax ebx |
79 | push eax ebx |
4 | stdcall ted_can_save, tedit0 |
80 | stdcall [ted_can_save], tedit0 |
5 | cmp al,1 |
81 | cmp al,1 |
6 | jne @f |
82 | jne @f |
7 | stdcall [mb_create],msgbox_2,thread ;message: save changes in file? |
83 | stdcall [mb_create],msgbox_2,thread ;message: save changes in file? |
8 | ;mov eax,5 |
84 | ;mov eax,5 |
9 | ;mov ebx,50 |
85 | ;mov ebx,50 |
Line 16... | Line 92... | ||
16 | pop ebx eax |
92 | pop ebx eax |
17 | ret |
93 | ret |
Line 18... | Line 94... | ||
18 | 94 | ||
19 | align 4 |
95 | align 4 |
20 | On_NewFile: |
96 | On_NewFile: |
21 | stdcall ted_clear, tedit0,1 |
97 | stdcall [ted_clear], tedit0,1 |
22 | call draw_but_toolbar |
98 | call draw_but_toolbar |
23 | stdcall draw_main_win, tedit0 |
99 | stdcall [ted_draw], tedit0 |
Line 24... | Line 100... | ||
24 | ret |
100 | ret |
25 | 101 | ||
26 | align 4 |
102 | align 4 |
27 | On_SaveAndNewFile: |
103 | On_SaveAndNewFile: |
Line 28... | Line 104... | ||
28 | push edi |
104 | push edi |
29 | mov edi, tedit0 |
105 | mov edi, tedit0 |
30 | 106 | ||
31 | stdcall but_SaveFile,edi |
107 | stdcall [ted_but_save_file],edi,run_file_70,[edit1.text] |
32 | cmp ted_err_save,0 |
108 | cmp ted_err_save,0 |
33 | jne @f |
109 | jne @f |
34 | call On_NewFile |
110 | call On_NewFile |
Line -... | Line 111... | ||
- | 111 | @@: |
|
- | 112 | pop edi |
|
35 | @@: |
113 | ret |
- | 114 | ||
- | 115 | ;description: |
|
36 | pop edi |
116 | ; äãªæ¨ï ®âªàëâ¨ï ä ©« ¡¥§ ®ª® á®®¡é¥¨ï |
37 | ret |
117 | align 4 |
- | 118 | but_no_msg_OpenFile: |
|
38 | 119 | push eax ebx |
|
Line 39... | Line 120... | ||
39 | align 4 |
120 | stdcall [ted_open_file], tedit0,run_file_70,[edit1.text] |
40 | but_no_msg_OpenFile: ;äãªæ¨ï ®âªàëâ¨ï ä ©« ç¥à¥§ ¡¥§ ®ª® á®®¡é¥¨ï |
121 | call ted_messages_after_open_file |
41 | stdcall ted_on_open_file, tedit0 |
122 | pop ebx eax |
42 | ret |
123 | ret |
43 | 124 | ||
44 | 125 | ;description: |
|
45 | ;äãªæ¨ï ®âªàëâ¨ï ä ©« á ¢®§¬®¦ë¬ ®ª®¬ á®®¡é¥¨ï (® ¢®§¬®¦®á⨠®â¬¥¨âì ®âªàë⨥) |
126 | ; äãªæ¨ï ®âªàëâ¨ï ä ©« á ¢®§¬®¦ë¬ ®ª®¬ á®®¡é¥¨ï (® ¢®§¬®¦®á⨠®â¬¥¨âì ®âªàë⨥) |
46 | align 4 |
127 | align 4 |
47 | but_OpenFile: |
128 | ted_but_open_file: |
48 | push eax |
129 | push eax ebx |
49 | stdcall ted_can_save, tedit0 |
130 | stdcall [ted_can_save], tedit0 |
50 | cmp al,1 |
131 | cmp al,1 |
- | 132 | jne @f |
|
51 | jne @f |
133 | stdcall [mb_create],msgbox_5,thread ;message: save changes in file? |
52 | stdcall [mb_create],msgbox_5,thread ;message: save changes in file? |
134 | stdcall [mb_setfunctions],msgbox_5_funct |
53 | stdcall [mb_setfunctions],msgbox_5_funct |
135 | jmp .ret_f |
54 | jmp .ret_f |
136 | @@: |
Line -... | Line 137... | ||
- | 137 | stdcall [ted_open_file], tedit0,run_file_70,[edit1.text] |
|
- | 138 | call ted_messages_after_open_file |
|
- | 139 | .ret_f: |
|
- | 140 | pop ebx eax |
|
55 | @@: |
141 | ret |
56 | stdcall ted_on_open_file, tedit0 |
- | |
57 | .ret_f: |
- | |
58 | pop eax |
- | |
59 | ret |
- | |
60 | - | ||
61 | align 4 |
- | |
62 | proc ted_on_open_file, edit:dword ;äãªæ¨ï ®âªàëâ¨ï ä ©« |
- | |
63 | push eax ebx edi |
- | |
64 | mov edi,dword[edit] |
- | |
65 | - | ||
66 | mov eax,70 |
- | |
67 | mov [run_file_70.func_n], 0 |
- | |
68 | mov [run_file_70.param1], 0 |
- | |
69 | mov [run_file_70.param2], 0 |
142 | |
70 | mov [run_file_70.param3], maxChars-2 ;sizeof.symbol |
143 | ;input: |
71 | m2m [run_file_70.param4], ted_tex |
- | |
72 | mov [run_file_70.rezerv], 0 |
144 | ; eax = ª®¤ ®è¨¡ª¨ |
73 | push dword[edit1.text] |
145 | ; ebx = ª®««¨ç¥á⢮ ¯à®ç¨â ëå ¡ ©â |
74 | pop dword[run_file_70.name] |
146 | ; edi = pointer to tedit struct |
75 | mov ebx,run_file_70 |
147 | align 4 |
76 | int 0x40 |
148 | ted_messages_after_open_file: |
Line 91... | Line 163... | ||
91 | jmp .ret_f |
163 | jmp .ret_f |
92 | @@: |
164 | @@: |
93 | cmp ebx,-1 |
165 | cmp ebx,-1 |
94 | je .ret_f |
166 | je .ret_f |
95 | ;if open file |
167 | ;if open file |
96 | call OpenFile |
168 | mov ecx,ted_max_chars |
- | 169 | sub ecx,2 ;ecx = ¬ ªá¨¬ «ì®¥ ç¨á«® ¡ ©â, ¤«ï ª®â®àëå ¡ë« ¢ë¤¥«¥ ¯ ¬ïâì |
|
97 | cmp ebx,maxChars-2 |
170 | cmp ebx,ecx |
98 | jl .ret_f |
171 | jl .ret_f |
99 | stdcall [mb_create],msgbox_1,thread |
172 | stdcall [mb_create],msgbox_1,thread |
100 | .ret_f: |
173 | .ret_f: |
101 | pop edi ebx eax |
174 | pop ecx |
102 | ret |
175 | ret |
103 | endp |
- | |
104 | - | ||
Line 105... | Line 176... | ||
105 | 176 | ||
106 | align 4 |
- | |
107 | proc but_SaveFile, edit:dword |
- | |
108 | pushad |
- | |
109 | - | ||
110 | stdcall ted_can_save,edi |
- | |
111 | cmp al,0 |
- | |
112 | je .no_save |
- | |
113 | - | ||
114 | mov edi,dword[edit] |
- | |
115 | - | ||
116 | mov ecx,maxChars |
- | |
117 | call mem_Alloc |
- | |
118 | push eax |
- | |
119 | - | ||
120 | mov edx,ted_tex |
- | |
121 | xor ecx,ecx |
- | |
122 | @@: |
- | |
123 | call IteratNext |
- | |
124 | cmp edx,ted_tex_1 |
- | |
125 | jle @f ;edx = ted_tex or edx = ted_tex+sizeof.symbol |
- | |
126 | mov bl,[edx] |
- | |
127 | mov byte[eax],bl |
- | |
128 | inc eax |
- | |
129 | inc ecx |
- | |
130 | jmp @b |
- | |
131 | @@: |
- | |
132 | - | ||
133 | cmp ecx,0 |
- | |
134 | je @f |
- | |
135 | pop eax |
- | |
136 | mov [run_file_70.param4],eax |
- | |
137 | push eax |
- | |
138 | mov eax,70 |
- | |
139 | mov [run_file_70.func_n], 2 |
- | |
140 | mov [run_file_70.param1], 0 |
- | |
141 | mov [run_file_70.param2], 0 |
- | |
142 | mov [run_file_70.param3], ecx |
- | |
143 | mov [run_file_70.rezerv], 0 |
- | |
144 | push [edit1.text] |
- | |
145 | pop [run_file_70.name] |
- | |
146 | mov ebx,run_file_70 |
- | |
147 | int 0x40 |
- | |
148 | - | ||
149 | mov ted_err_save,ax |
- | |
150 | - | ||
151 | cmp eax,0 |
177 | align 4 |
152 | je .no_msg |
- | |
153 | ; cmp eax,6 |
- | |
154 | ; je @f |
- | |
155 | cmp ax,10 |
- | |
156 | jl .zifra_0_9 |
- | |
157 | mov al,'?' |
- | |
158 | sub ax,48 |
- | |
159 | .zifra_0_9: |
- | |
160 | add ax,48 |
- | |
161 | 178 | ted_save_err_msg: |
|
162 | mov byte[msgbox_6.err],al |
179 | mov byte[msgbox_6.err],al |
163 | stdcall [mb_create],msgbox_6,thread ;message: Can-t save text file! |
- | |
164 | jmp @f |
- | |
165 | .no_msg: |
- | |
166 | m2m ted_tim_ls,ted_tim_ch |
- | |
167 | @@: |
- | |
168 | - | ||
169 | pop ecx |
- | |
170 | call mem_Free |
- | |
171 | .no_save: |
- | |
172 | popad |
- | |
173 | ret |
- | |
174 | endp |
- | |
175 | - | ||
176 | - | ||
177 | align 4 |
- | |
178 | proc but_FindText, edit:dword |
- | |
179 | pushad |
- | |
180 | mov edi,dword[edit] |
- | |
181 | - | ||
182 | call GetPos |
- | |
183 | mov eax,[edit2.text] |
- | |
184 | mov bl,byte[eax] |
- | |
185 | @@: |
- | |
186 | call GetFindRezult |
- | |
187 | cmp bh,1 |
- | |
188 | je @f ; find |
- | |
189 | - | ||
190 | call IteratNext |
- | |
191 | cmp edx,ted_tex_1 |
- | |
192 | jle @f |
- | |
193 | jmp @b |
- | |
194 | @@: |
- | |
195 | cmp bh,0 |
- | |
196 | je @f |
- | |
197 | call GetTexCoords |
- | |
198 | inc ebx ;move cursor right |
- | |
199 | mov ted_sel_x1,ebx |
- | |
200 | mov ted_sel_y1,eax |
- | |
201 | mov edx,eax |
- | |
202 | mov ecx,ebx |
- | |
203 | call GoToPos |
- | |
204 | mov edx,esi ;esi ¡ë«® ãáâ ®¢«¥® ¢ GetFindRezult |
- | |
205 | call GetTexCoords |
- | |
206 | mov ted_sel_x0,ebx |
- | |
207 | mov ted_sel_y0,eax |
- | |
208 | stdcall draw_main_win,edi |
- | |
209 | jmp .end_find |
- | |
210 | @@: |
- | |
211 | stdcall [mb_create],msgbox_7,thread ;message: Can not find text |
- | |
212 | .end_find: |
- | |
213 | popad |
- | |
214 | ret |
- | |
215 | endp |
- | |
216 | - | ||
217 | ;input: |
- | |
218 | ; eax - text need find |
- | |
219 | ; bl - first symbol to find |
- | |
220 | ; edx - first symbol pointer |
- | |
221 | ; edi - pointer to tedit struct |
- | |
222 | ;output: |
- | |
223 | ; bh - rezult |
- | |
224 | ; edx - last text position (if find sucess) |
- | |
225 | ; esi - first symbol pointer |
- | |
226 | ;description: |
- | |
227 | ; ãªæ¨ï ¯à®¢¥àï¥â ᮢ¯ ¤ ¥â «¨ ⥪áâ ¢ ¡ãä¥à¥ eax |
- | |
228 | ; á ⥪á⮬ । ªâ®à ¯® 㪠§ ⥫î edx. |
- | |
229 | ; â ¤ àâë¥ äãªæ¨¨ ( ¯à. strcmp) âãâ ¥ ¯®¤®©¤ãâ, ¯®â®¬ã çâ® |
- | |
230 | ; ¢ ¯ ¬ï⨠। ªâ®à ⥪áâ ᮤ¥à¦¨âáï ¥ ¢ ¢¨¤¥ ascii áâப. |
- | |
231 | align 4 |
- | |
232 | GetFindRezult: |
- | |
233 | push eax |
- | |
234 | mov bh,1 |
- | |
235 | mov esi,edx ;copy edx |
- | |
236 | @@: |
- | |
237 | cmp byte[edx],bl |
- | |
238 | jne .no_text |
- | |
239 | - | ||
240 | inc eax ;*** get next symbol (in find text) *** |
- | |
241 | mov bl,byte[eax] |
- | |
242 | cmp bl,0 |
- | |
243 | je @f ;end of find text |
- | |
244 | - | ||
245 | call IteratNext ;*** get next symbol (in editor text) *** |
- | |
246 | cmp edx,ted_tex_1 |
- | |
247 | jle @f ;end of editor text |
- | |
248 | - | ||
249 | jmp @b |
- | |
250 | .no_text: |
- | |
251 | xor bh,bh |
- | |
252 | mov edx,esi ;restore edx |
- | |
253 | @@: |
- | |
254 | pop eax |
- | |
255 | mov bl,byte[eax] ;restore bl |
180 | stdcall [mb_create],msgbox_6,thread ;message: Can-t save text file! |
Line 256... | Line 181... | ||
256 | ret |
181 | ret |
257 | 182 | ||
258 | align 4 |
183 | align 4 |
259 | proc ted_but_open_syntax, edit:dword |
184 | proc ted_but_open_syntax, edit:dword |
Line 260... | Line 185... | ||
260 | push edi |
185 | push ebx edi |
261 | mov edi,dword[edit] |
186 | mov edi,dword[edit] |
262 | 187 | ||
263 | cmp ted_panel_id,TE_PANEL_SYNTAX |
188 | cmp ted_panel_id,TED_PANEL_SYNTAX |
264 | jne @f |
189 | jne @f |
- | 190 | stdcall dword[tl_node_get_data], tree1 |
|
- | 191 | pop dword[fn_col_option] |
|
- | 192 | mov ebx,dword[fn_col_option] |
|
265 | stdcall dword[tl_node_get_data], tree1 |
193 | copy_path ebx,fn_syntax_dir,file_name_rez,0x0 |
266 | pop dword[fn_col_option] |
194 | copy_path file_name_rez,sys_path,file_name,0x0 |
267 | stdcall InitColText,edi |
195 | stdcall [ted_init_syntax_file],edi,run_file_70,file_name |
268 | call CmColored |
196 | call [ted_text_colored] |
269 | stdcall draw_main_win,edi |
197 | stdcall [ted_draw],edi |
270 | @@: |
198 | @@: |
Line 271... | Line 199... | ||
271 | pop edi |
199 | pop edi ebx |
272 | ret |
200 | ret |
273 | endp |
- | |
274 | - | ||
275 | align 4 |
- | |
276 | proc ted_but_select_word, edit:dword |
- | |
277 | pushad |
- | |
278 | mov edi,dword[edit] |
- | |
279 | - | ||
280 | call GetPos |
- | |
281 | push edx |
- | |
282 | call ItPervColorTag |
- | |
283 | cmp edx,ted_tex_1 |
- | |
284 | jle @f |
- | |
285 | call GetTexCoords |
- | |
286 | mov ted_sel_x0,ebx |
- | |
287 | mov ted_sel_y0,eax |
- | |
288 | @@: |
- | |
289 | pop edx |
- | |
290 | call ItNextColorTag |
- | |
291 | cmp edx,ted_tex_1 |
- | |
292 | jle @f |
- | |
293 | call GetTexCoords |
- | |
294 | mov ted_sel_x1,ebx |
- | |
295 | mov ted_sel_y1,eax |
- | |
296 | @@: |
- | |
297 | - | ||
298 | call draw_but_toolbar |
- | |
299 | stdcall draw_main_win,edi |
- | |
300 | popad |
- | |
301 | ret |
- | |
302 | endp |
201 | endp |
303 | - | ||
304 | align 4 |
- | |
305 | proc ted_but_cut, edit:dword |
- | |
306 | push edi |
- | |
307 | mov edi,dword[edit] |
- | |
308 | - | ||
309 | stdcall ted_but_copy,edi |
- | |
310 | stdcall ted_set_undo,edi |
- | |
311 | stdcall SelTextDel,ted_opt_ed_change_time |
- | |
312 | - | ||
313 | cmp al,1 |
- | |
314 | jne @f |
- | |
315 | call draw_but_toolbar |
- | |
316 | stdcall draw_main_win,edi |
- | |
317 | @@: |
- | |
318 | pop edi |
- | |
319 | ret |
- | |
320 | endp |
- | |
321 | - | ||
322 | ;output: |
- | |
323 | ; al = 1 if copy text |
- | |
324 | align 4 |
- | |
325 | proc ted_but_copy, edit:dword |
- | |
326 | pushad |
- | |
327 | mov edi,dword[edit] |
- | |
328 | - | ||
329 | stdcall IsSel,edi |
- | |
330 | cmp al,0 |
- | |
331 | je .end_f ;if not selected text |
- | |
332 | stdcall SelNormalize,edi |
- | |
333 | - | ||
334 | mov esi,ted_seln_x1 |
- | |
335 | mov ecx,ted_seln_y1 |
- | |
336 | call GetPosByParam |
- | |
337 | mov ebx,edx |
- | |
338 | mov esi,ted_seln_x0 |
- | |
339 | mov ecx,ted_seln_y0 |
- | |
340 | call GetPosByParam |
- | |
341 | mov esi,ebx |
202 | |
342 | - | ||
343 | xor ecx,ecx |
- | |
344 | mov ebx,buf |
- | |
345 | ;mov edx,ted_tex |
- | |
346 | @@: |
- | |
347 | cmp edx,ted_tex_1 ;end of file |
- | |
348 | jle @f |
- | |
349 | cmp edx,esi ;end of select |
- | |
350 | je @f |
- | |
351 | inc ecx |
- | |
352 | cmp ecx,BUF_SIZE ;owerflow bufer |
- | |
353 | je @f |
- | |
354 | - | ||
355 | mov al,byte[edx] |
- | |
356 | mov byte[ebx],al |
- | |
357 | inc ebx |
- | |
358 | - | ||
359 | call IteratNext |
- | |
360 | jmp @b |
- | |
361 | @@: |
- | |
362 | add ecx,buf |
- | |
363 | mov byte[ebx],0 |
- | |
364 | - | ||
365 | cmp ecx,0 |
- | |
366 | je .end_f |
- | |
367 | call draw_but_toolbar |
- | |
368 | stdcall draw_bufer,edi |
- | |
369 | .end_f: |
- | |
370 | popad |
- | |
371 | ret |
- | |
372 | endp |
- | |
373 | - | ||
374 | - | ||
375 | align 4 |
- | |
376 | proc ted_but_paste, edit:dword |
- | |
377 | push eax ebx esi edi |
- | |
378 | mov edi,dword[edit] |
- | |
379 | - | ||
380 | mov esi,buf |
- | |
381 | call strlen |
- | |
382 | cmp eax,1 |
- | |
383 | jl @f |
- | |
384 | stdcall ted_set_undo,edi |
- | |
385 | mov esi,eax |
- | |
386 | mov ebx,ted_opt_ed_change_time+ted_opt_ed_move_cursor |
- | |
387 | stdcall SelTextDel,ebx |
- | |
388 | cmp al,1 |
- | |
389 | jne .del |
- | |
390 | mov ebx,ted_opt_ed_move_cursor |
- | |
391 | .del: |
- | |
392 | stdcall ted_text_add,edi,buf,esi,ebx |
- | |
393 | call draw_but_toolbar |
- | |
394 | stdcall draw_main_win,edi |
- | |
395 | @@: |
- | |
396 | pop edi esi ebx eax |
- | |
397 | ret |
- | |
398 | endp |
- | |
399 | - | ||
Line 400... | Line 203... | ||
400 | align 4 |
203 | align 4 |
401 | proc but_find, edit:dword ;¢ë§®¢/áªàë⨥ ¯ ¥«¨ ¯®¨áª |
204 | proc ted_but_find ;¢ë§®¢/áªàë⨥ ¯ ¥«¨ ¯®¨áª |
402 | push edi |
205 | push edi |
403 | mov edi,dword[edit] |
206 | mov edi,tedit0 |
404 | 207 | ||
405 | cmp ted_panel_id,TE_PANEL_NULL |
208 | cmp ted_panel_id,TED_PANEL_NULL |
406 | je @f |
209 | je @f |
407 | mov ted_panel_id,TE_PANEL_NULL |
210 | mov ted_panel_id,TED_PANEL_NULL |
408 | mov ted_wnd_l,0 |
211 | mov ted_wnd_l,0 |
409 | jmp .e_if |
212 | jmp .e_if |
410 | @@: |
213 | @@: |
411 | mov ted_panel_id,TE_PANEL_FIND |
214 | mov ted_panel_id,TED_PANEL_FIND |
412 | mov ted_wnd_l,TE_PANEL_WIDTH |
215 | mov ted_wnd_l,TED_PANEL_WIDTH |
413 | .e_if: |
216 | .e_if: |
Line 414... | Line 217... | ||
414 | stdcall EvSize,edi |
217 | stdcall EvSize,edi |
415 | stdcall draw_main_win,edi |
- | |
416 | pop edi |
- | |
417 | ret |
- | |
418 | endp |
- | |
419 | 218 | stdcall [ted_draw],edi |
|
420 | align 4 |
- | |
421 | but_replace: |
- | |
422 | ret |
- | |
423 | - | ||
424 | align 4 |
- | |
425 | but_find_key_w: |
- | |
426 | ret |
- | |
427 | - | ||
428 | align 4 |
- | |
429 | proc but_sumb_upper, edit:dword |
- | |
430 | push edi esi |
- | |
431 | mov edi,dword[edit] |
- | |
432 | - | ||
433 | mov [conv_table],EvUpper |
- | |
434 | call ConvertSelText |
- | |
435 | cmp esi,0 |
- | |
436 | je @f |
- | |
437 | stdcall draw_main_win,edi |
- | |
438 | @@: |
- | |
439 | pop esi edi |
- | |
440 | ret |
- | |
441 | endp |
- | |
442 | - | ||
443 | align 4 |
- | |
444 | proc but_sumb_lover, edit:dword |
- | |
445 | push edi esi |
- | |
446 | mov edi,dword[edit] |
- | |
447 | - | ||
448 | mov [conv_table],EvLover |
- | |
449 | call ConvertSelText |
- | |
450 | cmp esi,0 |
- | |
451 | je @f |
- | |
452 | stdcall draw_main_win,edi |
- | |
453 | @@: |
- | |
454 | pop esi edi |
- | |
455 | ret |
- | |
456 | endp |
- | |
457 | - | ||
458 | align 4 |
- | |
459 | proc but_reverse, edit:dword |
- | |
460 | push eax ebx edi |
- | |
461 | mov edi,dword[edit] |
- | |
462 | - | ||
463 | stdcall IsSel,edi |
- | |
464 | cmp al,0 |
- | |
465 | je @f |
- | |
466 | stdcall SelNormalize,edi |
- | |
467 | push esi ecx edx |
- | |
468 | mov esi,ted_seln_x0 |
- | |
469 | mov ecx,ted_seln_y0 |
- | |
470 | call GetPosByParam |
- | |
471 | mov eax,edx |
- | |
472 | mov esi,ted_seln_x1 |
- | |
473 | cmp esi,0 |
- | |
474 | je .beg_str |
- | |
475 | dec esi |
- | |
476 | .beg_str: |
- | |
477 | mov ecx,ted_seln_y1 |
- | |
478 | call GetPosByParam |
- | |
479 | ;call GetTexPervPos |
- | |
480 | mov ebx,edx |
219 | pop edi |
481 | pop edx ecx esi |
- | |
482 | ;cmp eax,... |
220 | ret |
483 | ;je @f |
- | |
Line 484... | Line 221... | ||
484 | call Revers |
221 | endp |
485 | @@: |
- | |
486 | stdcall draw_main_win,edi |
222 | |
487 | pop edi ebx eax |
- | |
488 | ret |
- | |
489 | endp |
- | |
490 | - | ||
491 | align 4 |
- | |
492 | proc ted_but_undo, edit:dword |
- | |
493 | push eax edi |
- | |
494 | mov edi,dword[edit] |
- | |
495 | - | ||
496 | mov eax,ted_tim_undo |
- | |
497 | cmp ted_tim_ch,eax |
- | |
498 | jbe @f |
223 | align 4 |
499 | inc ted_tim_undo |
- | |
Line 500... | Line 224... | ||
500 | ;call CmColored |
224 | ted_on_find_err: |
501 | stdcall draw_main_win,edi |
- | |
502 | call draw_but_toolbar |
- | |
503 | @@: |
- | |
504 | pop edi eax |
- | |
505 | ret |
- | |
506 | endp |
- | |
507 | 225 | stdcall [mb_create],msgbox_7,thread ;message: Can not find text |
|
508 | align 4 |
- | |
509 | proc ted_but_redo, edit:dword |
- | |
510 | push edi |
- | |
511 | mov edi,dword[edit] |
- | |
512 | - | ||
513 | cmp ted_tim_undo,1 |
226 | ret |
514 | jb @f |
- | |
Line 515... | Line 227... | ||
515 | dec ted_tim_undo |
227 | |
516 | ;call CmColored |
228 | align 4 |
517 | stdcall draw_main_win,edi |
229 | but_replace: |
518 | call draw_but_toolbar |
230 | ret |
Line 519... | Line 231... | ||
519 | @@: |
231 | |
520 | pop edi |
232 | align 4 |
521 | ret |
233 | but_find_key_w: |
522 | endp |
234 | ret |
523 | 235 | ||
524 | align 4 |
236 | align 4 |
Line 525... | Line 237... | ||
525 | proc but_sumb_invis, edit:dword |
237 | proc but_sumb_invis, edit:dword |
Line 539... | Line 251... | ||
539 | mov edi,dword[edit] |
251 | mov edi,dword[edit] |
Line 540... | Line 252... | ||
540 | 252 | ||
541 | xor ted_mode_color,1 |
253 | xor ted_mode_color,1 |
542 | cmp ted_mode_color,0 |
254 | cmp ted_mode_color,0 |
543 | je @f |
255 | je @f |
544 | call CmColored |
256 | call [ted_text_colored] |
545 | @@: |
257 | @@: |
546 | call draw_but_toolbar |
258 | call draw_but_toolbar |
547 | stdcall draw_main_win,edi |
259 | stdcall [ted_draw],edi |
548 | pop edi |
260 | pop edi |
549 | ret |
261 | ret |
Line 550... | Line -... | ||
550 | endp |
- | |
551 | - | ||
552 | - | ||
553 | ;input: |
- | |
554 | ; edi = pointer to tedit struct |
- | |
555 | align 4 |
- | |
556 | but_CtrlHome: |
- | |
557 | mov ted_cur_x,0 |
- | |
558 | mov ted_cur_y,0 |
- | |
559 | push eax |
- | |
560 | mov eax,ted_scr_w |
- | |
561 | mov dword[eax+sb_offs_position],0 |
- | |
562 | mov eax,ted_scr_h |
- | |
563 | mov dword[eax+sb_offs_position],0 |
- | |
564 | pop eax |
- | |
565 | call draw_but_toolbar |
- | |
566 | stdcall draw_main_win,edi |
- | |
567 | ret |
262 | endp |
568 | 263 | ||
569 | align 4 |
264 | align 4 |
570 | proc but_synt_show, edit:dword |
265 | proc but_synt_show, edit:dword |
Line 571... | Line 266... | ||
571 | push edi |
266 | push edi |
572 | mov edi,[edit] |
267 | mov edi,[edit] |
573 | 268 | ||
574 | cmp ted_panel_id,TE_PANEL_NULL |
269 | cmp ted_panel_id,TED_PANEL_NULL |
575 | je @f |
270 | je @f |
576 | mov ted_panel_id,TE_PANEL_NULL |
271 | mov ted_panel_id,TED_PANEL_NULL |
577 | mov ted_wnd_l,0 |
272 | mov ted_wnd_l,0 |
578 | jmp .e_if |
273 | jmp .e_if |
579 | @@: |
274 | @@: |
580 | mov ted_panel_id,TE_PANEL_SYNTAX |
275 | mov ted_panel_id,TED_PANEL_SYNTAX |
581 | mov ted_wnd_l,TE_PANEL_WIDTH |
- | |
582 | .e_if: |
- | |
583 | stdcall EvSize,edi |
- | |
584 | stdcall draw_main_win,edi |
- | |
585 | pop edi |
- | |
586 | ret |
- | |
587 | endp |
- | |
588 | - | ||
589 | align 4 |
- | |
590 | proc ted_sel_key_up, edit:dword |
- | |
591 | push edi |
- | |
592 | mov edi,dword[edit] |
- | |
593 | - | ||
594 | cmp ted_drag_k,1 |
- | |
595 | je @f |
- | |
596 | stdcall SelStart,edi |
- | |
597 | mov ted_drag_k,1 |
- | |
598 | @@: |
- | |
599 | push dx |
- | |
600 | call CurMoveUp |
- | |
601 | cmp dl,8 |
- | |
602 | jne @f |
- | |
603 | call OnInitialUpdate |
- | |
604 | @@: |
- | |
605 | pop dx |
- | |
606 | stdcall SelMove,edi |
- | |
607 | stdcall draw_main_win,edi |
- | |
608 | pop edi |
- | |
609 | ret |
- | |
610 | endp |
- | |
611 | - | ||
612 | align 4 |
- | |
613 | proc ted_sel_key_down, edit:dword |
- | |
614 | push edi |
- | |
615 | mov edi,dword[edit] |
- | |
616 | - | ||
617 | cmp ted_drag_k,1 |
- | |
618 | je @f |
- | |
619 | stdcall SelStart,edi |
- | |
620 | mov ted_drag_k,1 |
- | |
621 | @@: |
- | |
622 | push dx |
- | |
623 | call CurMoveDown |
- | |
624 | cmp dl,8 |
- | |
625 | jne @f |
- | |
626 | call OnInitialUpdate |
276 | mov ted_wnd_l,TED_PANEL_WIDTH |
627 | @@: |
- | |
628 | pop dx |
- | |
629 | stdcall SelMove,edi |
- | |
630 | stdcall draw_main_win,edi |
- | |
631 | pop edi |
- | |
632 | ret |
- | |
633 | endp |
- | |
634 | - | ||
635 | align 4 |
- | |
636 | proc ted_sel_key_left, edit:dword |
- | |
637 | push edi |
- | |
638 | mov edi,dword[edit] |
- | |
639 | - | ||
640 | cmp ted_drag_k,1 |
- | |
641 | je @f |
- | |
642 | stdcall SelStart,edi |
- | |
643 | @@: |
- | |
644 | push dx |
- | |
645 | call CurMoveLeft |
- | |
646 | stdcall SelMove,edi |
- | |
647 | cmp ted_drag_k,1 |
- | |
648 | je @f |
- | |
649 | mov ted_drag_k,1 |
- | |
650 | mov dl,8 |
- | |
651 | @@: |
- | |
652 | cmp dl,8 |
- | |
653 | jne @f |
- | |
654 | call OnInitialUpdate |
- | |
655 | stdcall draw_main_win,edi |
- | |
656 | jmp .end_f |
- | |
657 | @@: |
- | |
658 | stdcall draw_cur_line,edi |
- | |
659 | .end_f: |
- | |
660 | pop dx |
- | |
661 | pop edi |
- | |
662 | ret |
- | |
663 | endp |
- | |
664 | - | ||
665 | align 4 |
- | |
666 | proc ted_sel_key_right, edit:dword |
- | |
667 | push edi |
- | |
668 | mov edi,dword[edit] |
- | |
669 | - | ||
670 | cmp ted_drag_k,1 |
- | |
671 | je @f |
- | |
672 | stdcall SelStart,edi |
- | |
673 | @@: |
- | |
674 | push dx |
- | |
675 | call CurMoveRight |
- | |
676 | stdcall SelMove,edi |
- | |
677 | cmp ted_drag_k,1 |
- | |
678 | je @f |
- | |
679 | mov ted_drag_k,1 |
- | |
680 | mov dl,8 |
- | |
681 | @@: |
- | |
682 | cmp dl,8 |
- | |
683 | jne @f |
- | |
684 | call OnInitialUpdate |
- | |
685 | stdcall draw_main_win,edi |
- | |
686 | jmp .end_f |
- | |
687 | @@: |
- | |
688 | stdcall draw_cur_line,edi |
277 | .e_if: |
689 | .end_f: |
278 | stdcall EvSize,edi |
690 | pop dx |
279 | stdcall [ted_draw],edi |