Subversion Repositories Kolibri OS

Rev

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

Rev 7572 Rev 7573
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì ¢á¥¬, ªâ® ¯®¬®£ «: ª®¤®¬/ᮢ¥â®¬/¤¨§ ©­®¬ ...
1
;Ž£à®¬­ ï ¡« £®¤ à­®áâì ¢á¥¬, ªâ® ¯®¬®£ «: ª®¤®¬/ᮢ¥â®¬/¤¨§ ©­®¬ ...
2
 
2
 
3
use32
3
use32
4
  org 0
4
  org 0
5
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
5
  db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
6
  dd 1, start, i_end, mem, stacktop, file_name, sys_path
6
  dd 1, start, i_end, mem, stacktop, file_name, sys_path
7
 
7
 
8
MAX_COLOR_WORD_LEN equ 40
8
MAX_COLOR_WORD_LEN equ 40
9
maxChars equ 100002 ;(ª®««¨ç¥á⢮ ᨬ¢®«®¢ ¢ ­®¢®¬ ¤®ªã¬¥­â¥ + 2)
9
maxChars equ 100002 ;(ª®««¨ç¥á⢮ ᨬ¢®«®¢ ¢ ­®¢®¬ ¤®ªã¬¥­â¥ + 2)
10
BUF_SIZE equ 4096 ;buffer for copy|paste
10
BUF_SIZE equ 4096 ;buffer for copy|paste
11
maxSyntaxFileSize equ 410000
11
maxSyntaxFileSize equ 410000
12
TOOLBAR_ICONS_SIZE equ 1200*20
12
TOOLBAR_ICONS_SIZE equ 1200*21
13
 
13
 
14
include '../../proc32.inc'
14
include '../../proc32.inc'
15
include '../../macros.inc'
15
include '../../macros.inc'
16
include '../../KOSfuncs.inc'
16
include '../../KOSfuncs.inc'
17
include '../../load_img.inc'
17
include '../../load_img.inc'
18
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
18
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
19
include '../../system/skincfg/trunk/kglobals.inc'
19
include '../../system/skincfg/trunk/kglobals.inc'
20
include '../../system/skincfg/trunk/unpacker.inc'
20
include '../../system/skincfg/trunk/unpacker.inc'
21
include 'lang.inc'
21
include 'lang.inc'
22
 
22
 
23
include 't_data.inc'
23
include 't_data.inc'
-
 
24
include 't_button.inc'
24
include 't_menu.inc'
25
include 't_menu.inc'
25
include 'strlen.inc'
26
include 'strlen.inc'
26
include 't_draw.inc' ;draw main window functions
27
include 't_draw.inc' ;draw main window functions
27
include 't_button.inc' ;text work functions
-
 
28
include 'wnd_k_words.inc'
28
include 'wnd_k_words.inc'
29
 
29
 
30
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
30
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
31
 
31
 
32
align 4
32
align 4
33
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
33
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
34
run_file_70 FileInfoBlock
34
run_file_70 FileInfoBlock
35
 
35
 
36
align 4
36
align 4
37
start:
37
start:
38
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
38
	mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
39
 
39
 
40
	mcall SF_SYS_MISC,SSF_HEAP_INIT
40
	mcall SF_SYS_MISC,SSF_HEAP_INIT
41
	or eax,eax
41
	or eax,eax
42
	jz button.exit
42
	jz button.exit
43
 
43
 
44
	mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
44
	mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
45
	mcall SF_SET_EVENTS_MASK,0xC0000027
45
	mcall SF_SET_EVENTS_MASK,0xC0000027
46
 
46
 
47
	mov esi,file_name
47
	mov esi,file_name
48
	call strlen
48
	call strlen
49
	mov ecx,eax
49
	mov ecx,eax
50
	mov edi,openfile_path
50
	mov edi,openfile_path
51
	cld
51
	cld
52
	rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©«  ¢ ¡ãä¥à openfile_path
52
	rep movsb ;ª®¯¨à㥬 ¨¬ï ä ©«  ¢ ¡ãä¥à openfile_path
53
 
53
 
54
load_libraries l_libs_start,load_lib_end
54
load_libraries l_libs_start,load_lib_end
55
 
55
 
56
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
56
;¯à®¢¥àª  ­  ᪮«ìª® 㤠筮 § £ã§¨«¨áì ¡¨¡«¨®â¥ª¨
57
mov	ebp,lib0
57
mov	ebp,lib0
58
.test_lib_open:
58
.test_lib_open:
59
	cmp	dword [ebp+ll_struc_size-4],0
59
	cmp	dword [ebp+ll_struc_size-4],0
60
	jz	@f
60
	jz	@f
61
	mcall SF_TERMINATE_PROCESS ;exit not correct
61
	mcall SF_TERMINATE_PROCESS ;exit not correct
62
@@:
62
@@:
63
	add ebp,ll_struc_size
63
	add ebp,ll_struc_size
64
	cmp ebp,load_lib_end
64
	cmp ebp,load_lib_end
65
	jl .test_lib_open
65
	jl .test_lib_open
66
 
66
 
67
;---------------------------------------------------------------------
67
;---------------------------------------------------------------------
68
	stdcall [ted_init], tedit0
68
	stdcall [ted_init], tedit0
69
	stdcall [tl_data_init], tree1
69
	stdcall [tl_data_init], tree1
70
 
70
 
71
; OpenDialog initialisation
71
; OpenDialog initialisation
72
	stdcall [OpenDialog_Init],OpenDialog_data
72
	stdcall [OpenDialog_Init],OpenDialog_data
