forked from KolibriOS/kolibrios
Tinypad 4.0.4 (final release)
git-svn-id: svn://kolibrios.org@297 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -37,46 +37,47 @@ button:
|
||||
call draw_editor
|
||||
call draw_statusbar
|
||||
call draw_tabctl
|
||||
call update_caption
|
||||
|
||||
@@:
|
||||
jmp still.skip_write
|
||||
|
||||
btn.vscroll_up:
|
||||
dec [cur_editor.TopLeft.Y] ;! [top_line]
|
||||
dec [cur_editor.TopLeft.Y]
|
||||
jns @f
|
||||
inc [cur_editor.TopLeft.Y] ;! [top_line]
|
||||
inc [cur_editor.TopLeft.Y]
|
||||
ret
|
||||
@@: call check_inv_all.skip_check
|
||||
@@: call editor_check_for_changes
|
||||
ret
|
||||
|
||||
btn.vscroll_down:
|
||||
inc [cur_editor.TopLeft.Y] ;! [top_line]
|
||||
mov eax,[cur_editor.Lines.Count] ;! eax,[lines]
|
||||
inc [cur_editor.TopLeft.Y]
|
||||
mov eax,[cur_editor.Lines.Count]
|
||||
sub eax,[lines.scr]
|
||||
cmp eax,[cur_editor.TopLeft.Y] ;! eax,[top_line]
|
||||
cmp eax,[cur_editor.TopLeft.Y]
|
||||
jge @f
|
||||
dec [cur_editor.TopLeft.Y] ;! [top_line]
|
||||
dec [cur_editor.TopLeft.Y]
|
||||
ret
|
||||
@@: call check_inv_all.skip_check
|
||||
@@: call editor_check_for_changes
|
||||
ret
|
||||
|
||||
btn.hscroll_up:
|
||||
dec [cur_editor.TopLeft.X] ;! [left_col]
|
||||
dec [cur_editor.TopLeft.X]
|
||||
jns @f
|
||||
inc [cur_editor.TopLeft.X] ;! [left_col]
|
||||
ret;jmp still.skip_write
|
||||
@@: call check_inv_all.skip_check
|
||||
inc [cur_editor.TopLeft.X]
|
||||
ret
|
||||
@@: call editor_check_for_changes
|
||||
ret
|
||||
|
||||
btn.hscroll_down:
|
||||
inc [cur_editor.TopLeft.X] ;! [left_col]
|
||||
mov eax,[cur_editor.Columns.Count] ;! eax,[columns]
|
||||
inc [cur_editor.TopLeft.X]
|
||||
mov eax,[cur_editor.Columns.Count]
|
||||
sub eax,[columns.scr]
|
||||
cmp eax,[cur_editor.TopLeft.X] ;! eax,[left_col]
|
||||
cmp eax,[cur_editor.TopLeft.X]
|
||||
jge @f
|
||||
dec [cur_editor.TopLeft.X] ;! [left_col]
|
||||
dec [cur_editor.TopLeft.X]
|
||||
ret
|
||||
@@: call check_inv_all.skip_check
|
||||
@@: call editor_check_for_changes
|
||||
ret
|
||||
|
||||
btn.tabctl_right:
|
||||
@@ -93,17 +94,16 @@ button:
|
||||
@@: call draw_tabctl
|
||||
ret
|
||||
|
||||
btn.search:
|
||||
key.f3:
|
||||
call search
|
||||
jc @f
|
||||
call check_inv_all
|
||||
@@: ret
|
||||
|
||||
btn.debug_board:
|
||||
call open_debug_board
|
||||
ret
|
||||
btn.sysfuncs_txt:
|
||||
call open_sysfuncs_txt
|
||||
ret
|
||||
|
||||
func search
|
||||
cld
|
||||
mov ecx,[cur_editor.Caret.Y] ;! ecx,[pos.y]
|
||||
mov ecx,[cur_editor.Caret.Y]
|
||||
mov edx,ecx
|
||||
call get_line_offset
|
||||
cmp word[esi],0
|
||||
@@ -113,9 +113,9 @@ func search
|
||||
or eax,eax
|
||||
jz .end_line.2
|
||||
mov ecx,eax
|
||||
sub ecx,[cur_editor.Caret.X] ;! ecx,[pos.x]
|
||||
sub ecx,[cur_editor.Caret.X]
|
||||
push esi
|
||||
add esi,[cur_editor.Caret.X] ;! esi,[pos.x]
|
||||
add esi,[cur_editor.Caret.X]
|
||||
jmp @f
|
||||
|
||||
.next_line:
|
||||
@@ -151,15 +151,15 @@ func search
|
||||
|
||||
.found:
|
||||
add esp,4
|
||||
mov [cur_editor.Caret.Y],edx ;! [pos.y],edx
|
||||
mov [cur_editor.SelStart.Y],edx ;! [sel.y],edx
|
||||
mov [cur_editor.Caret.Y],edx
|
||||
mov [cur_editor.SelStart.Y],edx
|
||||
mov ecx,edx
|
||||
lea eax,[esi-4]
|
||||
call get_line_offset
|
||||
sub eax,esi
|
||||
mov [cur_editor.SelStart.X],eax ;! [sel.x],eax
|
||||
mov [cur_editor.SelStart.X],eax
|
||||
add eax,[s_search.size]
|
||||
mov [cur_editor.Caret.X],eax ;! [pos.x],eax
|
||||
mov [cur_editor.Caret.X],eax
|
||||
mov [s_status],0
|
||||
clc
|
||||
ret
|
||||
@@ -168,7 +168,7 @@ func search
|
||||
pop esi
|
||||
.end_line.2:
|
||||
movzx eax,word[esi-4]
|
||||
add esi,eax;[esi-4]
|
||||
add esi,eax
|
||||
inc edx
|
||||
call get_real_length
|
||||
mov ecx,eax
|
||||
@@ -180,111 +180,3 @@ func search
|
||||
stc
|
||||
ret
|
||||
endf
|
||||
|
||||
btn.compile:
|
||||
key.ctrl_f9:
|
||||
mov bl,0
|
||||
call start_fasm
|
||||
ret
|
||||
btn.compile_run:
|
||||
key.f9:
|
||||
mov bl,1
|
||||
call start_fasm
|
||||
ret
|
||||
btn.debug_board:
|
||||
call open_debug_board
|
||||
ret
|
||||
btn.sysfuncs_txt:
|
||||
call open_sysfuncs_txt
|
||||
ret
|
||||
|
||||
btn.load_file:
|
||||
key.ctrl_l:
|
||||
call load_file
|
||||
jnc @f
|
||||
ret
|
||||
@@:
|
||||
|
||||
xor eax,eax
|
||||
mov [cur_editor.TopLeft.Y],eax ;! [top_line],eax
|
||||
mov [cur_editor.TopLeft.X],eax ;! [left_col],eax
|
||||
mov [cur_editor.Caret.X],eax ;! [pos.x],eax
|
||||
mov [cur_editor.Caret.Y],eax ;! [pos.y],eax
|
||||
mov [cur_editor.SelStart.X],eax ;! [sel.x],eax
|
||||
mov [cur_editor.SelStart.Y],eax ;! [sel.y],eax
|
||||
|
||||
mov [cur_editor.Modified],al ;! [modified],al
|
||||
|
||||
; enable color syntax for ASM and INC files:
|
||||
mov [cur_editor.AsmMode],al ;! [asm_mode],al
|
||||
|
||||
; mov eax,[f_info.length]
|
||||
; add eax,f_info.path
|
||||
; mov byte[eax],0
|
||||
lea ebx,[cur_editor.FilePath]
|
||||
mov eax,ebx
|
||||
call strlen
|
||||
mov ecx,dword[ebx+eax-3]
|
||||
or ecx,0x202020
|
||||
cmp ecx,'asm'
|
||||
jne @f
|
||||
inc [cur_editor.AsmMode] ;! [asm_mode]
|
||||
jmp .nocol
|
||||
@@: cmp ecx,'inc'
|
||||
jne .nocol
|
||||
inc [cur_editor.AsmMode] ;! [asm_mode]
|
||||
.nocol:
|
||||
|
||||
update_caption:
|
||||
lea esi,[cur_editor.FilePath] ;! mov esi,f_info.path
|
||||
mov edi,s_title
|
||||
|
||||
@@: lodsb
|
||||
cmp al,0
|
||||
je @f
|
||||
stosb
|
||||
jmp @b
|
||||
@@:
|
||||
;cld
|
||||
;mov ecx,[f_info.length]
|
||||
;jecxz @f
|
||||
;rep movsb
|
||||
|
||||
mov dword[edi],' - '
|
||||
add edi,3
|
||||
@@: mov esi,htext
|
||||
mov ecx,htext.size
|
||||
cld
|
||||
rep movsb
|
||||
|
||||
mov al,0
|
||||
stosb
|
||||
|
||||
mcall 71,1,s_title
|
||||
|
||||
clc
|
||||
ret
|
||||
|
||||
btn.close_main_window:
|
||||
key.alt_x:
|
||||
mov esi,self_path
|
||||
mov byte[esi+PATHL-1],0
|
||||
mov edi,f_info.path
|
||||
cld
|
||||
@@: lodsb
|
||||
stosb
|
||||
or al,al
|
||||
jnz @b
|
||||
|
||||
mov [f_info70+0],2
|
||||
mov [f_info70+4],0
|
||||
mov [f_info70+8],0
|
||||
mov [f_info70+12],TINYPAD_END
|
||||
mov [f_info70+16],0
|
||||
mov byte[f_info70+20],0
|
||||
mov [f_info70+21],f_info.path
|
||||
mcall 70,f_info70
|
||||
|
||||
.close:
|
||||
mov [main_closed],1
|
||||
mcall -1
|
||||
|
Reference in New Issue
Block a user