update 'kol_f_edit'

git-svn-id: svn://kolibrios.org@1706 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2010-11-20 11:43:51 +00:00
parent 45c092e796
commit 3d0324ed25
8 changed files with 251 additions and 31 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -1,6 +1,6 @@
if not exist bin mkdir bin if not exist bin mkdir bin
@fasm.exe -m 16384 ced_view.asm bin\ced_view.kex @fasm.exe -m 16384 kol_f_edit.asm bin\kol_f_edit.kex
@kpack bin\ced_view.kex @kpack bin\kol_f_edit.kex
@fasm.exe -m 16384 ob_o.asm bin\ob_o.opt @fasm.exe -m 16384 ob_o.asm bin\ob_o.opt
if not exist bin\tl_sys_16.png @copy tl_sys_16.png bin\tl_sys_16.png if not exist bin\tl_sys_16.png @copy tl_sys_16.png bin\tl_sys_16.png

View File

@ -228,6 +228,7 @@ proc get_code_text, p_obj:dword
ret ret
endp endp
;îáðàáîòêà îáúåêòà ñîçäàþùåãî àâòîìàòè÷åêñèå êîäû
align 4 align 4
proc get_code_auto, p_obj:dword proc get_code_auto, p_obj:dword
pushad pushad
@ -251,7 +252,27 @@ proc get_code_auto, p_obj:dword
jae @f jae @f
call get_code_auto_data_el call get_code_auto_data_el
call get_code_auto_data_dop call get_code_auto_data_dop
call get_code_auto_data_libs
xor edx,edx
mov dl,C_LIB
stdcall find_obj_in_file,edx ;eax - óêàçàòåëü íà ñòðóêòóðó áèáëèîòåêè
cmp eax,0
je @f
stdcall insert_text, txt_head_i
stdcall insert_text, txt_d_poi
insert_nl
stdcall insert_text, txt_head_l
stdcall insert_text, txt_db
stdcall insert_text, txt_str_beg
stdcall insert_text, txt_sys_err
stdcall insert_text, txt_str_end
insert_nl
call get_code_auto_data_libs_param
stdcall insert_text, txt_ll_start
call get_code_auto_data_libs_struc
stdcall insert_text, txt_ll_end
call get_code_auto_data_libs ;òàáëèöû èìïîðòà áèáëèîòåê
@@: @@:
insert_nl insert_nl
popad popad
@ -334,16 +355,12 @@ proc get_code_auto_data_el
jl .prop jl .prop
insert_br insert_br
;insert_tab
stdcall insert_text, txt_txt stdcall insert_text, txt_txt
mov edx,fp_icon mov edx,fp_icon
stdcall get_obj_id, ebx,edx stdcall get_obj_id, ebx,edx
stdcall str_len,edx ;eax = len(fp_icon) stdcall insert_text,edx
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor
;insert_coma
;insert_sp
stdcall insert_text, txt_mouse_dd stdcall insert_text, txt_mouse_dd
insert_nl insert_nl
@@: @@:
@ -360,6 +377,140 @@ proc get_code_auto_data_el
ret ret
endp endp
;äàííûå äëÿ áèáëèîòåê
align 4
proc get_code_auto_data_libs_param
pushad
insert_nl ;îòñòóï äëÿ ôîðìàòèðîâàíèÿ
stdcall dword[tl_node_poi_get_info], 0,tree2
pop esi
.beg_iterat:
cmp esi,0
je .find_no
stdcall dword[tl_node_poi_get_data], esi,tree2
pop ebx ;ïîëó÷àåì äàííûå óçëà
cmp ebx,0
je .find_no
cmp byte[ebx],C_LIB
jne @f
;0,1,2,3,4,5 - l_nam,s_dir,i_met,...
stdcall insert_text, txt_sys_dir
;object code
mov edx,fp_icon
stdcall get_obj_id, ebx,edx
stdcall insert_text,edx
stdcall insert_text,txt_db
;stdcall insert_text, txt_str_beg
stdcall insert_text_prop, ebx,1
;stdcall insert_text, txt_str_end
insert_nl
stdcall insert_text, txt_lib_name
stdcall insert_text,edx
stdcall insert_text,txt_db
stdcall insert_text, txt_str_beg
stdcall insert_text_prop, ebx,0
stdcall insert_text, txt_str_end
insert_nl
stdcall insert_text,txt_err_m_f_lib
stdcall insert_text,edx
stdcall insert_text,txt_db
stdcall insert_text, txt_str_beg
stdcall insert_text_prop, ebx,4
stdcall insert_text, txt_str_end
insert_nl
stdcall insert_text,txt_err_m_i_lib
stdcall insert_text,edx
stdcall insert_text,txt_db
stdcall insert_text, txt_str_beg
stdcall insert_text_prop, ebx,5
stdcall insert_text, txt_str_end
insert_nl
insert_nl
@@:
stdcall dword[tl_node_poi_get_next_info], esi,tree2
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó
jmp .beg_iterat
.find_no:
popad
ret
endp
;äàííûå äëÿ áèáëèîòåê
align 4
proc get_code_auto_data_libs_struc
pushad
;insert_nl ;îòñòóï äëÿ ôîðìàòèðîâàíèÿ
stdcall dword[tl_node_poi_get_info], 0,tree2
pop esi
.beg_iterat:
cmp esi,0
je .find_no
stdcall dword[tl_node_poi_get_data], esi,tree2
pop ebx ;ïîëó÷àåì äàííûå óçëà
cmp ebx,0
je .find_no
cmp byte[ebx],C_LIB
jne @f
;0,1,2,3,4,5 - l_nam,s_dir,i_met,...
stdcall insert_text, txt_lib
;object code
mov edx,fp_icon
stdcall get_obj_id, ebx,edx
stdcall insert_text,edx
insert_sp
stdcall insert_text, txt_ll
stdcall insert_text, txt_lib_name
stdcall insert_text,edx
stdcall insert_text,txt_coma
stdcall insert_text, txt_lib_path
stdcall insert_text, txt_sys_dir
stdcall insert_text,edx
stdcall insert_text,txt_coma
stdcall insert_text,txt_br
stdcall insert_text,txt_tab
stdcall insert_text,txt_err_m_f_lib
stdcall insert_text,edx
stdcall insert_text,txt_coma
stdcall insert_text,txt_head_l
stdcall insert_text,txt_coma
stdcall insert_text_prop, ebx,2
stdcall insert_text,txt_coma
stdcall insert_text,txt_err_m_i_lib
stdcall insert_text,edx
stdcall insert_text,txt_coma
stdcall insert_text,txt_head_i
insert_nl
@@:
stdcall dword[tl_node_poi_get_next_info], esi,tree2
pop esi ;ïåðåõîäèì ê ñëåäóùåìó óçëó
jmp .beg_iterat
.find_no:
popad
ret
endp
;äàííûå äëÿ áèáëèîòåê ;äàííûå äëÿ áèáëèîòåê
align 4 align 4
proc get_code_auto_data_libs proc get_code_auto_data_libs
@ -968,6 +1119,18 @@ txt_draw_wb:
db 13,'align 4',13,'draw_window:',13,'pushad',13,9,'mcall 12,1',13,0 db 13,'align 4',13,'draw_window:',13,'pushad',13,9,'mcall 12,1',13,0
txt_draw_we: txt_draw_we:
db 9,'mcall 12,2',13,'popad',13,9,'ret',13,0 db 9,'mcall 12,2',13,'popad',13,9,'ret',13,0
txt_sys_dir db 'system_dir_',0
txt_lib_name db 'lib_name_',0
txt_lib_path db ' sys_path, library_path, ',0
txt_sys_err db '‘¨á⥬­ ï ®è¨¡ª ',0
txt_ll_start db 'l_libs_start:',13,0
txt_lib db 9,'lib_',0
txt_ll db 'l_libs ',0
txt_err_m_f_lib db 'err_msg_found_lib_',0
txt_head_l db 'head_f_l',0
txt_err_m_i_lib db 'err_msg_import_',0
txt_head_i db 'head_f_i',0
txt_ll_end db 'l_libs_end:',13,0
txt_but_create db '0x40000000',0 ;tmp txt_but_create db '0x40000000',0 ;tmp
txt_0x33000000 db '0x33000000',0 ;tmp txt_0x33000000 db '0x33000000',0 ;tmp
txt_struct db 'struct ',0 txt_struct db 'struct ',0
@ -998,8 +1161,7 @@ txt_std_key_ed:
db 9,'stdcall [edit_box_key], ',0 db 9,'stdcall [edit_box_key], ',0
txt_incl: txt_incl:
db 'include ',0 db 'include ',0
txt_ebox: txt_ebox db ' edit_box',0
db ' edit_box',0
txt_editb_draw: txt_editb_draw:
db 9,'stdcall [edit_box_draw], ',0 db 9,'stdcall [edit_box_draw], ',0
txt_cbox_draw: txt_cbox_draw:

View File

@ -73,16 +73,47 @@ draw_obj_info:
.exit_fun: .exit_fun:
ret ret
;¯®¤­¨¬ ¥¬ ®¡ê¥ªâ ¢¢¥àå ¯® ᯨáªã
align 4 align 4
but_obj_move_up: but_obj_move_up:
stdcall [tl_node_move_up], tree2 stdcall [tl_node_move_up], tree2
ret ret
;®¯ã᪠¥¬ ®¡ê¥ªâ ¢­¨§ ¯® ᯨáªã
align 4 align 4
but_obj_move_down: but_obj_move_down:
stdcall [tl_node_move_down], tree2 stdcall [tl_node_move_down], tree2
ret ret
;ª®¯¨à㥬 ®¡ê¥ªâ
align 4
but_obj_copy:
push ecx esi edi
stdcall [tl_node_get_data], tree2
pop esi
mov edi,[tree2.data_info] ;¤ ­­ë¥ 0-£® 㧫 , ¨á¯®«ì§ã¥¬ ¤«ï ª®¯¨à®¢ ­¨ï
xor ecx,ecx
mov cx,word[tree2.info_size]
cld
rep movsb
pop edi esi ecx
ret
;¢áâ ¢«ï¥¬ ®¡ê¥ªâ
align 4
but_obj_paste:
push eax ebx ecx edi
mov eax,[tree2.data_info] ;¤ ­­ë¥ 0-£® 㧫 , ¨á¯®«ì§ã¥¬ ¤«ï ª®¯¨à®¢ ­¨ï
mov bl,byte[eax]
call find_obj_in_opt
xor ecx,ecx
mov cx,word[edi+obj_opt.img-obj_opt] ;cx - ¨­¤¥ªá £« ¢­®© ¨ª®­ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ 
shl ecx,16
stdcall [tl_node_add], eax, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ
stdcall [tl_draw], tree2
pop edi ecx ebx eax
ret
;®¡­®¢«¥­¨¥ ®¡ê¥ªâ®¢ ¢ tree2, ¯® §­ ç¥­¨ï¬ ⥪á⮢ëå ¯®«¥© ;®¡­®¢«¥­¨¥ ®¡ê¥ªâ®¢ ¢ tree2, ¯® §­ ç¥­¨ï¬ ⥪á⮢ëå ¯®«¥©
;äã­ªæ¨ï ®¡à â­ ï ª ¤ ­­®© on_file_object_select ;äã­ªæ¨ï ®¡à â­ ï ª ¤ ­­®© on_file_object_select
align 4 align 4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -19,7 +19,7 @@ include 'strlen.inc'
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load
hed db 'kol_f_edit 17.11.10',0 hed db 'kol_f_edit 20.11.10',0
sizeof.TreeList equ 20 ;need for element 'tree_list' sizeof.TreeList equ 20 ;need for element 'tree_list'
@ -140,7 +140,8 @@ fn_font_s1 db 'font6x9.bmp',0
IMAGE_FILE_FONT1_SIZE equ 96*144*3 ;à §¬¥à ä ©«  á 1-¬ á¨á⥬­ë¬ èà¨ä⮬ IMAGE_FILE_FONT1_SIZE equ 96*144*3 ;à §¬¥à ä ©«  á 1-¬ á¨á⥬­ë¬ èà¨ä⮬
fn_icon db 'icon.bmp',0 fn_icon db 'icon.bmp',0
bmp_icon rb 0x300*30 count_main_icons equ 33 ;ç¨á«® ¨ª®­®ª ¢ ä ©«¥ icon.bmp
bmp_icon rb 0x300*count_main_icons
fn_icon_tl_sys db 'tl_sys_16.png',0 fn_icon_tl_sys db 'tl_sys_16.png',0
TREE_ICON_SYS16_BMP_SIZE equ 256*3*11+54 ;à §¬¥à bmp ä ©«  á á¨á⥬­ë¬¨ ¨ª®­ª ¬¨ TREE_ICON_SYS16_BMP_SIZE equ 256*3*11+54 ;à §¬¥à bmp ä ©«  á á¨á⥬­ë¬¨ ¨ª®­ª ¬¨
@ -203,7 +204,7 @@ start:
mov [run_file_70.Function], 0 mov [run_file_70.Function], 0
mov [run_file_70.Position], 54 mov [run_file_70.Position], 54
mov [run_file_70.Flags], 0 mov [run_file_70.Flags], 0
mov [run_file_70.Count], 0x300*30 mov [run_file_70.Count], 0x300*count_main_icons
mov [run_file_70.Buffer], bmp_icon mov [run_file_70.Buffer], bmp_icon
mov [run_file_70.rezerv], 0 mov [run_file_70.rezerv], 0
mov [run_file_70.FileName], fp_icon mov [run_file_70.FileName], fp_icon
@ -344,37 +345,39 @@ pushad
mov ecx,5*65536+18 mov ecx,5*65536+18
mov edx,5 mov edx,5
int 0x40 int 0x40
stdcall draw_icon, 22,231,6 ;22 - open
;button 'Save Project' ;button 'Save Project'
mov ebx,250*65536+18 mov ebx,250*65536+18
mov ecx,5*65536+18 mov ecx,5*65536+18
mov edx,6 mov edx,6
int 0x40 int 0x40
stdcall draw_icon, 17,251,6 ;17 - save icon stdcall draw_icon, 17,251,6 ;17 - save
;button 'Show Constructor' ;button 'Show Constructor'
mov ebx,310*65536+18 mov ebx,310*65536+18
mov ecx,5*65536+18 mov ecx,5*65536+18
mov edx,11 mov edx,11
int 0x40 int 0x40
stdcall draw_icon, 12,311,6 ;12 - window icon stdcall draw_icon, 12,311,6 ;12 - window
;button 'Show Code' ;button 'Show Code'
mov ebx,330*65536+18 mov ebx,330*65536+18
mov edx,12 mov edx,12
int 0x40 int 0x40
stdcall draw_icon, 11,331,6 ;11 - text icon stdcall draw_icon, 11,331,6 ;11 - text
;button 'Update Code' ;button 'Update Code'
mov ebx,350*65536+18 mov ebx,350*65536+18
mov edx,13 mov edx,13
int 0x40 int 0x40
stdcall draw_icon, 32,351,6 ;32 - update
;button 'Save Code' ;button 'Save Code'
mov ebx,370*65536+18 mov ebx,370*65536+18
mov edx,14 mov edx,14
int 0x40 int 0x40
stdcall draw_icon, 17,371,6 ;17 - save icon stdcall draw_icon, 17,371,6 ;17 - save
;button ']P' ;button ']P'
mov ebx,390*65536+18 mov ebx,390*65536+18
@ -402,17 +405,32 @@ pushad
int 0x40 int 0x40
stdcall draw_icon, 24,181,31 ;24 - move down stdcall draw_icon, 24,181,31 ;24 - move down
; 10 30 50 70 90 ;button 'Copy'
mov ebx,200*65536+18
mov eax,4 ;¯®¤¯¨áì 'Žâªàëâì' mov ecx,30*65536+18
mov ebx,232*65536+13 mov edx,23
mov ecx,0x80ffff00
mov edx,txtOpen
int 0x40 int 0x40
stdcall draw_icon, 30,201,31 ;30 - copy
;button 'Paste'
mov ebx,220*65536+18
mov ecx,30*65536+18
mov edx,24
int 0x40
stdcall draw_icon, 31,221,31 ;31 - paste
;button 'Property'
mov ebx,240*65536+18
mov ecx,30*65536+18
mov edx,25
int 0x40
stdcall draw_icon, 7,241,31 ;7 - property
; 10 30 50 70 90
cmp [err_opn],1 cmp [err_opn],1
jne @f jne @f
;mov eax,4 mov eax,4
mov ebx,10*65536+35 mov ebx,10*65536+35
mov ecx,0x80ff0000 mov ecx,0x80ff0000
mov edx,txtErrOpen mov edx,txtErrOpen
@ -542,6 +560,18 @@ button:
jne @f jne @f
call but_obj_move_down call but_obj_move_down
@@: @@:
cmp ah,23
jne @f
call but_obj_copy
@@:
cmp ah,24
jne @f
call but_obj_paste
@@:
cmp ah,25
jne @f
call on_file_object_select
@@:
cmp ah,1 cmp ah,1
jne still jne still
.exit: .exit:
@ -777,11 +807,8 @@ push eax ebx ecx
pop eax pop eax
cmp eax,0 cmp eax,0
je @f je @f
;mov bl,byte[eax]
;call find_obj_in_opt
xor ecx,ecx xor ecx,ecx
mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨­¤¥ªá £« ¢­®© ¨ª®­ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ  mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨­¤¥ªá £« ¢­®© ¨ª®­ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ 
;mov cx,word[edi+obj_opt.img-obj_opt] ;cx - ¨­¤¥ªá £« ¢­®© ¨ª®­ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ 
shl ecx,16 shl ecx,16
stdcall dword[tl_node_add], eax, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ stdcall dword[tl_node_add], eax, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ
@@: @@:
@ -868,7 +895,6 @@ buf_skin3:
db 24 ;+20 bit in pixel db 24 ;+20 bit in pixel
show_mode db 0 ;०¨¬ ¤«ï ¯®ª §  ®¯à¥¤¥«¥­­®£® ®ª­  show_mode db 0 ;०¨¬ ¤«ï ¯®ª §  ®¯à¥¤¥«¥­­®£® ®ª­ 
txtOpen db 'Žâ',0
txtErrOpen db '<27>¥ ­ ©¤¥­ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì­®áâì ¨¬¥­¨',0 txtErrOpen db '<27>¥ ­ ©¤¥­ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì­®áâì ¨¬¥­¨',0
txtErrIni1 db '<27>¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',0 txtErrIni1 db '<27>¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',0
err_opn db 0 err_opn db 0

View File

@ -48,7 +48,7 @@ table
</head> </head>
<body> <body>
<h1>Kol_f_edit версия от 11.11.2010</h1> <h1>Kol_f_edit версия от 20.11.2010</h1>
<h2>О программе</h2> <h2>О программе</h2>
<p>Программа для автоматизации создания интерфейса. <p>Программа для автоматизации создания интерфейса.
Многие функции программы пока еще не сделаны, потому возможности ее практического использования минимальные. Многие функции программы пока еще не сделаны, потому возможности ее практического использования минимальные.
@ -57,8 +57,9 @@ table
<p>Внешний вид программы.</p> <p>Внешний вид программы.</p>
<h2>Алгоритм работы с программой</h2> <h2>Алгоритм работы с программой</h2>
<p>1) Открываем шаблон программы из файла <b>min_prog.ced</b> (<i>пока он только один, дальше планируеться добавление других шаблонов</i>)</p> <p>1) Открываем шаблон программы из файла <b>min_prog.ced</b> или <b>box_l.ced</b>
<p>2) Редактируем объекты в файле <b>min_prog.ced</b> (<i>более подробные инструкции по редактированию добавлю когда программа будет готова</i>)</p> (min_prog.ced - &quot;минимальная&quot; программа, box_l.ced - программа с подключением библиотеки box_lib.obj, планируеться добавление других шаблонов</i>)</p>
<p>2) Редактируем объекты в подключенном файле <b>*.ced</b> (<i>более подробные инструкции по редактированию добавлю когда программа будет готова</i>)</p>
<p>3) Создаем <b>*.asm</b> код в текстовом окне кнопкой на панели. Сохраняем <b>*.asm</b> код на диск (<i>работоспособность получившегося файла не гарантируется, т. к. многие элементы еще доконца не запрограмированы</i>)</p> <p>3) Создаем <b>*.asm</b> код в текстовом окне кнопкой на панели. Сохраняем <b>*.asm</b> код на диск (<i>работоспособность получившегося файла не гарантируется, т. к. многие элементы еще доконца не запрограмированы</i>)</p>
<p>4) Редактируем получившийся <b>*.asm</b> файл любым текстовым редактором</p> <p>4) Редактируем получившийся <b>*.asm</b> файл любым текстовым редактором</p>