Icon_new: Title of notifications was deleted.

git-svn-id: svn://kolibrios.org@4937 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
eAndrew 2014-05-24 17:06:40 +00:00
parent eba26fc850
commit c0c7ae8688

View File

@ -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: