forked from KolibriOS/kolibrios
Icon_new: Title of notifications was deleted.
git-svn-id: svn://kolibrios.org@4937 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
eba26fc850
commit
c0c7ae8688
@ -1,19 +1,19 @@
|
||||
ICON_STRIP equ '/rd/1/iconstrp.png'
|
||||
ICON_INI equ '/rd/1/settings/icon.ini'
|
||||
ICON_SIZE equ 68 ;à §¬¥à ®¡« á⨠¤«ï ¨ª®ª¨ á ¤¯¨áìî
|
||||
IMG_SIZE equ 32 ;à §¬¥à ¨ª®®ª
|
||||
TEXT_BOTTOM_Y equ 15 ;®âáâ㯠¯® Y ⥪á⠮⠨§ ¨ª®ª¨
|
||||
IMAGE_TOP_Y equ 10 ;>=1 Š®®à¤¨ â Y ¨ª®ª¨ ¢ ®¡« á⨠¤«ï ¤ ®© ¨ª®ª¨
|
||||
ALIGN_SIZE equ 68 ;à §¬¥à á¥âª¨ ¢ëà ¢¨¢ ¨ï
|
||||
NAME_LENGTH equ 11 ;¤«¨ ¨¬¥¨ ¨ª®ª¨
|
||||
MIN_NO_MOVING equ 8 ;ç¥à¥§ á⮫쪮 ¯¨ªá¥«¥© ᤢ¨£ ¬ëè¨ ç¨ ¥âáï â ᪠¨¥ ¨ª®ª¨
|
||||
ICON_SIZE equ 68 ;размер области для иконки с надписью
|
||||
IMG_SIZE equ 32 ;размер иконок
|
||||
TEXT_BOTTOM_Y equ 15 ;отступ по Y текста от низа иконки
|
||||
IMAGE_TOP_Y equ 10 ;>=1 Координата Y иконки в области для данной иконки
|
||||
ALIGN_SIZE equ 68 ;размер сетки выравнивания
|
||||
NAME_LENGTH equ 11 ;длина имени иконки
|
||||
MIN_NO_MOVING equ 8 ;через столько пикселей сдвига мыши начинается таскание иконки
|
||||
|
||||
;--------¤«ï ¤¨ «®£ ᮧ¤ ¨ï/। ªâ¨à®¢ ¨ï
|
||||
;--------для диалога создания/редактирования
|
||||
ICONSX equ 20
|
||||
ICONSY equ 80
|
||||
ICONS_DRAW_COUNTW equ 10 ;ª®«¨ç¥á⢮ ¨ª®®ª ¢ è¨à¨ã
|
||||
ICONS_DRAW_COUNTH equ 2 ;ª®«¨ç¥á⢮ ¨ª®®ª ¢ ¢ëá®âã
|
||||
SPCW equ 3 ;¯à®¡¥« ¬¥¦¤ã ¨ª®ª ¬¨ ¯® £®à¨§®â «¨
|
||||
ICONS_DRAW_COUNTW equ 10 ;количество иконок в ширину
|
||||
ICONS_DRAW_COUNTH equ 2 ;количество иконок в высоту
|
||||
SPCW equ 3 ;пробел между иконками по горизонтали
|
||||
SPCH equ 3
|
||||
END_ICONS_AREAW equ ICONSX+(IMG_SIZE+SPCW)*ICONS_DRAW_COUNTW-SPCW
|
||||
END_ICONS_AREAH equ ICONSY+(IMG_SIZE+SPCH)*ICONS_DRAW_COUNTH-SPCH
|
||||
@ -92,10 +92,10 @@ START: ; start of execution
|
||||
and eax,0x7
|
||||
mov [cur_band_compensation],eax
|
||||
|
||||
;########## § £à㦠¥¬ ¤ ë¥ ¨ª®®ª ¢ ¯ ¬ïâì ##########################
|
||||
;########## загружаем данные иконок в память ##########################
|
||||
|
||||
mcall 70,fiIni ;¢ë¤¥«ï¥¬ ¯ ¬ïâì, ¤®áâ â®ç®© ¤«ï åà ¥¨ï ini ä ©« .
|
||||
test eax,eax ;…ñ â®ç® å¢ â¨â ¤«ï åà ¥¨ï ¤ ëå ®¡ ¨ª®ª å
|
||||
mcall 70,fiIni ;выделяем память, достаточной для хранения ini файла.
|
||||
test eax,eax ;Её точно хватит для хранения данных об иконках
|
||||
jnz ErrorIni
|
||||
|
||||
cmp dword[bufIni+32],0
|
||||
@ -130,9 +130,9 @@ START: ; start of execution
|
||||
mov dword[SizeData],0
|
||||
@@:
|
||||
;######################################################################
|
||||
call FillIconsOffs ;§ ¯®«ï¥â MaxNumIcon,IconsOffs
|
||||
call FillIconsOffs ;заполняет MaxNumIcon,IconsOffs
|
||||
|
||||
mcall 40,0100000b ;ã¦ë ⮫쪮 ᮡëâ¨ï ¬ëè¨, ¯¥à¥à¨á®¢ª ¨ª®®ª ¡ã¤¥â ¢ ¤à㣮¬ ¯®â®ª¥
|
||||
mcall 40,0100000b ;нужны только события мыши, перерисовка иконок будет в другом потоке
|
||||
|
||||
mov eax,[icon_count]
|
||||
mov bl,ICONS_DRAW_COUNTH
|
||||
@ -144,7 +144,7 @@ START: ; start of execution
|
||||
and eax,0FFh
|
||||
mov [sbIcons.max_area],eax
|
||||
|
||||
mcall 51,1,BGRedrawThread,stack_bredraw ;§ ¯ã᪠¥¬ ¯®â®ª ¯¥à¥à¨á®¢ª¨ ¨ª®®ª
|
||||
mcall 51,1,BGRedrawThread,stack_bredraw ;запускаем поток перерисовки иконок
|
||||
stdcall [OpenDialog_Init],OpenDialog_data
|
||||
|
||||
;dph [MaxNumIcon]
|
||||
@ -184,11 +184,11 @@ MSGMouse:
|
||||
jmp messages
|
||||
|
||||
ErrLoadLibs:
|
||||
;dps '<EFBFBD>¥ 㤠«®áì § £à㧨âì ¥®¡å®¤¨¬ë¥ ¡¨¡«¨®â¥ª¨'
|
||||
;dps 'Не удалось загрузить необходимые библиотеки'
|
||||
;debug_newline
|
||||
jmp close
|
||||
ErrorStrp:
|
||||
;dps 'Žè¨¡ª ®âªàëâ¨ï iconstrp.png'
|
||||
;dps 'Ошибка открытия iconstrp.png'
|
||||
;debug_newline
|
||||
close:
|
||||
mcall -1
|
||||
@ -252,7 +252,7 @@ LButtonPress:
|
||||
mov [MouseY],ecx
|
||||
|
||||
stdcall GetNumIcon,[MouseX],[MouseY],-1
|
||||
cmp eax,[esp] ;[esp] = ®¬¥à ¨ª®ª¨
|
||||
cmp eax,[esp] ;[esp] = номер иконки
|
||||
jne @f
|
||||
|
||||
mov edi,[IconsOffs+eax*4]
|
||||
@ -383,7 +383,7 @@ MovingIcon:
|
||||
cmp bx,[wsY]
|
||||
jae @f
|
||||
mov bx,[wsY]
|
||||
@@: ;eax,ebx - ॠ«ì ï ª®®à¤¨ â . ‚ᥠª®®à¤¨ âë ¢ ¯à®£¥ ®â®á¨â¥«ì® «¥¢®£® ¢¥à奣® 㣫 à ¡®ç¥© ®¡« áâ¨
|
||||
@@: ;eax,ebx - реальная координата. Все координаты в проге относительно левого верхнего угла рабочей области
|
||||
|
||||
xor edx,edx
|
||||
mov dx,[wsXe]
|
||||
@ -400,7 +400,7 @@ MovingIcon:
|
||||
mov ebx,edx
|
||||
@@:
|
||||
|
||||
xor edx,edx ;¯à¥®¡à §®¢ë¢ ¥¬ ¢ ®â®á¨â¥«ìë¥
|
||||
xor edx,edx ;преобразовываем в относительные
|
||||
mov dx,[wsW]
|
||||
shr edx,1
|
||||
add dx,[wsX]
|
||||
@ -434,7 +434,7 @@ MovingIcon:
|
||||
mov [bNotSave],1
|
||||
mov [IconNoDraw],-1
|
||||
|
||||
mov [MovingActiv],0 ;⮫쪮 ⥯¥àì ®âª«îç ¥¬ ®ª® á ¬ëèìî
|
||||
mov [MovingActiv],0 ;только теперь отключаем окно с мышью
|
||||
|
||||
jmp messages
|
||||
|
||||
@ -457,7 +457,7 @@ RButtonPress:
|
||||
|
||||
|
||||
;###############################################################################
|
||||
;ret eax = 1/0 = 㤠ç /®è¨¡ª
|
||||
;ret eax = 1/0 = удача/ошибка
|
||||
proc DrawIcon NumIcon:DWORD,Activ:DWORD ;NumIcon = 0..n
|
||||
local IconData:DWORD
|
||||
push ebx edi esi
|
||||
@ -478,7 +478,7 @@ local IconData:DWORD
|
||||
mov esi,[IconsOffs+eax*4]
|
||||
mov [IconData],esi
|
||||
|
||||
;à¨á㥬 ⥪áâ
|
||||
;рисуем текст
|
||||
mov edi,esi
|
||||
xor al,al
|
||||
or ecx,-1
|
||||
@ -491,7 +491,7 @@ local IconData:DWORD
|
||||
lea eax,[eax*2+eax]
|
||||
mov ebx,ICON_SIZE
|
||||
sub ebx,eax
|
||||
shr ebx,1 ;ebx = x ⥪áâ
|
||||
shr ebx,1 ;ebx = x текста
|
||||
shl ebx,16
|
||||
mov bx,ICON_SIZE
|
||||
sub bx,TEXT_BOTTOM_Y
|
||||
@ -514,7 +514,7 @@ local IconData:DWORD
|
||||
add ebx,0*10000h-2
|
||||
mov ecx,88FFFFFFh
|
||||
mcall ;4
|
||||
;à¨á㥬 ª à⨪ã
|
||||
;рисуем картинку
|
||||
|
||||
mov edi,esi
|
||||
xor al,al
|
||||
@ -529,7 +529,7 @@ local IconData:DWORD
|
||||
jne GetIconInd
|
||||
|
||||
PathToIcon:
|
||||
mov al,30h ;§ £«ãèª !!!!!!!!!!!!!
|
||||
mov al,30h ;заглушка!!!!!!!!!!!!!
|
||||
mov byte[edi+1],0
|
||||
|
||||
jmp CopyToMem
|
||||
@ -574,7 +574,7 @@ local IconData:DWORD
|
||||
jnz @b
|
||||
|
||||
;-----------------
|
||||
;¥á«¨ ¤®, â® à¨á㥬 ®¡¢®¤ªã
|
||||
;если надо, то рисуем обводку
|
||||
cmp [Activ],0
|
||||
je .NoSelect
|
||||
|
||||
@ -712,7 +712,7 @@ proc RestoreBackgrnd,NumIcon:DWORD
|
||||
ret
|
||||
endp
|
||||
|
||||
;§ ¯®«ï¥â MaxNumIcon,IconsOffs
|
||||
;заполняет MaxNumIcon,IconsOffs
|
||||
proc FillIconsOffs
|
||||
push ebx edi
|
||||
mov edi,[BegData]
|
||||
@ -769,7 +769,7 @@ proc LoadIconsData stdcall,f_name,sec_name
|
||||
.lid1:
|
||||
|
||||
|
||||
mov ebx,[sec_name] ;ª®¯¨à㥬 ID
|
||||
mov ebx,[sec_name] ;копируем ID
|
||||
mov ax,[ebx]
|
||||
mov edi,[nLoadIcon]
|
||||
mov word[edi*4+IconsID],ax
|
||||
@ -932,7 +932,7 @@ fiStdIco:
|
||||
|
||||
|
||||
align 4
|
||||
fiRunProg: ;¤«ï § ¯ã᪠¯à®£à ¬¬
|
||||
fiRunProg: ;для запуска программ
|
||||
dd 7
|
||||
dd 0
|
||||
dd 0
|
||||
@ -941,7 +941,7 @@ fiRunProg: ;
|
||||
db 0
|
||||
dd pthNotify
|
||||
|
||||
fiIni dd 5 ;¤«ï ini ä ©«
|
||||
fiIni dd 5 ;для ini файла
|
||||
dd 0
|
||||
dd 0
|
||||
dd 0
|
||||
@ -953,8 +953,8 @@ fiIni dd 5 ;
|
||||
IconsFile db ICON_STRIP,0
|
||||
|
||||
align 4
|
||||
MaxNumIcon dd 0 ;ª®«¨ç¥á⢮ ¨ª®®ª
|
||||
IconNoDraw dd -1 ;-1 «¨¡® ®¬¥à ¨ª®ª¨, ª®â®àãî ¥ ¤® à¨á®¢ âì( ª®£¤ ¥ñ â ᪠îâ )
|
||||
MaxNumIcon dd 0 ;количество иконок
|
||||
IconNoDraw dd -1 ;-1 либо номер иконки, которую не надо рисовать( когда её таскают )
|
||||
|
||||
bFixIcons dd 1
|
||||
bNotSave dd 0
|
||||
@ -1034,13 +1034,13 @@ secRButt db 'rbmenu',0
|
||||
PredItem dd -1
|
||||
|
||||
if lang eq ru
|
||||
RMenuRedrawFon db '<EFBFBD>¥à¥à¨á®¢ âì',0
|
||||
RMenuAlign db '‚ë஢ïâì ¯® á¥âª¥',0
|
||||
RMenuOffMoving db '‡ ªà¥¯¨âì ¨ª®ª¨',0
|
||||
RMenuOnMoving db 'Žâªà¥¯¨âì ¨ª®ª¨',0
|
||||
RMenuAdd db '„®¡ ¢¨âì',0
|
||||
RMenuDel db '“¤ «¨âì',0
|
||||
RMenuProp db '‘¢®©á⢠',0
|
||||
RMenuRedrawFon db 'Перерисовать',0
|
||||
RMenuAlign db 'Выровнять по сетке',0
|
||||
RMenuOffMoving db 'Закрепить иконки',0
|
||||
RMenuOnMoving db 'Открепить иконки',0
|
||||
RMenuAdd db 'Добавить',0
|
||||
RMenuDel db 'Удалить',0
|
||||
RMenuProp db 'Свойства',0
|
||||
else
|
||||
RMenuRedrawFon db 'Redraw',0
|
||||
RMenuAlign db 'Snap to Grid',0
|
||||
@ -1052,32 +1052,32 @@ else
|
||||
end if
|
||||
|
||||
if lang eq ru
|
||||
ErrRunProg db '"Icon\nŽè¨¡ª § ¯ã᪠¯à®£à ¬¬ë" -tE"',0
|
||||
WarningSave db '"Icon\n<>¥ § ¡ã¤ì⥠á®åà ¨âì ¨§¬¥¥¨ï, § ¯ãáâ¨âì RDSave" -tI',0
|
||||
ErrNotFoundIni db '"Icon\n<>¥ ©¤¥ icon.ini" -tE',0
|
||||
ErrName db '"Icon\nˆ¬ï "rbmenu" § १¥à¢¨à®¢ ®" -tE',0
|
||||
ErrRunProg db '"Ошибка запуска программы" -E"',0
|
||||
WarningSave db '"Не забудьте сохранить изменения, запустить RDSave" -I',0
|
||||
ErrNotFoundIni db '"Не найден icon.ini" -E',0
|
||||
ErrName db '"Имя "rbmenu" зарезервировано" -E',0
|
||||
else
|
||||
ErrRunProg db '"Icon\nError runing program" -tE',0
|
||||
WarningSave db '"Icon\nDo not forget to save the changes, run the RDSave" -tI',0
|
||||
ErrNotFoundIni db '"Icon\nicon.ini not found" -tE',0
|
||||
ErrName db '"Icon\nThe name "rbmenu" reserved" -tE',0
|
||||
ErrRunProg db '"Error runing program" -E',0
|
||||
WarningSave db '"Do not forget to save the changes, run the RDSave" -I',0
|
||||
ErrNotFoundIni db '"Icon.ini not found" -E',0
|
||||
ErrName db '"The name "rbmenu" reserved" -E',0
|
||||
end if
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
;------- AddDlg.inc ---------------------------------------------------------------
|
||||
;-------------------------------------------------------------------------------
|
||||
if lang eq ru
|
||||
DTitleAdd db '„®¡ ¢¨âì ¨ª®ªã',0
|
||||
DTitleProp db 'ˆ§¬¥¨âì ¨ª®ªã',0
|
||||
DTitleAdd db 'Добавить иконку',0
|
||||
DTitleProp db 'Изменить иконку',0
|
||||
|
||||
DCaptName db 'ˆ¬ï',0
|
||||
DCaptPath db '<EFBFBD>ãâì',0
|
||||
DCaptParams db '<EFBFBD> à ¬¥âàë',0
|
||||
DCaptIcon db 'ˆª®ª ',0
|
||||
DCaptName db 'Имя',0
|
||||
DCaptPath db 'Путь',0
|
||||
DCaptParams db 'Параметры',0
|
||||
DCaptIcon db 'Иконка',0
|
||||
;DCaptChange db '.',0
|
||||
DCaptCreate db '‘®§¤ âì',0
|
||||
DCaptProperties db 'ˆ§¬¥¨âì',0
|
||||
DCaptCancel db 'Žâ¬¥¨âì',0
|
||||
DCaptCreate db 'Создать',0
|
||||
DCaptProperties db 'Изменить',0
|
||||
DCaptCancel db 'Отменить',0
|
||||
|
||||
else
|
||||
DTitleAdd db 'Add icon',0
|
||||
@ -1092,7 +1092,7 @@ DCaptProperties db 'Change',0
|
||||
DCaptCancel db 'Cancel',0
|
||||
end if
|
||||
|
||||
;/¥ ¬¥ïâì ¯®«®¦¥¨¥
|
||||
;/не менять положение
|
||||
edtName edit_box NAME_LENGTH*6+4,70+20+IMG_SIZE,6,0FFFFFFh,06F9480h,0FFh,0h,0,NAME_LENGTH,\
|
||||
DAreaName,mouse_dd,0,0,0
|
||||
edtExePath edit_box 281-3-20-IMG_SIZE,70+20+IMG_SIZE,26,0FFFFFFh,06F9480h,0FFh,0h,0,255,\
|
||||
@ -1168,7 +1168,7 @@ Filter dd 0
|
||||
;open_dialog db 0
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
;/¥ à §¤¥«ïâì
|
||||
;/не разделять
|
||||
align 4
|
||||
IconAreaH dd ICON_SIZE,ICON_SIZE
|
||||
I_END:
|
||||
@ -1206,10 +1206,10 @@ DlgBufImg rb IMG_SIZE*IMG_SIZE*3
|
||||
|
||||
align 4
|
||||
bufStdIco rb 40
|
||||
IconsOffs rd 100 ;â ¡«¨æ á 㪠§ ⥫ﬨ ª®ªà¥âë¥ ¨ª®ª¨(¤«ï ã᪮२ï)
|
||||
IconsOffs rd 100 ;таблица с указателями на конкретные иконки(для ускорения)
|
||||
PIcoDB rd 1
|
||||
nLoadIcon rd 1 ;®¬¥à ç¨â ¥¬®© ¨§ ini ¨ª®ª¨
|
||||
IconsID rd 100 ;ID ¨ª®®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢¨¢ î騩 ¡ ©â - áâப á 2¬ï è¥á ¤æ¥â¨à¨ç묨 æ¨äà ¬¨
|
||||
nLoadIcon rd 1 ;номер читаемой из ini иконки
|
||||
IconsID rd 100 ;ID иконок - 2 байтa + байт 0 + выравнивающий байт - строка с 2мя шеснадцетиричными цифрами
|
||||
|
||||
nameSection rb 4
|
||||
|
||||
@ -1224,7 +1224,7 @@ cur_band_compensation rd 1
|
||||
|
||||
bufIni rb 40
|
||||
NumMenuButt rd 1
|
||||
RBMenuCP rd MAX_USER_BUTTONS*2 ;㪠§ ⥫¨ ¯®¤¯¨áì ¨ ¯ãâì á ¯à®£®© (Caption(dd), Path(dd)) ¨ § ¯ ᮩ (dd) ¤«ï § ¢¥àè î饣® ã«ï
|
||||
RBMenuCP rd MAX_USER_BUTTONS*2 ;указатели на подпись и путь с прогой (Caption(dd), Path(dd)) и запасной (dd) для завершающего нуля
|
||||
RMenuW rw 1
|
||||
RMenuH rw 1
|
||||
|
||||
@ -1247,7 +1247,7 @@ fname_Info rb 1024
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
rb 512
|
||||
stack_mov: ;®¤®¢à¥¬¥® â ᪠âì ¨ ¤¥à¦ âì ®âªàëâë¬ ¬¥îèªã ¥¢®§¬®¦®
|
||||
stack_mov: ;одновременно таскать и держать открытым менюшку невозможно
|
||||
stack_rmenu:
|
||||
rb 512
|
||||
stack_dlg:
|
||||
|
Loading…
Reference in New Issue
Block a user