73
 
73
 
74
; kmenu initialisation	
74
; kmenu initialisation
75
	stdcall [kmenu_init], sc
-
 
76
	
-
 
77
	stdcall [ksubmenu_new]
-
 
78
	mov [main_menu], eax
-
 
79
	
-
 
80
	stdcall [ksubmenu_new]
-
 
81
	mov [main_menu_file], eax
-
 
82
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_New, 3
-
 
83
	stdcall [ksubmenu_add], [main_menu_file], eax
-
 
84
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Open, 4
-
 
85
	stdcall [ksubmenu_add], [main_menu_file], eax
-
 
86
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save, 5
-
 
87
	stdcall [ksubmenu_add], [main_menu_file], eax
-
 
88
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Save_As, 6
-
 
89
	stdcall [ksubmenu_add], [main_menu_file], eax
-
 
90
	stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
-
 
91
	stdcall [ksubmenu_add], [main_menu_file], eax
-
 
92
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_Exit, 199
-
 
93
	stdcall [ksubmenu_add], [main_menu_file], eax	
-
 
94
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_File, [main_menu_file]
-
 
95
	stdcall [ksubmenu_add], [main_menu], eax
-
 
96
 
-
 
97
	stdcall [ksubmenu_new]
-
 
98
	mov [main_menu_changes], eax
-
 
99
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Undo, 16
-
 
100
	stdcall [ksubmenu_add], [main_menu_changes], eax
-
 
101
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Changes_Redo, 17
-
 
102
	stdcall [ksubmenu_add], [main_menu_changes], eax
-
 
103
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Changes, [main_menu_changes]
-
 
104
	stdcall [ksubmenu_add], [main_menu], eax
-
 
105
	
-
 
106
	stdcall [ksubmenu_new]
-
 
107
	mov [main_menu_buf], eax
-
 
108
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Cut, 7
-
 
109
	stdcall [ksubmenu_add], [main_menu_buf], eax
-
 
110
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Copy, 8
-
 
111
	stdcall [ksubmenu_add], [main_menu_buf], eax
-
 
112
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Buf_Paste, 9
-
 
113
	stdcall [ksubmenu_add], [main_menu_buf], eax	
-
 
114
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Buf, [main_menu_buf]
-
 
115
	stdcall [ksubmenu_add], [main_menu], eax
-
 
116
 
-
 
117
	stdcall [ksubmenu_new]
-
 
118
	mov [main_menu_search], eax
-
 
119
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Text, 10
-
 
120
	stdcall [ksubmenu_add], [main_menu_search], eax
-
 
121
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Search_Keywords, 12
-
 
122
	stdcall [ksubmenu_add], [main_menu_search], eax
-
 
123
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Search, [main_menu_search]
-
 
124
	stdcall [ksubmenu_add], [main_menu], eax
-
 
125
 
-
 
126
	stdcall [ksubmenu_new]
-
 
127
	mov [main_menu_view], eax
-
 
128
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_UseSyntax, 19
-
 
129
	stdcall [ksubmenu_add], [main_menu_view], eax
-
 
130
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_ChooseSyntax, 20
-
 
131
	stdcall [ksubmenu_add], [main_menu_view], eax
-
 
132
	stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0
-
 
133
	stdcall [ksubmenu_add], [main_menu_view], eax
-
 
134
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Veiw_LineBreak, 18
-
 
135
	stdcall [ksubmenu_add], [main_menu_view], eax	
-
 
136
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_View, [main_menu_view]
-
 
137
	stdcall [ksubmenu_add], [main_menu], eax
-
 
138
 
-
 
139
	stdcall [ksubmenu_new]
75
	call tedit_menu_init
140
	mov [main_menu_encoding], eax
-
 
141
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_1251to866, 21
-
 
142
	stdcall [ksubmenu_add], [main_menu_encoding], eax
-
 
143
	stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Encoding_866to1251, 22
-
 
144
	stdcall [ksubmenu_add], [main_menu_encoding], eax	
-
 
145
	stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Encoding, [main_menu_encoding]
-
 
146
	stdcall [ksubmenu_add], [main_menu], eax
-
 
147
	
76
 
148
; init toolbar file
77
; init toolbar file
149
	include_image_file 'te_icon.png', bmp_icon,,,6 ;6 ¤«ï á¥àëå ª­®¯®ª
78
	include_image_file 'te_icon.png', bmp_icon,,,6 ;6 ¤«ï á¥àëå ª­®¯®ª
150
	mov eax,[bmp_icon]
79
	mov eax,[bmp_icon]
151
	add eax,TOOLBAR_ICONS_SIZE
80
	add eax,TOOLBAR_ICONS_SIZE
152
	stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
81
	stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
153
;---------------------------------------------------------------------
82
;---------------------------------------------------------------------
154
; ¢­¥¤à塞 ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
83
; ¢­¥¤à塞 ä ©« á ªãàá®à ¬¨ ¨ «¨­¨ï¬¨
155
	include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
84
	include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
156
	mov eax,dword[icon_tl_sys]
85
	mov eax,dword[icon_tl_sys]
157
	mov dword[tree1.data_img_sys],eax
86
	mov dword[tree1.data_img_sys],eax
158
;---------------------------------------------------------------------
-
 
159
; ¢­¥¤à塞 ä ©« á ¨ª®­ª ¬¨ 㧫®¢
87
; ¢­¥¤à塞 ä ©« á ¨ª®­ª ¬¨ 㧫®¢
160
	include_image_file 'tl_nod_16.png', icon_tl_sys
88
	include_image_file 'tl_nod_16.png', icon_tl_sys
161
	mov eax,dword[icon_tl_sys]
89
	mov eax,dword[icon_tl_sys]
162
	mov dword[tree1.data_img],eax
90
	mov dword[tree1.data_img],eax
163
;------------------------------------------------------------------------------
91
;------------------------------------------------------------------------------
164
	copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
92
	copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ ᨭ⠪á¨á 
165
	mcall SF_FILE,tree_file_struct
93
	mcall SF_FILE,tree_file_struct
166
 
94
 
167
	cmp ebx,-1
95
	cmp ebx,-1
168
	je .end_dir_init
96
	je .end_dir_init
169
		mov eax,dir_mem
97
		mov eax,dir_mem
170
		add eax,32+4+1+3+4*6+8
98
		add eax,32+4+1+3+4*6+8
171
		mov ecx,ebx
99
		mov ecx,ebx
172
		@@:
100
		@@:
173
			cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
101
			cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥­ ¬¨ '.' ¨ '..'
174
			je .filter
102
			je .filter
175
			;0x10000 ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
103
			;0x10000 ;1*2^16 - £¤¥ 1 ­®¬¥à ¨ª®­ª¨ á ª­¨£®©
176
			stdcall [tl_node_add], tree1,0x10000,eax 
104
			stdcall [tl_node_add], tree1,0x10000,eax 
177
			stdcall [tl_cur_next], tree1
105
			stdcall [tl_cur_next], tree1
178
			.filter:
106
			.filter:
179
			add eax,304
107
			add eax,304
180
			loop @b
108
			loop @b
