Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7577 → Rev 7579

/programs/develop/libraries/box_lib/trunk/box_lib.asm
321,7 → 321,8
dd sz_ted_but_find, ted_but_find
dd sz_ted_but_replace, ted_but_replace
dd sz_ted_text_colored, ted_text_colored
dd sz_ted_version, 0x00000005
dd sz_ted_go_to_position, ted_go_to_position
dd sz_ted_version, 6
 
dd sz_Frame_draw, frame.draw
dd szVersion_frame, 0x00010001
434,6 → 435,7
sz_ted_but_find db 'ted_but_find',0
sz_ted_but_replace db 'ted_but_replace',0
sz_ted_text_colored db 'ted_text_colored',0
sz_ted_go_to_position db 'ted_go_to_position',0
sz_ted_version db 'version_text_edit',0
 
sz_Frame_draw db 'frame_draw',0
/programs/develop/libraries/box_lib/trunk/box_lib.mac
408,16 → 408,13
ted_mode_color equ byte[edi+195] ;०¨¬ ¢ë¤¥«¥­¨ï á«®¢ 梥⮬ (0-¢ëª«. 1-¢ª«.)
ted_mode_invis equ byte[edi+196] ;०¨¬ ¯®ª §  ­¥¯¥ç â ¥¬ëå ᨬ¢®«®¢
ted_gp_opt equ byte[edi+197] ;®¯æ¨¨ ¢®§¢à é ¥¬ë¥ ä㭪樥© ted_get_pos_by_cursor
ted_fun_on_key_ctrl_o equ dword[edi+198] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ­ ¦ â¨¨ Ctrl+O (®âªàë⨥ ä ©« )
ted_fun_on_key_ctrl_f equ dword[edi+202] ;... Ctrl+F (¢ë§®¢ /áªàëâ¨ï ¯ ­¥«¨ ¯®¨áª )
ted_fun_on_key_ctrl_n equ dword[edi+206] ;... Ctrl+N (ᮧ¤ ­¨¥ ­®¢®£® ¤®ªã¬¥­â )
ted_fun_on_key_ctrl_s equ dword[edi+210] ;... Ctrl+S
ted_fun_on_key_ctrl_all equ dword[edi+198] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ­ ¦ â¨¨ Ctrl+N,O,F,S,H,G
;+202,+206,+210 § à¥§¥à¢¨à®¢ ­®
ted_buffer_size equ dword[edi+214] ;à §¬¥à ¡ãä¥à  ª®¯¨à®¢ ­¨ï/¢áâ ¢ª¨
ted_fun_find_err equ dword[edi+218] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ ¯®¨áª § ª®­ç¨«áï ­¥ã¤ ç­®
;ted_fun_init_synt_err equ dword[edi+222] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¯à¨ ®è¨¡®ç­®¬ ®âªàë⨨ ä ©«  ᨭ⠪á¨á 
ted_fun_draw_panel_buttons equ dword[edi+226] ;㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ á ª­®¯ª ¬¨
ted_fun_draw_panel_find equ dword[edi+230] ;㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ¯®¨áª 
ted_fun_draw_panel_syntax equ dword[edi+234] ;㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ᨭ⠪á¨á 
ted_fun_draw_panels equ dword[edi+230] ;㪠§ â¥«ì ­  äã­ªæ¨î à¨á®¢ ­¨ï ¯ ­¥«¨ ¯®¨áª |...|ᨭ⠪á¨á 
ted_fun_save_err equ dword[edi+238] ;㪠§ â¥«ì ­  äã­ªæ¨î ¢ë§ë¢ ¥¬ãî ¥á«¨ á®åà ­¥­¨¥ ä ©«  § ª®­ç¨«®áì ­¥ã¤ ç­®
ted_increase_size equ dword[edi+242] ;ç¨á«® ᨬ¢®«®¢ ­  ª®â®àë¥ ¡ã¤¥â 㢥稢 âìáï ¯ ¬ïâì ¯à¨ ­¥å¢ âª¥
ted_ptr_free_symb equ dword[edi+246] ;㪠§ â¥«ì ­  ᢮¡®¤­ãî ¯ ¬ïâì, ¢ ª®â®àãî ¬®¦­® ¤®¡ ¢«ïâì ᨬ¢®« (¨á¯®«ì§ã¥âáï ¢­ãâà¨ í«¥¬¥­â  ¤«ï ã᪮७¨ï ¢áâ ¢ª¨ ⥪áâ )
/programs/develop/libraries/box_lib/trunk/doc/t_edit/t_edit.htm
37,6 → 37,7
<li><a href="#fun_open_file">ted_open_file</a></li>
<li><a href="#fun_text_add">ted_text_add</a></li>
<li><a href="#fun_text_colored">ted_text_colored</a></li>
<li><a href="#fun_go_to_position">ted_go_to_position</a></li>
</ul>
<p><a href="#syn_file">Ôîðìàò ôàéëà ïîäñâåòêè *.syn</a></p>
<p><a href="#struc_tedit">Ñòðóêòóðà tedit</a></p>
48,8 → 49,8
 
<h2>Âîçìîæíîñòè ýëåìåíòà</h2>
<ul>
<li>Îòêðûòèå (Ctrl+O)/Ñîõðàíåíèå ôàéëà.</li>
<li>Ðåäàêòèðîâàíèå: Ïîâòîð/Îòìåíà äåéñòâèÿ (Ctrl+Z), Âûðåçàòü/Êîïèðîâàòü (Ctrl+C)/Âñòàâèòü (Ctrl+V), Ïîèñê (Ctrl+F, F3).</li>
<li>Îòêðûòèå (Ctrl+O), Ñîõðàíåíèå ôàéëà (Ctrl+S, Ctrl+Shift+S).</li>
<li>Ðåäàêòèðîâàíèå: Ïîâòîð/Îòìåíà äåéñòâèÿ (Ctrl+Z), Âûðåçàòü, Êîïèðîâàòü (Ctrl+C), Âñòàâèòü (Ctrl+V), Ïîèñê (Ctrl+F, F3), Çàìåíà (Ctrl+H), Ïåðåõîä íà ñòðîêó (Ctrl+G).</li>
<li>Âûäåëåíèå öâåòîì ñëîâ, çàäàííûõ â ôàéëå ñèíòàêñèñà. Âûâîä ñïðàâêè ïî íèì, åñëè îíà åñòü (íàæàòèåì F1 êîãäà êóðñîð íà ñëîâå).</li>
</ul>
 
284,6 → 285,14
call [ted_text_colored]
pop edi</pre>
 
<h4><a name="fun_go_to_position">ted_go_to_position</a></h4>
<p>Ôóíêöèÿ äëÿ ïåðåõîäà íà óêàçàííóþ ïîçèöèþ. Ïðèíèìàåò 3 ïàðàìåòðà:</p>
<p>1) ñòðóêòóðà tedit,</p>
<p>2) íîìåð ñòðîêè,</p>
<p>3) íîìåð ñèìâîëà.</p>
<p>Ïðèìåð èñïîëüçîâàíèÿ:</p>
<pre>stdcall [ted_go_to_position], tedit0,50,3</pre>
 
<h2>Âíóòðåííèå ôóíêöèè:</h2>
<p><b>ted_get_text_perv_pos</b> - ïåðåõîä íà ïðåäûäóùèé ñèìâîë â öåïè (÷åðåç óêàçàòåëü 'perv')</p>
<p><b>ted_get_text_next_pos</b> - ïåðåõîä íà ñëåäóþùèé ñèìâîë â öåïè (÷åðåç óêàçàòåëü 'next')</p>
373,22 → 382,20
.mode_color db 1 ;+195 ðåæèì âûäåëåíèÿ ñëîâ öâåòîì (0-âûêë. 1-âêë.)
.mode_invis db 0 ;+196 ðåæèì ïîêàçà íåïå÷àòàåìûõ ñèìâîëîâ
.gp_opt db 0 ;+197 îïöèè âîçâðàùàåìûå ôóíêöèåé ted_get_pos_by_cursor
.fun_on_key_ctrl_o dd but_ctrl_o ;+198 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè íàæàòèè Ctrl+O (îòêðûòèå ôàéëà)
.fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (âûçîâà/ñêðûòèÿ ïàíåëè ïîèñêà)
.fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (ñîçäàíèå íîâîãî äîêóìåíòà)
.fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
.fun_on_key_ctrl_all dd but_ctrl_all ;+198 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè íàæàòèè Ctrl+N,O,S,F,H,G
dd 0,0,0 ;çàðåçåðâèðîâàíî
.buffer_size dd BUF_SIZE ;+214 ðàçìåð áóôåðà êîïèðîâàíèÿ/âñòàâêè
.fun_find_err dd 0 ;+218 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ïîèñê çàêîí÷èëñÿ íåóäà÷íî
.fun_init_synt_err dd 0 ;+222 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ ïðè îøèáî÷íîì îòêðûòèè ôàéëà ñèíòàêñèñà
.fun_draw_panel_buttons dd 0 ;+226 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñ êíîïêàìè
.fun_draw_panel_find dd 0 ;+230 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ïîèñêà
.fun_draw_panel_syntax dd 0 ;+234 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ñèíòàêñèñà
.fun_draw_panels dd 0 ;+230 óêàçàòåëü íà ôóíêöèþ ðèñîâàíèÿ ïàíåëè ïîèñêà/çàìåíû/ïåðåõîäà/ñèíòàêñèñà
dd 0 ;çàðåçåðâèðîâàíî
.fun_save_err dd 0 ;+238 óêàçàòåëü íà ôóíêöèþ âûçûâàåìóþ åñëè ñîõðàíåíèå ôàéëà çàêîí÷èëîñü íåóäà÷íî
.increase_size dd 225 ;+242 ÷èñëî ñèìâîëîâ íà êîòîðûå áóäåò óâå÷èâàòüñÿ ïàìÿòü ïðè íåõâàòêå
.ptr_free_symb dd ? ;+246 óêàçàòåëü íà ñâîáîäíóþ ïàìÿòü, â êîòîðóþ ìîæíî äîáàâëÿòü ñèìâîë (èñïîëüçóåòñÿ âíóòðè ýëåìåíòà äëÿ óñêîðåíèÿ âñòàâêè òåêñòà)
.font_s dd ? ;+250 ñòèëè äëÿ øðèôòà (îò 0 äî 7 ìíîæèòåëü äëÿ ðàçìåðà, +16 äëÿ âòîðîãî ñèñòåìíîãî øðèôòà)</pre>
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 21.01.19.</p>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 29.01.19.</p>
 
</body>
</html>
/programs/develop/libraries/box_lib/trunk/t_edit.asm
1,6 → 1,6
; ¬ ªà®á ¤«ï á¨á⥬­®© ¡¨¡«¨®â¥ª¨ box_lib.obj
; í«¥¬¥­â TextEditor ¤«ï Kolibri OS
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 21.10.2018 IgorA
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 29.01.2019 IgorA
; ­  ª®¤ ¯à¨¬¥­¥­  GPL2 «¨æ¥­§¨ï
 
;input:
20,12 → 20,6
add out_reg,ted_key_words_data
}
 
TED_PANEL_NULL equ 0 ;­¥â ®âªàë⮩ ¯ ­¥«¨
TED_PANEL_FIND equ 1 ;¯ ­¥«ì ¯®¨áª 
TED_PANEL_SYNTAX equ 2 ;¯ ­¥«ì ¢ë¡®à  ä ©«®¢ ¯®¤á¢¥âª¨
TED_PANEL_REPLACE equ 3 ;¯ ­¥«ì § ¬¥­ë
TED_PANEL_WIDTH equ 150 ;è¨à¨­  ¯ ­¥«¨
 
TED_LINES_IN_NEW_FILE equ 30 ;ç¨á«® áâப ¢ ­®¢®¬ ä ©«¥
MAX_COLOR_WORD_LEN equ 40
;------------------------------------------------------------------------------
241,38 → 235,44
test esi,KM_CTRL ;Ctrl+...
jz .key_Ctrl
; *** ¢ë§®¢ ¢­¥è­¨å ä㭪権 ª®â®àë¥ âॡãîâ ®ª­  ®âªàëâ¨ï/á®åà ­¥­¨ï/¯®¨áª /...
cmp ted_fun_on_key_ctrl_all,0
je .end0
xor al,al
cmp ah,24 ;Ctrl+O
jne @f
cmp ted_fun_on_key_ctrl_o,0
je .end_key_fun
call ted_fun_on_key_ctrl_o
mov al,'O'
@@:
cmp ah,31 ;Ctrl+S
jne .end_ctrl_s
cmp ted_fun_on_key_ctrl_s,0
je .end_key_fun
xor eax,eax
test esi,KM_SHIFT
jz @f
inc eax
jne @f
mov al,'S'
@@:
call ted_fun_on_key_ctrl_s
jmp .end_key_fun
.end_ctrl_s:
cmp ah,33 ;Ctrl+F
jne @f
cmp ted_panel_id,TED_PANEL_FIND
je @f
cmp ted_fun_on_key_ctrl_f,0
je .end_key_fun
call ted_fun_on_key_ctrl_f
mov al,'F'
@@:
cmp ah,34 ;Ctrl+G
jne @f
mov al,'G'
@@:
cmp ah,35 ;Ctrl+H
jne @f
mov al,'H'
@@:
cmp ah,49 ;Ctrl+N
jne @f
cmp ted_fun_on_key_ctrl_n,0
je .end_key_fun
call ted_fun_on_key_ctrl_n
mov al,'N'
@@:
or al,al
jz .end0
and eax,0xff
test esi,KM_SHIFT
jz @f
or eax,0x100
@@:
stdcall ted_fun_on_key_ctrl_all, eax
jmp .end_key_fun
.end0:
 
; *** ¢ë§®¢ ¢­ãâ७­¨å ä㭪権
cmp ah,30 ;Ctrl+A
jne @f
441,7 → 441,7
 
cmp dword[table],0
je @f
stdcall KeyConvertToASCII, dword[table]
stdcall KeyConvertToASCII, [table]
@@:
 
;mov ted_drag_k,0 ;§ ª ­ç¨¢ ¥¬ ¢ë¤¥«¥­¨¥ ®â ª« ¢¨ âãàë
1169,7 → 1169,7
; *** ¢áâ ¢ª  ⥪ã饣® ᨬ¢®«  ¨§ áâப¨ ***
mov ecx,ted_opt_ed_change_time
not ecx
and dword[add_opt],ecx ;n_tim=false;
and [add_opt],ecx ;n_tim=false;
 
mov cl,byte [esi] ;tex[i].c=ta[ns];
mov byte [edx],cl
2046,7 → 2046,39
ret
endp
 
;description:
; ¯¥à¥å®¤ ­  㪠§ ­­ãî ¯®§¨æ¨î
;input:
; row = ­®¬¥à áâப¨
; col = ᨬ¢®«
align 16
proc ted_go_to_position uses ecx edx edi, edit:dword, row:dword, col:dword
mov edi,[edit]
; ¯®¤£®â®¢ª  áâப¨
mov edx,[row]
call ted_get_num_lines
cmp edx,eax
jle @f
mov edx,eax ;®£à ­¨ç¥­¨¥ ¯® áâப¥ max
@@:
dec edx
cmp edx,0
jge @f
xor edx,edx ;®£à ­¨ç¥­¨¥ ¯® áâப¥ min
@@:
; ¯®¤£®â®¢ª  ᨬ¢®« 
mov ecx,[col]
dec ecx
cmp ecx,0
jge @f
xor ecx,ecx
@@:
call ted_go_to_pos
stdcall ted_draw,edi
ret
endp
 
;input:
; ecx = Col
; edx = Row
; edi = pointer to tedit struct
3498,14 → 3530,10
inc bx
int 0x40
 
cmp ted_fun_draw_panel_find,0
cmp ted_fun_draw_panels,0
je @f
call ted_fun_draw_panel_find
stdcall ted_fun_draw_panels, edi
@@:
cmp ted_fun_draw_panel_syntax,0
je @f
call ted_fun_draw_panel_syntax
@@:
popad
ret
endp
3515,7 → 3543,6
align 16
proc ted_draw_main_cursor
pushad
 
mov eax,SF_DRAW_RECT ;draw cursor
mov ecx,ted_wnd_t ;calc rect -> y0,y1
add ecx,ted_rec_t
3811,8 → 3838,7
align 16
proc KeyConvertToASCII uses ebx, table:dword
mov ebx,[table] ;convert scan to ascii
ror ax,8
xor ah,ah
shr ax,8
add bx,ax ;? ebx,eax
mov ah,byte[ebx]
ret