Subversion Repositories Kolibri OS

Rev

Rev 5911 | Rev 7577 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5911 Rev 7575
1
use32
1
use32
2
  org 0x0
2
  org 0
3
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
3
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
4
  dd 0x01
-
 
5
  dd start
-
 
6
  dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï
4
  dd 1, start, i_end, mem, stacktop, file_name, sys_path
7
  dd mem
-
 
8
  dd stacktop
-
 
9
  dd file_name
-
 
10
  dd sys_path
-
 
11
 
5
 
12
MAX_COLOR_WORD_LEN equ 40
6
MAX_COLOR_WORD_LEN equ 40
13
BUF_SIZE equ 4096 ;buffer for copy|paste
7
BUF_SIZE equ 4096 ;buffer for copy|paste
14
maxSyntaxFileSize equ 310000
-
 
15
CAPT_PATH_WIDTH equ 50 ;è¨à¨­  ¯®¤¯¨á¨ ¯¥à¥¤ ⥪áâ®¢ë¬ ¯®«¥¬
8
CAPT_PATH_WIDTH equ 50 ;è¨à¨­  ¯®¤¯¨á¨ ¯¥à¥¤ ⥪áâ®¢ë¬ ¯®«¥¬
16
 
9
 
17
include '../../macros.inc'
10
include '../../macros.inc'
18
include '../../proc32.inc'
11
include '../../proc32.inc'
-
 
12
include '../../KOSfuncs.inc'
19
include '../../develop/libraries/box_lib/load_lib.mac'
13
include '../../load_img.inc'
20
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
14
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
21
include '../../dll.inc'
15
include '../../system/skincfg/trunk/kglobals.inc'
-
 
16
include '../../system/skincfg/trunk/unpacker.inc'
22
include 'te_data.inc'
17
include 'te_data.inc'
23
include 'te_work.inc' ;text work functions
18
include 'te_work.inc' ;text work functions
24
 
19
 
25
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
20
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
26
 
-
 
27
;Œ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨© á ¨á¯®«ì§®¢ ­¨¥¬ ¡¨¡«¨®â¥ª¨ libimg.obj
-
 
28
;¤«ï ¨á¯®«ì§®¢ ­¨ï ¬ ªà®á  ­ã¦­ë ¯¥à¥¬¥­­ë¥:
-
 
29
; - run_file_70 FileInfoBlock
-
 
30
; - image_data dd 0
-
 
31
macro load_image_file path,buf,size
-
 
32
{
-
 
33
	;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥­­®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
-
 
34
	if path eqtype '' ;¯à®¢¥à塞 § ¤ ­ «¨ áâப®© ¯ à ¬¥âà path
-
 
35
		jmp @f
-
 
36
			local .path_str
-
 
37
			.path_str db path ;ä®à¬¨à㥬 «®ª «ì­ãî ¯¥à¥¬¥­­ãî
-
 
38
			db 0
-
 
39
		@@:
-
 
40
		;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
-
 
41
		copy_path .path_str,[32],file_name,0
-
 
42
	else
-
 
43
		copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
-
 
44
	end if
-
 
45
 
-
 
46
	stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
-
 
47
	mov [buf],eax
-
 
48
 
-
 
49
	mov [run_file_70.Function], 0
-
 
50
	mov [run_file_70.Position], 0
-
 
51
	mov [run_file_70.Flags], 0
-
 
52
	mov [run_file_70.Count], dword size
-
 
53
	mov [run_file_70.Buffer], eax
-
 
54
	mov byte[run_file_70+20], 0
-
 
55
	mov [run_file_70.FileName], file_name
-
 
56
	mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
-
 
57
	cmp ebx,0xffffffff
-
 
58
	je @f
-
 
59
		;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
-
 
60
		stdcall dword[img_decode], dword[buf],ebx,0
-
 
61
		mov dword[image_data],eax
-
 
62
		;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
-
 
63
		stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
-
 
64
		;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
-
 
65
		stdcall dword[img_destroy], dword[image_data]
-
 
66
	@@:
-
 
67
}
-
 
68
 
-
 