181
		stdcall [tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
109
		stdcall [tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ­  ­ ç «® ᯨ᪠
182
		or dword[tree1.style], tl_cursor_pos_limited ;®£à ­¨ç¨¢ ¥¬ ¤¢¨¦¥­¨¥ ªãàá®à  ¢ ¯à¥¤¥« å ᯨ᪠
110
		or dword[tree1.style], tl_cursor_pos_limited ;®£à ­¨ç¨¢ ¥¬ ¤¢¨¦¥­¨¥ ªãàá®à  ¢ ¯à¥¤¥« å ᯨ᪠
183
	.end_dir_init:
111
	.end_dir_init:
184
 
112
 
185
;--- load ini file ---
113
;--- load ini file ---
186
	copy_path ini_name,sys_path,file_name,0
114
	copy_path ini_name,sys_path,file_name,0
187
	;window startup pozition
115
	;window startup pozition
188
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
116
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
189
	mov word[wnd_s_pos+2],ax
117
	mov word[wnd_s_pos+2],ax
190
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
118
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
191
	mov word[wnd_s_pos],ax
119
	mov word[wnd_s_pos],ax
192
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
120
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
193
	mov word[wnd_s_pos+6],ax
121
	mov word[wnd_s_pos+6],ax
194
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
122
	stdcall [ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
195
	mov word[wnd_s_pos+4],ax
123
	mov word[wnd_s_pos+4],ax
196
	;scrool type
124
	;scrool type
197
	stdcall [ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
125
	stdcall [ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
198
	mov [wScr.type],eax
126
	mov [wScr.type],eax
199
	mov [hScr.type],eax
127
	mov [hScr.type],eax
200
	mov [ws_dir_lbox.type],eax
128
	mov [ws_dir_lbox.type],eax
201
    mov [w_scr_t3.type],eax
129
    mov [w_scr_t3.type],eax
202
	;symbol size
130
	;symbol size
203
	stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
131
	stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
204
	mov dword[tedit0.rec.width],eax
132
	mov dword[tedit0.rec.width],eax
205
	stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
133
	stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
206
	mov dword[tedit0.rec.height],eax
134
	mov dword[tedit0.rec.height],eax
207
	;lea eax,[eax+eax*2]
135
	;lea eax,[eax+eax*2]
208
	;mov dword[tedit0.rec.top],eax
136
	;mov dword[tedit0.rec.top],eax
209
	;font size
137
	;font size
210
	stdcall [ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s
138
	stdcall [ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s
211
	shl eax,24
139
	shl eax,24
212
	mov dword[tedit0.font_size],eax
140
	mov dword[tedit0.font_size],eax
213
	;ª­®¯ª¨ ­  ¯ ­¥«¨
141
	;ª­®¯ª¨ ­  ¯ ­¥«¨
214
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_new,1
-
 
215
	mov byte[panel_but],al
-
 
216
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_open,1
-
 
217
	mov byte[panel_but+1],al
142
	ini_panel key_but_new,    ID_BUT_NEW
218
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_save,1
-
 
219
	mov byte[panel_but+2],al
143
	ini_panel key_but_open,   ID_BUT_OPEN
220
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_save_as,1
-
 
221
	mov byte[panel_but+3],al
144
	ini_panel key_but_save,   ID_BUT_SAVE
222
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_select,1
145
	ini_panel key_but_save_as,ID_BUT_SAVE_AS
223
	mov byte[panel_but+4],al
-
 
224
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_cut,1
146
	ini_panel key_but_select, ID_BUT_SELECT
225
	mov byte[panel_but+5],al
147
	ini_panel key_but_cut,    ID_BUT_CUT
226
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_copy,1
-
 
227
	mov byte[panel_but+6],al
148
	ini_panel key_but_copy,   ID_BUT_COPY
228
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_paste,1
-
 
229
	mov byte[panel_but+7],al
149
	ini_panel key_but_paste,  ID_BUT_PASTE
230
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_find,1
150
	ini_panel key_but_find,   ID_BUT_FIND
231
	mov byte[panel_but+8],al
151
	ini_panel key_but_replace,ID_BUT_REPLACE
232
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_replace,1
152
	ini_panel key_but_key_words,ID_BUT_KEY_WORDS
233
	mov byte[panel_but+9],al
153
	ini_panel key_but_upper,  ID_BUT_UPPER
234
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_key_words,1
-
 
235
	mov byte[panel_but+10],al
154
	ini_panel key_but_lower,  ID_BUT_LOWER
236
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_upper,1
155
	ini_panel key_but_reverse,ID_BUT_REVERSE
237
	mov byte[panel_but+11],al
156
	ini_panel key_but_undo,   ID_BUT_UNDO
238
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_lower,1
-
 
239
	mov byte[panel_but+12],al
157
	ini_panel key_but_redo,   ID_BUT_REDO
240
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_reverse,1
158
	ini_panel key_but_invisible,ID_BUT_INVISIBLE
241
	mov byte[panel_but+13],al
-
 
242
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_undo,1
159
	ini_panel key_but_syntax_list,ID_BUT_SYNTAX_LIST
243
	mov byte[panel_but+14],al
-
 
244
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_redo,1
160
	ini_panel key_but_syntax_mode,ID_BUT_SYNTAX_MODE
245
	mov byte[panel_but+15],al
-
 
246
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_invisible,1
-
 
247
	mov byte[panel_but+16],al
-
 
248
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_syntax_list,1
-
 
249
	mov byte[panel_but+17],al
-
 
250
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_syntax_mode,1
-
 
251
	mov byte[panel_but+18],al
-
 
252
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_convert_1251_866,1
161
	ini_panel key_but_convert_1251_866,ID_BUT_CONVERT_1251_866
253
	mov byte[panel_but+19],al
-
 
254
	stdcall [ini_get_int],file_name,ini_sec_window,key_but_convert_866_1251,1
162
	ini_panel key_but_convert_866_1251,ID_BUT_CONVERT_866_1251
255
	mov byte[panel_but+20],al
-
 
256
	;ä ©«®¢ë¥ à áè¨à¥­¨ï
163
	;ä ©«®¢ë¥ à áè¨à¥­¨ï
257
	xor edx,edx
164
	xor edx,edx
258
	mov ebx,synt_auto_open
165
	mov ebx,synt_auto_open
259
	@@:
166
	@@:
260
		;¡¥à¥¬ ¨¬ï ä ©« 
167
		;¡¥à¥¬ ¨¬ï ä ©« 
261
		stdcall [ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
168
		stdcall [ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
262
		cmp byte[ebx],0
169
		cmp byte[ebx],0
263
		je @f
170
		je @f
264
		inc byte[key_synt_file.numb]
171
		inc byte[key_synt_file.numb]
265
		add ebx,32
172
		add ebx,32
266
		;¡¥à¥¬ à áè¨à¥­¨ï
173
		;¡¥à¥¬ à áè¨à¥­¨ï
267
		stdcall [ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
174
		stdcall [ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
268
		inc byte[key_synt_ext.numb]
175
		inc byte[key_synt_ext.numb]
269
		add ebx,32
176
		add ebx,32
270
		inc edx
177
		inc edx
271
		cmp edx,max_synt_auto_open
178
		cmp edx,max_synt_auto_open
272
		jl @b
179
		jl @b
273
	@@:
180
	@@:
274
 
181
 
275
;--- load color option file ---
182
;--- load color option file ---
276
	stdcall open_unpac_synt_file,[fn_col_option]
183
	stdcall open_unpac_synt_file,[fn_col_option]
277
 
184
 
278
;--- get cmd line ---
185
;--- get cmd line ---
279
	cmp byte[openfile_path+3],0 ;openfile_path
186
	cmp byte[openfile_path+3],0 ;openfile_path
280
	je @f ;if file names exist
187
	je @f ;if file names exist
281
		mov esi,openfile_path
188
		mov esi,openfile_path
282
		stdcall auto_open_syntax,esi
189
		stdcall auto_open_syntax,esi
283
		call but_no_msg_OpenFile
190
		call but_no_msg_OpenFile
284
	@@:
191
	@@:
285
 
192
 
286
 
193
 
287
 
194
 
288
align 16
195
align 16
289
red_win:
196
red_win:
290
	call draw_window
197
	call draw_window
291
 
198
 
292
align 16
199
align 16
293
still:
200
still:
294
	mcall SF_WAIT_EVENT
201
	mcall SF_WAIT_EVENT
295
	cmp dword[exit_code],1
202
	cmp dword[exit_code],1
296
	je button.exit
203
	je button.exit
297
 
204
 
298
	cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
205
	cmp al,1 ;¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
299
	jz red_win
206
	jz red_win
300
	cmp al,2
207
	cmp al,2
301
	jz key
208
	jz key
302
	cmp al,3
209
	cmp al,3
303
	jz button
210
	jz button
304
	cmp al,6 ;¬ëèì
211
	cmp al,6 ;¬ëèì
305
	jne @f
212
	jne @f
306
		jmp mouse
213
		jmp mouse
307
	@@:
214
	@@:
308
	jmp still
215
	jmp still
309
 
216
 
310
align 16
217
align 16
311
draw_window:
-
 
312
	mcall SF_REDRAW,SSF_BEGIN_DRAW
-
 
313
 
-
 
314
	mov edx,[sc.work]
-
 
315
	or  edx,0x73000000
-
 
316
	mcall SF_CREATE_WINDOW,dword[wnd_s_pos],dword[wnd_s_pos+4],,,hed
-
 
317
 
-
 
318
	mcall SF_THREAD_INFO,procinfo,-1
-
 
319
	mov edi,tedit0 ;§­ ç¥­¨¥ edi ­ã¦­® ¤«ï EvSize ¨ ted_wnd_t
-
 
320
	call EvSize
-
 
321
 
-
 
322
	movzx ebx,word[procinfo.client_box.width]
-
 
323
	inc bx
-
 
324
	mcall SF_DRAW_RECT,,ted_wnd_t ;¢¥àå­¨© ¯àאַ㣮«ì­¨ª, ¤«ï ®ç¨á⪨ ¢¥àå­¥© ¯ ­¥«¨
-
 
325
	call draw_but_toolbar
-
 
326
	stdcall [kmainmenu_draw], [main_menu]
-
 
327
	stdcall [ted_draw], tedit0
-
 
328
 
-
 
329
	mcall SF_REDRAW,SSF_END_DRAW
-
 
330
	ret
-
 
331
 
-
 
332
align 16
-
 
333
mouse:
218
mouse:
334
	stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
219
	stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
335
 
220
 
336
	mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
221
	mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
337
	cmp word[tedit0.wnd.top],ax
222
	cmp word[tedit0.wnd.top],ax
338
	jg .no_edit
223
	jg .no_edit
339
	shr eax,16
224
	shr eax,16
340
	cmp word[tedit0.wnd.left],ax
225
	cmp word[tedit0.wnd.left],ax
341
	jg .no_edit
226
	jg .no_edit
342
	mcall SF_MOUSE_GET,SSF_BUTTON_EXT
227
	mcall SF_MOUSE_GET,SSF_BUTTON_EXT
343
	bt eax,24 ;¤¢®©­®© 饫çñª «¥¢®© ª­®¯ª®©
228
	bt eax,24 ;¤¢®©­®© 饫çñª «¥¢®© ª­®¯ª®©
344
	jnc @f
229
	jnc @f
345
		stdcall [ted_but_select_word], tedit0
230
		stdcall [ted_but_select_word], tedit0
346
		jmp still
231
		jmp still
347
	@@:
232
	@@:
348
		stdcall [ted_mouse], tedit0
233
		stdcall [ted_mouse], tedit0
349
	.no_edit:
234
	.no_edit:
350
 
235
 
351
	cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
236
	cmp byte[tedit0.panel_id],TED_PANEL_FIND ;if not panel
352
	jne @f
237
	jne @f
353
		stdcall [edit_box_mouse], edit2
238
		stdcall [edit_box_mouse], edit2
354
	@@:
239
	@@:
355
	cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
240
	cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX ;if not panel
356
	jne @f
241
	jne @f
357
		stdcall [tl_mouse], tree1
242
		stdcall [tl_mouse], tree1
358
	@@:
243
	@@:
359
	jmp still
244
	jmp still
360
;---------------------------------------------------------------------
245
;---------------------------------------------------------------------
361
 
246
 
362
;output:
247
;output:
363
; ah = symbol
248
; ah = symbol
364
align 16
249
align 16
365
proc KeyConvertToASCII uses ebx, table:dword
250
proc KeyConvertToASCII uses ebx, table:dword
366
	mov ebx,dword[table] ;convert scan to ascii
251
	mov ebx,dword[table] ;convert scan to ascii
367
	ror ax,8
252
	ror ax,8
368
	xor ah,ah
253
	xor ah,ah
369
	add bx,ax
254
	add bx,ax
370
	mov ah,byte[ebx]
255
	mov ah,byte[ebx]
371
	ret
256
	ret
372
endp
257
endp
373
 
258
 
374
align 16
259
align 16
375
key:
260
key:
376
	mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
261
	mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 ¯®«ãç¨âì á®áâ®ï­¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è
377
	xor esi,esi
262
	xor esi,esi
378
	mov ecx,1
263
	mov ecx,1
379
	test al,0x03 ;[Shift]
264
	test al,0x03 ;[Shift]
380
	jz @f
265
	jz @f
381
		mov cl,2
266
		mov cl,2
382
		or esi,KM_SHIFT
267
		or esi,KM_SHIFT
383
	@@:
268
	@@:
384
	test al,0x0c ;[Ctrl]
269
	test al,0x0c ;[Ctrl]
385
	jz @f
270
	jz @f
386
		or esi,KM_CTRL
271
		or esi,KM_CTRL
387
	@@:
272
	@@:
388
	test al,0x30 ;[Alt]
273
	test al,0x30 ;[Alt]
389
	jz @f
274
	jz @f
390
		mov cl,3
275
		mov cl,3
391
		or esi,KM_ALT
276
		or esi,KM_ALT
392
	@@:
277
	@@:
393
	test al,0x80 ;[NumLock]
278
	test al,0x80 ;[NumLock]
394
	jz @f
279
	jz @f
395
		or esi,KM_NUMLOCK
280
		or esi,KM_NUMLOCK
396
	@@:
281
	@@:
397
 
282
 
398
	mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
283
	mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 ¯®«ãç¨âì à áª« ¤ªã ª« ¢¨ âãàë
399
	mcall SF_GET_KEY
284
	mcall SF_GET_KEY
400
	stdcall [tl_key], tree1
285
	stdcall [tl_key], tree1
401
 
286
 
402
	test word [edit2.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
287
	test word [edit2.flags],10b;ed_focus ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
403
	je @f
288
	je @f
404
		cmp ah,0x80 ;if key up
289
		cmp ah,0x80 ;if key up
405
		ja still
290
		ja still
406
		cmp ah,42 ;[Shift] (left)
291
		cmp ah,42 ;[Shift] (left)
407
		je still
292
		je still
408
		cmp ah,54 ;[Shift] (right)
293
		cmp ah,54 ;[Shift] (right)
409
		je still
294
		je still
410
		cmp ah,56 ;[Alt]
295
		cmp ah,56 ;[Alt]
411
		je still
296
		je still
412
		cmp ah,29 ;[Ctrl]
297
		cmp ah,29 ;[Ctrl]
413
		je still
298
		je still
414
		cmp ah,69 ;[Pause Break]
299
		cmp ah,69 ;[Pause Break]
415
		je still
300
		je still
416
 
301
 
417
		stdcall KeyConvertToASCII, conv_tabl
302
		stdcall KeyConvertToASCII, conv_tabl
418
		stdcall [edit_box_key], edit2
303
		stdcall [edit_box_key], edit2
419
		jmp still
304
		jmp still
420
	@@:
305
	@@:
421
 
306
 
422
	stdcall [ted_key], tedit0, conv_tabl,esi
307
	stdcall [ted_key], tedit0, conv_tabl,esi
423
	jmp still
308
	jmp still
424
 
309
 
425
align 16
-
 
426
button:
-
 
427
	mcall SF_GET_BUTTON
-
 
428
	cmp ah,3
-
 
429
	jne @f
-
 
430
		call ted_but_new_file
-
 
431
		jmp still
-
 
432
	@@:
-
 
433
	cmp ah,4
-
 
434
	jne @f
-
 
435
		call ted_but_open_file
-
 
436
		jmp still
-
 
437
	@@:
-
 
438
	cmp ah,5
-
 
439
	jne @f
-
 
440
		xor eax,eax
-
 
441
		call ted_but_save_file ;á®åà ­¥­¨¥ ¡¥§ ¤¨ «®£ 
-
 
442
		jmp still
-
 
443
	@@:
-
 
444
	cmp ah,6
-
 
445
	jne @f
-
 
446
		xor eax,eax
-
 
447
		inc eax
-
 
448
		call ted_but_save_file ;á®åà ­¥­¨¥ á ¤¨ «®£®¬
-
 
449
		jmp still
-
 
450
	@@:
-
 
451
	cmp ah,7
-
 
452
	jne @f
-
 
453
		stdcall [ted_but_select_word], tedit0
-
 
454
		jmp still
-
 
455
	@@:
-
 
456
	cmp ah,8
-
 
457
	jne @f
-
 
458
		stdcall [ted_but_cut], tedit0
-
 
459
		jmp still
-
 
460
	@@:
-
 
461
	cmp ah,9
-
 
462
	jne @f
-
 
463
		stdcall [ted_but_copy], tedit0
-
 
464
		jmp still
-
 
465
	@@:
-
 
466
	cmp ah,10
-
 
467
	jne @f
-
 
468
		stdcall [ted_but_paste], tedit0
-
 
469
		jmp still
-
 
470
	@@:
-
 
471
	cmp ah,11
-
 
472
	jne @f
-
 
473
		call ted_but_find
-
 
474
		jmp still
-
 
475
	@@:
-
 
476
	cmp ah,12
-
 
477
	jne @f
-
 
478
		call but_replace
-
 
479
		jmp still
-
 
480
	@@:
-
 
481
	cmp ah,13
-
 
482
	jne @f
-
 
483
		call but_find_key_w
-
 
484
		jmp still
-
 
485
	@@:
-
 
486
	cmp ah,14
-
 
487
	jne @f
-
 
488
		stdcall [ted_but_sumb_upper], tedit0
-
 
489
		jmp still
-
 
490
	@@:
-
 
491
	cmp ah,15
-
 
492
	jne @f
-
 
493
		stdcall [ted_but_sumb_lover], tedit0
-
 
494
		jmp still
-
 
495
	@@:
-
 
496
	cmp ah,16
-
 
497
	jne @f
-
 
498
		stdcall [ted_but_reverse], tedit0
-
 
499
		jmp still
-
 
500
	@@:
-
 
501
	cmp ah,17
-
 
502
	jne @f
-
 
503
		stdcall [ted_but_undo], tedit0
-
 
504
		jmp still
-
 
505
	@@:
-
 
506
	cmp ah,18
-
 
507
	jne @f
-
 
508
		stdcall [ted_but_redo], tedit0
-
 
509
		jmp still
-
 
510
	@@:
-
 
511
	cmp ah,19
-
 
512
	jne @f
-
 
513
		stdcall but_sumb_invis, tedit0
-
 
514
		jmp still
-
 
515
	@@:
-
 
516
	cmp ah,20
-
 
517
	jne @f
-
 
518
		stdcall but_k_words_show, tedit0
-
 
519
		jmp still
-
 
520
	@@:
-
 
521
	cmp ah,21
-
 
522
	jne @f
-
 
523
		stdcall but_synt_show, tedit0
-
 
524
		jmp still
-
 
525
	@@:
-
 
526
	cmp ah,22
-
 
527
	jne @f
-
 
528
		stdcall [ted_but_convert_by_table],tedit0,tbl_1251_866
-
 
529
		jmp still
-
 
530
	@@:
-
 
531
	cmp ah,23
-
 
532
	jne @f
-
 
533
		stdcall [ted_but_convert_by_table],tedit0,tbl_866_1251
-
 
534
		jmp still
-
 
535
	@@:
-
 
536
 
-
 
537
	cmp ah,200
-
 
538
	jne @f
-
 
539
		stdcall ted_but_open_syntax, tedit0
-
 
540
		jmp still
-
 
541
	@@:
-
 
542
	cmp ah,201
-
 
543
	jne @f
-
 
544
		stdcall [ted_but_find_next], tedit0
-
 
545
		jmp still
-
 
546
	@@:
-
 
547
 
-
 
548
	cmp ah,1
-
 
549
	je .exit
-
 
550
 
-
 
551
	cmp ah,199
-
 
552
	je .exit
-
 
553
  
-
 
554
	jmp still
-
 
555
.exit:
-
 
556
	cmp dword[wnd_k_words_run],0
-
 
557
	je @f
-
 
558
		push ebx ecx
-
 
559
		mcall SF_SYSTEM, SSF_TERMINATE_THREAD_ID,[wnd_k_words_run]
-
 
560
		pop ecx ebx
-
 
561
		test eax,eax
-
 
562
		jnz still
-
 
563
	@@:
-
 
564
	cmp dword[exit_code],1
-
 
565
	je @f
-
 
566
	stdcall [ted_can_save], tedit0
-
 
567
	cmp al,1
-
 
568
	jne @f
-
 
569
		stdcall [mb_create],msgbox_2,thread ;message: save buf in file?
-
 
570
		stdcall [mb_setfunctions],msgbox_2E_funct
-
 
571
		jmp still
-
 
572
	@@:
-
 
573
	stdcall mem.Free,[bmp_icon]
-
 
574
	cmp dword[unpac_mem],0
-
 
575
	je @f
-
 
576
		stdcall mem.Free,[unpac_mem]
-
 
577
	@@:
-
 
578
 
-
 
579
	stdcall [ted_delete], tedit0
-
 
580
	stdcall [tl_data_clear], tree1
-
 
581
	mcall SF_TERMINATE_PROCESS ;¢ë室 ¨§ ¯à®£à ¬¬ë
-
 
582
 
310
align 4
583
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
311
edit2 edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
584
 
312
 
585
unpac_mem dd 0
313
unpac_mem dd 0
586
 
314
 
587
if lang eq ru
315
if lang eq ru
588
  head_f_i:
316
  head_f_i:
589
  head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
317
  head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
590
  err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
318
  err_message_found_lib0 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'box_lib.obj',39,0
591
  err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib.obj',39,0
319
  err_message_import0 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib.obj',39,0
592
  err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'msgbox.obj',39,0
320
  err_message_found_lib1 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'msgbox.obj',39,0
593
  err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'msgbox.obj',39,0
321
  err_message_import1 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'msgbox.obj',39,0
594
  err_message_found_lib2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
322
  err_message_found_lib2 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'proc_lib.obj',39,0
595
  err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
323
  err_message_import2 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0
596
  err_message_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,0
324
  err_message_found_lib_3 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libimg.obj',39,0
597
  err_message_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0
325
  err_message_import_3 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libimg.obj',39,0
598
  err_message_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,0
326
  err_message_found_lib_4 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libini.obj',39,0
599
  err_message_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini.obj',39,0
327
  err_message_import_4 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libini.obj',39,0
600
  err_message_found_lib_5 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libkmenu.obj',39,0
328
  err_message_found_lib_5 db '¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  ',39,'libkmenu.obj',39,0
601
  err_message_import_5 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libkmenu.obj',39,0
329
  err_message_import_5 db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'libkmenu.obj',39,0
602
else
330
else
603
  head_f_i:
331
  head_f_i:
604
  head_f_l db 'System error',0
332
  head_f_l db 'System error',0
605
  err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
333
  err_message_found_lib0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0
606
  err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,0
334
  err_message_import0 db 'Error on load import library ',39,'box_lib.obj',39,0
607
  err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,0
335
  err_message_found_lib1 db 'Sorry I cannot found library ',39,'msgbox.obj',39,0
608
  err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,0
336
  err_message_import1 db 'Error on load import library ',39,'msgbox.obj',39,0
609
  err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
337
  err_message_found_lib2 db 'Sorry I cannot found library ',39,'proc_lib.obj',39,0
610
  err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,0
338
  err_message_import2 db 'Error on load import library ',39,'proc_lib.obj',39,0
611
  err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
339
  err_message_found_lib_3 db 'Sorry I cannot found library ',39,'libimg.obj',39,0
612
  err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,0
340
  err_message_import_3 db 'Error on load import library ',39,'libimg.obj',39,0
613
  err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,0
341
  err_message_found_lib_4 db 'Sorry I cannot found library ',39,'libini.obj',39,0
614
  err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,0
342
  err_message_import_4 db 'Error on load import library ',39,'libini.obj',39,0
615
  err_message_found_lib_5 db 'Sorry I cannot found library ',39,'libkmenu.obj',39,0
343
  err_message_found_lib_5 db 'Sorry I cannot found library ',39,'libkmenu.obj',39,0
616
  err_message_import_5 db 'Error on load import library ',39,'libkmenu.obj',39,0
344
  err_message_import_5 db 'Error on load import library ',39,'libkmenu.obj',39,0
617
end if
345
end if
618
 
346
 
619
;library structures
347
;library structures
620
l_libs_start:
348
l_libs_start:
621
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
349
	lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\
622
		err_message_found_lib0, head_f_l, import_box_lib,err_message_import0, head_f_i
350
		err_message_found_lib0, head_f_l, import_box_lib,err_message_import0, head_f_i
623
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
351
	lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\
624
		err_message_found_lib1, head_f_l, import_msgbox_lib, err_message_import1, head_f_i
352
		err_message_found_lib1, head_f_l, import_msgbox_lib, err_message_import1, head_f_i
625
	lib2 l_libs lib_name_2, sys_path, file_name, system_dir_2,\
353
	lib2 l_libs lib_name_2, sys_path, file_name, system_dir_2,\
626
		err_message_found_lib2, head_f_l, import_proclib, err_message_import2, head_f_i
354
		err_message_found_lib2, head_f_l, import_proclib, err_message_import2, head_f_i
627
	lib3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\
355
	lib3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\
628
		err_message_found_lib_3, head_f_l, import_libimg, err_message_import_3, head_f_i
356
		err_message_found_lib_3, head_f_l, import_libimg, err_message_import_3, head_f_i
629
	lib4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
357
	lib4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\
630
		err_message_found_lib_4, head_f_l, import_libini, err_message_import_4, head_f_i
358
		err_message_found_lib_4, head_f_l, import_libini, err_message_import_4, head_f_i
631
	lib5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\
359
	lib5 l_libs lib_name_5, sys_path, file_name, system_dir_5,\
632
		err_message_found_lib_5, head_f_l, import_libkmenu, err_message_import_5, head_f_i
360
		err_message_found_lib_5, head_f_l, import_libkmenu, err_message_import_5, head_f_i
633
load_lib_end:
361
load_lib_end:
634
 
362
 
635
IncludeIGlobals
363
IncludeIGlobals
636
hed db 'TextEdit '
364
hed db 'TextEdit '
637
i_end:
365
i_end:
638
	openfile_path: ;¯®«­ë© ¯ãâì ª ä ©«ã á ª®â®àë¬ ¨¤¥â à ¡®â 
366
	openfile_path: ;¯®«­ë© ¯ãâì ª ä ©«ã á ª®â®àë¬ ¨¤¥â à ¡®â 
639
		rb 4096
367
		rb 4096
640
	dir_mem rb 32+304*count_of_dir_list_files
368
	dir_mem rb 32+304*count_of_dir_list_files
641
	wnd_s_pos: ;¬¥áâ® ¤«ï ­ áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª­ 
369
	wnd_s_pos: ;¬¥áâ® ¤«ï ­ áâ஥ª áâ à⮢®© ¯®§¨æ¨¨ ®ª­ 
642
		rq 1
370
		rq 1
643
	last_open_synt_file rb 32 ;¨¬ï ¯®á«¥¤­¥£® ¯®¤ª«î祭­®£® ä ©«  ᨭ⠪á¨á 
371
	last_open_synt_file rb 32 ;¨¬ï ¯®á«¥¤­¥£® ¯®¤ª«î祭­®£® ä ©«  ᨭ⠪á¨á 
644
	buf rb BUF_SIZE ;¡ãä¥à ¤«ï ª®¯¨à®¢ ­¨ï ¨ ¢áâ ¢ª¨
372
	buf rb BUF_SIZE ;¡ãä¥à ¤«ï ª®¯¨à®¢ ­¨ï ¨ ¢áâ ¢ª¨
645
	buf_find rb 302 ;¡ãä¥à ¤«ï ¯®¨áª  ⥪áâ 
373
	buf_find rb 302 ;¡ãä¥à ¤«ï ¯®¨áª  ⥪áâ 
646
	sc system_colors
374
	sc system_colors
647
IncludeUGlobals
375
IncludeUGlobals
648
	align 16
376
	align 16
649
	procinfo process_information
377
	procinfo process_information
650
		rb 1024
378
		rb 1024
651
	thread:
379
	thread:
652
		rb 4096
380
		rb 4096
653
align 16
381
align 16
654
    thread_coords:
382
    thread_coords:
655
	rb 4096
383
	rb 4096
656
align 16
384
align 16
657
stacktop:
385
stacktop:
658
	sys_path: ;¯ãâì ®âªã¤  § ¯ãá⨫áï ¨á¯®«­ï¥¬ë© ä ©«
386
	sys_path: ;¯ãâì ®âªã¤  § ¯ãá⨫áï ¨á¯®«­ï¥¬ë© ä ©«
659
		rb 4096
387
		rb 4096
660
	file_name: ;¯ à ¬¥âàë § ¯ã᪠
388
	file_name: ;¯ à ¬¥âàë § ¯ã᪠
661
		rb 4096
389
		rb 4096
662
	syntax_path: ;¨¬ï ¯®¤ª«îç ¥¬®£® ä ©«  ᨭ⠪á¨á 
390
	syntax_path: ;¨¬ï ¯®¤ª«îç ¥¬®£® ä ©«  ᨭ⠪á¨á 
663
		rb 4096
391
		rb 4096
664
	plugin_path:
392
	plugin_path:
665
		rb 4096
393
		rb 4096
666
	text_work_area: ;¯ãâì ª ä ©«ã, ª®â®àë© ¯®ª §ë¢ ¥âáï ¢ ®ª­¥
394
	text_work_area: ;¯ãâì ª ä ©«ã, ª®â®àë© ¯®ª §ë¢ ¥âáï ¢ ®ª­¥
667
		rb 4096
395
		rb 4096
668
	filename_area: ;¨¬ï ä ©«  ¤«ï ¤¨ «®£  ®âªàëâ¨ï/§ ªàëâ¨ï
396
	filename_area: ;¨¬ï ä ©«  ¤«ï ¤¨ «®£  ®âªàëâ¨ï/§ ªàëâ¨ï
669
		rb 256
397
		rb 256
670
	file_info:
398
	file_info:
671
		rb 40
399
		rb 40
672
mem:
400
mem: