forked from KolibriOS/kolibrios
update 'kol_f_edit'
git-svn-id: svn://kolibrios.org@1706 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
45c092e796
commit
3d0324ed25
Binary file not shown.
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 27 KiB |
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
if not exist bin mkdir bin
|
||||
@fasm.exe -m 16384 ced_view.asm bin\ced_view.kex
|
||||
@kpack bin\ced_view.kex
|
||||
@fasm.exe -m 16384 kol_f_edit.asm bin\kol_f_edit.kex
|
||||
@kpack bin\kol_f_edit.kex
|
||||
@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
|
||||
|
@ -228,6 +228,7 @@ proc get_code_text, p_obj:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
;îáðàáîòêà îáúåêòà ñîçäàþùåãî àâòîìàòè÷åêñèå êîäû
|
||||
align 4
|
||||
proc get_code_auto, p_obj:dword
|
||||
pushad
|
||||
@ -251,7 +252,27 @@ proc get_code_auto, p_obj:dword
|
||||
jae @f
|
||||
call get_code_auto_data_el
|
||||
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
|
||||
popad
|
||||
@ -334,16 +355,12 @@ proc get_code_auto_data_el
|
||||
jl .prop
|
||||
|
||||
insert_br
|
||||
;insert_tab
|
||||
stdcall insert_text, txt_txt
|
||||
|
||||
mov edx,fp_icon
|
||||
stdcall get_obj_id, ebx,edx
|
||||
stdcall str_len,edx ;eax = len(fp_icon)
|
||||
stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor
|
||||
stdcall insert_text,edx
|
||||
|
||||
;insert_coma
|
||||
;insert_sp
|
||||
stdcall insert_text, txt_mouse_dd
|
||||
insert_nl
|
||||
@@:
|
||||
@ -360,6 +377,140 @@ proc get_code_auto_data_el
|
||||
ret
|
||||
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
|
||||
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
|
||||
txt_draw_we:
|
||||
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_0x33000000 db '0x33000000',0 ;tmp
|
||||
txt_struct db 'struct ',0
|
||||
@ -998,8 +1161,7 @@ txt_std_key_ed:
|
||||
db 9,'stdcall [edit_box_key], ',0
|
||||
txt_incl:
|
||||
db 'include ',0
|
||||
txt_ebox:
|
||||
db ' edit_box',0
|
||||
txt_ebox db ' edit_box',0
|
||||
txt_editb_draw:
|
||||
db 9,'stdcall [edit_box_draw], ',0
|
||||
txt_cbox_draw:
|
||||
|
@ -73,16 +73,47 @@ draw_obj_info:
|
||||
.exit_fun:
|
||||
ret
|
||||
|
||||
;¯®¤¨¬ ¥¬ ®¡ê¥ªâ ¢¢¥àå ¯® ᯨáªã
|
||||
align 4
|
||||
but_obj_move_up:
|
||||
stdcall [tl_node_move_up], tree2
|
||||
ret
|
||||
|
||||
;®¯ã᪠¥¬ ®¡ê¥ªâ ¢¨§ ¯® ᯨáªã
|
||||
align 4
|
||||
but_obj_move_down:
|
||||
stdcall [tl_node_move_down], tree2
|
||||
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, ¯® § ç¥¨ï¬ â¥ªá⮢ëå ¯®«¥©
|
||||
;äãªæ¨ï ®¡à â ï ª ¤ ®© on_file_object_select
|
||||
align 4
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 25 KiB |
@ -19,7 +19,7 @@ include 'strlen.inc'
|
||||
|
||||
@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'
|
||||
|
||||
@ -140,7 +140,8 @@ fn_font_s1 db 'font6x9.bmp',0
|
||||
IMAGE_FILE_FONT1_SIZE equ 96*144*3 ;à §¬¥à ä ©« á 1-¬ á¨áâ¥¬ë¬ èà¨ä⮬
|
||||
|
||||
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
|
||||
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.Position], 54
|
||||
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.rezerv], 0
|
||||
mov [run_file_70.FileName], fp_icon
|
||||
@ -344,37 +345,39 @@ pushad
|
||||
mov ecx,5*65536+18
|
||||
mov edx,5
|
||||
int 0x40
|
||||
stdcall draw_icon, 22,231,6 ;22 - open
|
||||
|
||||
;button 'Save Project'
|
||||
mov ebx,250*65536+18
|
||||
mov ecx,5*65536+18
|
||||
mov edx,6
|
||||
int 0x40
|
||||
stdcall draw_icon, 17,251,6 ;17 - save icon
|
||||
stdcall draw_icon, 17,251,6 ;17 - save
|
||||
|
||||
;button 'Show Constructor'
|
||||
mov ebx,310*65536+18
|
||||
mov ecx,5*65536+18
|
||||
mov edx,11
|
||||
int 0x40
|
||||
stdcall draw_icon, 12,311,6 ;12 - window icon
|
||||
stdcall draw_icon, 12,311,6 ;12 - window
|
||||
|
||||
;button 'Show Code'
|
||||
mov ebx,330*65536+18
|
||||
mov edx,12
|
||||
int 0x40
|
||||
stdcall draw_icon, 11,331,6 ;11 - text icon
|
||||
stdcall draw_icon, 11,331,6 ;11 - text
|
||||
|
||||
;button 'Update Code'
|
||||
mov ebx,350*65536+18
|
||||
mov edx,13
|
||||
int 0x40
|
||||
stdcall draw_icon, 32,351,6 ;32 - update
|
||||
|
||||
;button 'Save Code'
|
||||
mov ebx,370*65536+18
|
||||
mov edx,14
|
||||
int 0x40
|
||||
stdcall draw_icon, 17,371,6 ;17 - save icon
|
||||
stdcall draw_icon, 17,371,6 ;17 - save
|
||||
|
||||
;button ']P'
|
||||
mov ebx,390*65536+18
|
||||
@ -402,17 +405,32 @@ pushad
|
||||
int 0x40
|
||||
stdcall draw_icon, 24,181,31 ;24 - move down
|
||||
|
||||
; 10 30 50 70 90
|
||||
|
||||
mov eax,4 ;¯®¤¯¨áì 'Žâªàëâì'
|
||||
mov ebx,232*65536+13
|
||||
mov ecx,0x80ffff00
|
||||
mov edx,txtOpen
|
||||
;button 'Copy'
|
||||
mov ebx,200*65536+18
|
||||
mov ecx,30*65536+18
|
||||
mov edx,23
|
||||
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
|
||||
jne @f
|
||||
;mov eax,4
|
||||
mov eax,4
|
||||
mov ebx,10*65536+35
|
||||
mov ecx,0x80ff0000
|
||||
mov edx,txtErrOpen
|
||||
@ -542,6 +560,18 @@ button:
|
||||
jne @f
|
||||
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
|
||||
jne still
|
||||
.exit:
|
||||
@ -777,11 +807,8 @@ push eax ebx ecx
|
||||
pop eax
|
||||
cmp eax,0
|
||||
je @f
|
||||
;mov bl,byte[eax]
|
||||
;call find_obj_in_opt
|
||||
xor ecx,ecx
|
||||
mov cx,word[eax+obj_opt.img-obj_opt] ;cx - ¨¤¥ªá £« ¢®© ¨ª®ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ
|
||||
;mov cx,word[edi+obj_opt.img-obj_opt] ;cx - ¨¤¥ªá £« ¢®© ¨ª®ª¨ ¤®¡ ¢«ï¥¬®£® ®¡ê¥ªâ
|
||||
shl ecx,16
|
||||
stdcall dword[tl_node_add], eax, ecx, tree2 ;¤®¡ ¢«ï¥¬ ®¡ê¥ªâ
|
||||
@@:
|
||||
@ -868,7 +895,6 @@ buf_skin3:
|
||||
db 24 ;+20 bit in pixel
|
||||
|
||||
show_mode db 0 ;०¨¬ ¤«ï ¯®ª § ®¯à¥¤¥«¥®£® ®ª
|
||||
txtOpen db 'Žâ',0
|
||||
txtErrOpen db '<27>¥ ©¤¥ ä ©«, ¯à®¢¥àì⥠¯à ¢¨«ì®áâì ¨¬¥¨',0
|
||||
txtErrIni1 db '<27>¥ ®âªàë«áï ä ©« á ®¯æ¨ï¬¨',0
|
||||
err_opn db 0
|
@ -48,7 +48,7 @@ table
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Kol_f_edit версия от 11.11.2010</h1>
|
||||
<h1>Kol_f_edit версия от 20.11.2010</h1>
|
||||
<h2>О программе</h2>
|
||||
<p>Программа для автоматизации создания интерфейса.
|
||||
Многие функции программы пока еще не сделаны, потому возможности ее практического использования минимальные.
|
||||
@ -57,8 +57,9 @@ table
|
||||
<p>Внешний вид программы.</p>
|
||||
|
||||
<h2>Алгоритм работы с программой</h2>
|
||||
<p>1) Открываем шаблон программы из файла <b>min_prog.ced</b> (<i>пока он только один, дальше планируеться добавление других шаблонов</i>)</p>
|
||||
<p>2) Редактируем объекты в файле <b>min_prog.ced</b> (<i>более подробные инструкции по редактированию добавлю когда программа будет готова</i>)</p>
|
||||
<p>1) Открываем шаблон программы из файла <b>min_prog.ced</b> или <b>box_l.ced</b>
|
||||
(min_prog.ced - "минимальная" программа, 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>4) Редактируем получившийся <b>*.asm</b> файл любым текстовым редактором</p>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user