69
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì. ¤«ï ­ã¦¥­ ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
21
 
70
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
22
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
71
 
23
 
72
align 4
24
align 4
73
start:
25
start:
74
	mcall 48,3,sc,sizeof.system_colors
26
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
75
 
27
 
76
	mcall 68,11
28
	mcall SF_SYS_MISC,SSF_HEAP_INIT
77
	or eax,eax
29
	or eax,eax
78
	jz button.exit
30
	jz button.exit
79
 
31
 
80
	mcall 66,1,1 ;scan code
32
	mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
81
	mcall 40,0x27
-
 
82
 
-
 
83
;-------------------------------------------------
-
 
84
	mov ecx,maxSyntaxFileSize
-
 
85
	stdcall mem.Alloc,ecx
-
 
86
	mov [options_file],eax
-
 
87
	mov [options_file_end],eax
-
 
88
	add [options_file_end],ecx
-
 
89
 
33
	mcall SF_SET_EVENTS_MASK,0xC0000027
90
 
34
 
91
load_libraries l_libs_start,load_lib_end
35
	load_libraries l_libs_start,load_lib_end
92
 
36
 
93
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ¡¨¡«¨®â¥ª 
37
	;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨« áì ¡¨¡«¨®â¥ª 
94
	cmp dword [lib0+ll_struc_size-4],0
38
	cmp dword[lib0+ll_struc_size-4],0
95
	jz @f
39
	jz @f
96
		mcall -1 ;exit not correct
40
		mcall -1 ;exit not correct
97
	@@:
41
	@@:
98
 
42
 
99
;---------------------------------------------------------------------
43
;---------------------------------------------------------------------
100
	stdcall dword[tl_data_init],dword tree1
44
	stdcall [tl_data_init], tree1
101
 
45
 
102
; ç¨â ¥¬ ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
46
; ç¨â ¥¬ ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
103
	load_image_file 'tl_sys_16.png', icon_tl_sys,54+3*256*13
47
	include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
104
	mov eax,dword[icon_tl_sys]
48
	mov eax,[icon_tl_sys]
105
	mov dword[tree1.data_img_sys],eax
49
	mov [tree1.data_img_sys],eax
106
;---------------------------------------------------------------------
50
;---------------------------------------------------------------------
107
; ç¨â ¥¬ bmp ä ©« á ¨ª®­ª ¬¨ 㧫®¢
51
; ç¨â ¥¬ bmp ä ©« á ¨ª®­ª ¬¨ 㧫®¢
108
	load_image_file 'tl_nod_16.png', icon_tl_sys,54+3*256*2
52
	include_image_file '..\t_edit\tl_nod_16.png', icon_tl_sys
109
	mov eax,dword[icon_tl_sys]
53
	mov eax,[icon_tl_sys]
110
	mov dword[tree1.data_img],eax
54
	mov [tree1.data_img],eax
111
;------------------------------------------------------------------------------
55
;------------------------------------------------------------------------------
112
  copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
-
 
113
  mov eax,70
56
	copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
114
  mov ebx,tree_file_struct
-
 
115
  int 0x40
57
	mcall SF_FILE,tree_file_struct
116
 
58
 
117
cmp ebx,-1
59
	cmp ebx,-1
118
je .end_dir_init
60
	je .end_dir_init
119
 
-
 
120
  mov eax,dir_mem
61
		mov eax,dir_mem
121
  add eax,32+4+1+3+4*6+8
62
		add eax,32+4+1+3+4*6+8
122
mov ecx,ebx
63
		mov ecx,ebx
123
@@:
64
		@@:
124
  cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
65
			cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
125
  je .filter
66
			je .filter
126
    stdcall dword[tl_node_add],tree1,0x10000,eax ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
67
			stdcall [tl_node_add],tree1,0x10000,eax ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
127
    stdcall dword[tl_cur_next],tree1
68
			stdcall [tl_cur_next],tree1
128
  .filter:
69
		.filter:
129
  add eax,304
70
			add eax,304
130
  loop @b
71
		loop @b
131
  stdcall dword[tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
72
		stdcall [tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
-
 
73
		or dword[tree1.style], tl_cursor_pos_limited ;®£à ­¨ç¨¢ ¥¬ ¤¢¨¦¥­¨¥ ªãàá®à  ¢ ¯à¥¤¥« å ᯨ᪠
132
.end_dir_init:
74
	.end_dir_init:
133
 
75
 
134
;--- load color option file ---
76
;--- load color option file ---
135
stdcall [ted_init], tedit0
77
stdcall [ted_init], tedit0
136
mov byte[file_name],0
78
mov byte[file_name],0
137
 
79
 
138
align 4
80
align 4
139
red_win:
81
red_win:
140
	call draw_window
82
	call draw_window
141
 
83
 
142
align 4
84
align 4
143
still:
85
still:
144
  mcall 10
86
  mcall SF_WAIT_EVENT
145
 
87
 
146
  cmp al,1 ;¨§¬. ¯®«®¦¥­¨¥ ®ª­ 
88
  cmp al,1 ;¨§¬. ¯®«®¦¥­¨¥ ®ª­ 
147
  jz red_win
89
  jz red_win
148
  cmp al,2
90
  cmp al,2
149
  jz key
91
  jz key
150
  cmp al,3
92
  cmp al,3
151
  jz button
93
  jz button
152
  cmp al,6
94
  cmp al,6
153
  jz mouse
95
  jz mouse
154
 
96
 
155
  jmp still
97
  jmp still
156
 
98
 
157
 
99
 
158
align 4
100
align 4
159
draw_window:
101
draw_window:
160
	pushad
102
	pushad
161
	mcall 12,1
103
	mcall SF_REDRAW,SSF_BEGIN_DRAW
162
 
104
 
163
	mov edx,[sc.work]
105
	mov edx,[sc.work]
164
	or  edx,0x33000000
106
	or  edx,0x33000000
165
	mov edi,hed
107
	mov edi,hed
166
	mcall 0,<10,555>,<10,333>
108
	mcall SF_CREATE_WINDOW,<10,555>,<10,333>
167
 
109
 
-
 
110
	mcall SF_THREAD_INFO,procinfo,-1
-
 
111
	mov edi,tedit0 ;§­ ç¥­¨¥ edi ­ã¦­® ¤«ï EvSize ¨ ted_wnd_t
168
	mcall 9,procinfo,-1
-
 
169
 
-
 
170
	mov eax,8 ;ª­®¯ª 
-
 
171
	mov ebx,5*65536+90
-
 
172
	mov ecx,195*65536+20
112
	call EvSize
173
	mov edx,200
113
 
174
	mov esi,[sc.work_button];0xd0
-
 
175
	mcall
114
	mov esi,[sc.work_button];0xd0
176
 
115
	mcall SF_DEFINE_BUTTON,5*65536+90,195*65536+20,200
177
	;mov eax,8
116
 
178
	mov ebx,100*65536+85
117
	mov ebx,100*65536+85
179
	mov ecx,195*65536+20
118
	mov ecx,195*65536+20
180
	mov edx,201
119
	mov edx,201
181
	mov esi,0xd00000
120
	mov esi,0xd00000
182
	mcall
121
	mcall
183
 
-
 
184
	mov eax,4 ;à¨á®¢ ­¨¥ ⥪áâ 
-
 
185
	mov ebx,10*65536+200
122
 
186
	mov ecx,[sc.work_button_text]
123
	mov ecx,[sc.work_button_text]
187
	or  ecx,0x80000000
124
	or  ecx,0x80000000
188
	mov edx,txt122
-
 
189
	mcall
-
 
190
 
125
	mcall SF_DRAW_TEXT,10*65536+200,,txt_load_f
191
	mov ebx,105*65536+200
126
 
192
	mov ecx,0xffff00
127
	mov ecx,0xffff00
193
	or  ecx,0x80000000
-
 
194
	mov edx,txt148
-
 
195
	mcall
128
	or  ecx,0x80000000
196
 
129
	mcall ,105*65536+200,,txt_save_f
197
	mov ebx,195*65536+10
130
 
198
	mov ecx,[sc.work_text]
-
 
199
	or  ecx,0x80000000
131
	mov ecx,[sc.work_text]
200
	mov edx,txt_inp_file
132
	or  ecx,0x80000000
201
	int 0x40
133
	mcall ,195*65536+10,,txt_inp_file
202
 
134
 
203
	add ebx,20
135
	add ebx,20
204
	mov edx,txt_out_file
136
	mov edx,txt_out_file
205
	int 0x40
137
	int 0x40
206
 
138
 
207
	push dword PathShow_data_1
139
	push dword PathShow_data_1
208
	call [PathShow_draw]
140
	call [PathShow_draw]
209
	
141
	
210
	stdcall [edit_box_draw],dword edit1
142
	stdcall [edit_box_draw],dword edit1
211
	stdcall [tl_draw],dword tree1
143
	stdcall [tl_draw],dword tree1
212
 
144
 
213
	;scroll 1
145
	;scroll 1
214
	mov [ws_dir_lbox.all_redraw],1
146
	mov [ws_dir_lbox.all_redraw],1
215
	stdcall [scrollbar_ver_draw],dword ws_dir_lbox
147
	stdcall [scrollbar_ver_draw],dword ws_dir_lbox
216
	stdcall [ted_draw], tedit0
148
	stdcall [ted_draw], tedit0
-
 
149
 
-
 
150
	mcall SF_REDRAW,SSF_END_DRAW
-
 
151
	popad
-
 
152
	ret
-
 
153
 
-
 
154
MIN_M_WND_H equ 100 ;¬¨­¨¬ «ì­ ï ¢ëá®â  £« ¢­®£® ®ª­ 
-
 
155
;input:
217
 
156
; edi = pointer to tedit struct
-
 
157
align 4
-
 
158
EvSize:
-
 
159
	pushad
-
 
160
	mov ebx,ted_scr_h
-
 
161
	mov esi,ted_scr_w
-
 
162
 
-
 
163
	m2m ted_wnd_w,[procinfo.client_box.width] ;áâ ¢¨¬ è¨à¨­ã ®ª­  । ªâ®à  à ¢­®© è¨à¨­¥ ¢á¥£® ®ª­ 
-
 
164
	mov eax,ted_wnd_l
-
 
165
	sub ted_wnd_w,eax ;®â­¨¬ ¥¬ ®âáâ㯠᫥¢ 
-
 
166
	movzx eax,word[esi+sb_offs_size_x]
-
 
167
	sub ted_wnd_w,eax ;®â­¨¬ ¥¬ è¨à¨­ã ¢¥àâ. áªà®««¨­£ 
-
 
168
 
-
 
169
	m2m ted_wnd_h,[procinfo.client_box.height] ;áâ ¢¨¬ ¢ëá®âã ®ª­  । ªâ®à  à ¢­®© ¢ëá®â¥ ¢á¥£® ®ª­ 
-
 
170
	cmp ted_wnd_h,MIN_M_WND_H
-
 
171
	jg @f
-
 
172
		mov ted_wnd_h,MIN_M_WND_H
-
 
173
	@@:
-
 
174
 
-
 
175
	movzx eax,word[ebx+sb_offs_size_y]
-
 
176
	sub ted_wnd_h,eax	      ;®â­¨¬ ¥¬ ¢ëá®âã £®à¨§. áªà®««¨­£ 
-
 
177
	mov eax,ted_wnd_t
-
 
178
	sub ted_wnd_h,eax	      ;®â­¨¬ ¥¬ ®âáâ㯠ᢥàåã
-
 
179
 
218
	mcall 12,2
180
	stdcall [ted_init_scroll_bars], tedit0,2
219
	popad
181
	popad
220
	ret
182
	ret
221
 
183
 
222
align 4
184
align 4
223
mouse:
185
mouse:
224
	stdcall [tl_mouse],tree1
186
	stdcall [tl_mouse],tree1
225
	stdcall [edit_box_mouse],edit1
187
	stdcall [edit_box_mouse],edit1
226
	stdcall [ted_mouse], tedit0
188
	stdcall [ted_mouse], tedit0
227
	jmp still
189
	jmp still
228
 
190
 
229
;output:
191
;output:
230
; ah = symbol
192
; ah = symbol
231
align 4
193
align 4
232
proc KeyConvertToASCII, table:dword
194
proc KeyConvertToASCII, table:dword
233
	push ebx
195
	push ebx
234
	mov ebx,dword[table] ;convert scan to ascii
196
	mov ebx,dword[table] ;convert scan to ascii
235
	ror ax,8
197
	ror ax,8
236
	xor ah,ah
198
	xor ah,ah
237
	add bx,ax
199
	add bx,ax
238
	mov ah,byte[ebx]
200
	mov ah,byte[ebx]
239
	pop ebx
201
	pop ebx
240
	ret
202
	ret
241
endp
203
endp
242
 
204
 
243
align 4
205
align 4
244
key:
206
key:
245
	mcall 66,3 ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
207
	mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
246
	xor esi,esi
208
	xor esi,esi
247
	mov ecx,1
209
	mov ecx,1
248
	test al,0x03 ;[Shift]
210
	test al,3 ;[Shift]
249
	jz @f
211
	jz @f
250
		mov cl,2
212
		mov cl,2
251
		or esi,KM_SHIFT
213
		or esi,KM_SHIFT
252
	@@:
214
	@@:
253
	test al,0x0c ;[Ctrl]
215
	test al,0x0c ;[Ctrl]
254
	jz @f
216
	jz @f
255
		or esi,KM_CTRL
217
		or esi,KM_CTRL
256
	@@:
218
	@@:
257
	test al,0x30 ;[Alt]
219
	test al,0x30 ;[Alt]
258
	jz @f
220
	jz @f
259
		mov cl,3
221
		mov cl,3
260
		or esi,KM_ALT
222
		or esi,KM_ALT
261
	@@:
223
	@@:
262
	test al,0x80 ;[NumLock]
224
	test al,0x80 ;[NumLock]
263
	jz @f
225
	jz @f
264
		or esi,KM_NUMLOCK
226
		or esi,KM_NUMLOCK
265
	@@:
227
	@@:
266
 
228
 
267
	mcall 26,2,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
229
	mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
268
	mcall 2
230
	mcall SF_GET_KEY
269
	stdcall [tl_key],tree1
231
	stdcall [tl_key],tree1
270
 
232
 
271
	test word [edit1.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
233
	test word [edit1.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
272
	je @f
234
	je @f
273
		cmp ah,0x80 ;if key up
235
		cmp ah,0x80 ;if key up
274
		ja still
236
		ja still
275
		cmp ah,42 ;[Shift] (left)
237
		cmp ah,42 ;[Shift] (left)
276
		je still
238
		je still
277
		cmp ah,54 ;[Shift] (right)
239
		cmp ah,54 ;[Shift] (right)
278
		je still
240
		je still
279
		cmp ah,56 ;[Alt]
241
		cmp ah,56 ;[Alt]
280
		je still
242
		je still
281
		cmp ah,29 ;[Ctrl]
243
		cmp ah,29 ;[Ctrl]
282
		je still
244
		je still
283
		cmp ah,69 ;[Pause Break]
245
		cmp ah,69 ;[Pause Break]
284
		je still
246
		je still
285
 
247
 
286
		stdcall KeyConvertToASCII, dword conv_tabl
248
		stdcall KeyConvertToASCII, conv_tabl
287
		stdcall [edit_box_key],edit1
249
		stdcall [edit_box_key],edit1
288
		jmp still
250
		jmp still
289
	@@:
251
	@@:
290
 
252
 
291
	stdcall [ted_key], tedit0, conv_tabl,esi
253
	stdcall [ted_key], tedit0, conv_tabl,esi
292
	jmp still
254
	jmp still
293
 
255
 
294
align 4
256
align 4
295
button:
257
button:
296
;  cmp [menu_active],1 ;¥á«¨ ­ ¦ «¨ ¬¥­î, â® á­ ç «  ॠªæ¨ï ­  ¬¥­î
-
 
297
;  jne @f ;mouse.menu_bar_1
-
 
298
;    mov [menu_active],0
258
	mcall SF_GET_BUTTON
299
;    jmp still
-
 
300
;  @@:
-
 
301
 
-
 
302
  mcall 17 ;¯®«ãç¨âì ª®¤ ­ ¦ â®© ª­®¯ª¨
-
 
303
 
259
 
304
  cmp ah,200
260
	cmp ah,200
305
  jne @f
261
	jne @f
306
    call but_OpenSyntax
262
		call but_OpenSyntax
307
  @@:
263
	@@:
308
  cmp ah,201
264
	cmp ah,201
309
  jne @f
265
	jne @f
310
    call but_SaveSyntax
266
		call but_SaveSyntax
311
  @@:
267
	@@:
312
 
268
 
313
  cmp ah,1
269
	cmp ah,1
314
  jne still
270
	jne still
315
.exit:
271
.exit:
316
  ;push eax
-
 
317
 
-
 
318
  stdcall mem.Free,[options_file]
272
	stdcall mem.Free,[options_file]
-
 
273
	stdcall mem.Free,[unpac_mem]
319
 
274
 
320
  stdcall [tl_data_clear], tree1
275
	stdcall [tl_data_clear], tree1
321
  stdcall [ted_delete], tedit0
276
	stdcall [ted_delete], tedit0
322
  mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë
277
	mcall SF_TERMINATE_PROCESS ;¢ë室 ¨§ ¯à®£à ¬¬ë
323
 
278
 
324
align 4
279
align 4
325
but_OpenSyntax:
280
but_OpenSyntax:
326
push eax
281
push eax
327
	stdcall [tl_node_get_data],tree1
282
	stdcall [tl_node_get_data],tree1
328
	mov [fn_col_option],eax
283
	mov [fn_col_option],eax
329
	call InitColText
284
	call InitColText
330
pop eax
285
pop eax
331
	ret
286
	ret
332
 
287
 
333
align 4
288
align 4
334
but_SaveSyntax:
289
but_SaveSyntax:
335
	stdcall [ted_save_file], tedit0,run_file_70,[edit1.text]
290
	stdcall [ted_save_file], tedit0,run_file_70,[edit1.text]
336
	ret
291
	ret
337
 
292
 
338
align 4
293
align 4
339
but_ctrl_o:
294
but_ctrl_o:
340
	push eax
295
	push eax
341
	call get_wnd_in_focus
296
	call get_wnd_in_focus
342
	cmp eax,0
297
	cmp eax,0
343
	je @f
298
	je @f
344
		stdcall [ted_open_file], eax,str_file_70,[edit1.text]
299
		stdcall [ted_open_file], eax,str_file_70,[edit1.text]
345
	@@:
300
	@@:
346
	pop eax
301
	pop eax
347
	ret
302
	ret
348
 
303
 
349
;ᮧ¤ ­¨¥ ­®¢®£® ä ©« 
304
;ᮧ¤ ­¨¥ ­®¢®£® ä ©« 
350
align 4
305
align 4
351
but_ctrl_n:
306
but_ctrl_n:
352
	push eax
307
	push eax
353
	call get_wnd_in_focus
308
	call get_wnd_in_focus
354
	cmp eax,0
309
	cmp eax,0
355
	je @f
310
	je @f
356
		stdcall [ted_clear], eax,1
311
		stdcall [ted_clear], eax,1
357
		stdcall [ted_draw], eax
312
		stdcall [ted_draw], eax
358
	@@:
313
	@@:
359
	pop eax
314
	pop eax
360
	ret
315
	ret
361
 
316
 
362
;®¯à¥¤¥«ï¥¬ ª ª®¥ ¨§ ®ª®­ । ªâ®à  ¢ 䮪ãá¥
317
;®¯à¥¤¥«ï¥¬ ª ª®¥ ¨§ ®ª®­ । ªâ®à  ¢ 䮪ãá¥
363
align 4
318
align 4
364
get_wnd_in_focus:
319
get_wnd_in_focus:
365
	xor eax,eax
320
	xor eax,eax
366
	cmp dword[el_focus],tedit0
321
	cmp dword[el_focus],tedit0
367
	jne @f
322
	jne @f
368
		mov eax,tedit0
323
		mov eax,tedit0
369
	@@:
324
	@@:
370
	;cmp dword[el_focus],tedit1
325
	;cmp dword[el_focus],tedit1
371
	;jne @f
326
	;jne @f
372
	;       mov eax,tedit1
327
	;       mov eax,tedit1
373
	;@@:
328
	;@@:
374
	ret
329
	ret
375
 
330
 
376
hed db 'TextEditor syntax file converter 10.11.15',0 ;¯®¤¯¨áì ®ª­ 
331
hed db 'TextEditor syntax file converter 15.01.19',0 ;¯®¤¯¨áì ®ª­ 
377
conv_tabl rb 128 ; â ¡«¨æ  ¤«ï ª®­¢¥àâ¨à®¢ ­¨ï scan-ª®¤  ¢ ascii-ª®¤
332
conv_tabl rb 128 ; â ¡«¨æ  ¤«ï ª®­¢¥àâ¨à®¢ ­¨ï scan-ª®¤  ¢ ascii-ª®¤
378
 
333
 
379
txt122 db '‡ £à. ä ©«',0
334
txt_load_f db '‡ £à. ä ©«',0
380
txt148 db '‘®åà. ä ©«',0
335
txt_save_f db '‘®åà. ä ©«',0
381
txt_inp_file db 'ˆáå. ä ©«:',0
336
txt_inp_file db 'ˆáå. ä ©«:',0
382
txt_out_file db '‚ëå. ä ©«:',0
337
txt_out_file db '‚ëå. ä ©«:',0
383
 
-
 
384
txt_no_kpack db 'Žâªà뢠¥¬ë© ä ©« ᦠâ Kpack-®¬.',13,10,'„«ï à ¡®âë á ä ©«®¬ à á¯ ªã©â¥ ¥£® ¨á¯®«ì§ãï á¨á⥬­ãî ¯à®£à ¬¬ã Kpack.',13,10,' ¡®â  ᮠᦠâ묨 ä ©« ¬¨ ¯®ª  ­¥ ¯®¤¤¥à¦¨¢ ¥âáï.',0
-
 
385
 
338
 
386
head_f_i:
339
head_f_i:
387
head_f_l db 'System error',0
340
head_f_l db 'System error',0
388
err_message_found_lib_0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
341
err_message_found_lib_0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
389
err_message_import_0 db 'Error on load import library ',39,'box_lib.obj',39,0
342
err_message_import_0 db 'Error on load import library ',39,'box_lib.obj',39,0
390
err_message_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
343
err_message_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
391
err_message_import_1 db 'Error on load import library ',39,'libimg.obj',39,0
344
err_message_import_1 db 'Error on load import library ',39,'libimg.obj',39,0
392
 
345
 
393
;library structures
346
;library structures
394
l_libs_start:
347
l_libs_start:
395
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0, err_message_found_lib_0, head_f_l, import_box_lib,err_message_import_0, head_f_i
348
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0, err_message_found_lib_0, head_f_l, import_box_lib,err_message_import_0, head_f_i
396
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1, err_message_found_lib_1, head_f_l, import_libimg,err_message_import_1, head_f_i
349
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1, err_message_found_lib_1, head_f_l, import_libimg,err_message_import_1, head_f_i
397
load_lib_end:
350
load_lib_end:
-
 
351
 
398
 
352
IncludeIGlobals
399
 
353
 
400
align 16
354
align 16
401
i_end:
355
i_end:
-
 
356
IncludeUGlobals
402
	procinfo process_information
357
	procinfo process_information
403
		rb 1024
358
		rb 1024
404
	thread:
359
	thread:
405
		rb 1024
360
		rb 1024
406
stacktop:
361
stacktop:
407
  sys_path:
362
  sys_path:
408
    rb 4096
363
    rb 4096
409
  file_name:
364
  file_name:
410
    rb 4096
365
    rb 4096
411
  file_name_rez:
366
  file_name_rez:
412
    rb 4096
367
    rb 4096
413
mem:
368
mem: