WhatsNew.Api.txt

(33 KB) Pobierz
                    Ôàéëîâûé è àğõèâíûé ìåíåäæåğ FAR
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ×òî íîâîãî â Plugin API ïîñëåäíåé âåğñèè
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[!] Âàæíîå çàìå÷àíèå
[+] Íîâîââåäåíèå
[-] Èñïğàâëåíà îøèáêà
[*] Èçìåíåíèÿ

---------------------------------------------------------------------------
FAR 1.70 (build 2087) (29.03.2006)
---------------------------------------------------------------------------
Ğåäàêòîğ
~~~~~~~~
[*] Òåïåğü ïëàãèí â ProcessEditorInput ïîëó÷àåò êëàâèàòóğíûå ñîáûòèÿ
    êàê ïğè çàïèñè, òàê è ïğè âîñïğîèçâåäåíèè ìàêğîïîñëåäîâàòåëüíîñòè.
    Ğàíåå êëàâèàòóğíûå ñîáûòèÿ ïğèõîäèëè òîëüêî âî âğåìÿ çàïèñè.

[+] Êîíñòàíòà FARMACRO_KEY_EVENT îïğåäåëÿåò òèï âõîäíîãî ñîîáùåíèÿ
    ñòğóêòóğû INPUT_RECORD, êîòîğîå ïåğåäàåòñÿ â ProcessEditorInput âî
    âğåìÿ èñïîëíåíèÿ ìàêğîêîìàíäû. İëåìåíò Event ñîäåğæèò ñòğóêòóğó
    KEY_EVENT_RECORD ñ èíôîğìàöèåé î ñîîáùåíèè ñ êëàâèàòóğû.

[*] ×àñòè÷íî ñíÿòî îãğàíè÷åíèå íà ïğèõîäÿùèå ïëàãèíó â ProcessEditorInput
    êëàâèøè.
    Ïëàãèíó íå ïåğåäàşòñÿ: Ctrl-W, F11, Alt-F9, F12, Ctrl-Tab,
    Ctrl-Shift-Tab, Alt-Ins è Ctrl-Alt-Shift.
    Ñëåäóşùèå ñî÷åòàíèÿ êëàâèø ïåğåäàşòñÿ ïğè óñëîâèè, ÷òî:
     Alt-F5  - ïëàãèí PrintMan íå óñòàíîâëåí;
     Alt-F11 - ğåäàêòîğ ìîäàëüíûé;
     F6      - åñòü çàïğåò íà ïåğåêëş÷åíèå â ïğîãğàììó ïğîñìîòğà
               (ïğè âûçîâå ôóíêöèè Editor íå óêàçàí ôëàã EF_ENABLE_F6).

[+] Êîìàíäà ESPT_SETWORDDIV - ïîçâîëÿåò èçìåíèòü ñòğîêó ñèìâîëîâ-ğàçäåëèòåëåé
    ñëîâ äëÿ òåêóùåé êîïèè ğåäàêòîğà.

[+] Êîìàíäà ESPT_GETWORDDIV - ïîçâîëÿåò ïîëó÷èòü ñòğîêó ñèìâîëîâ-ğàçäåëèòåëåé
    ñëîâ äëÿ òåêóùåé êîïèè ğåäàêòîğà.

[-] Ïğè âûçîâå êîìàíäû ECTL_SAVEFILE FAR íå çàïîìèíàë íîâîå èìÿ ôàéëà.

[-] Ïğè ñîõğàíåíèè ôàéëà â ğåäàêòîğå, âûçâàííîãî èç ïëàãèíà ïîğòèëñÿ
    ïîëüçîâàòåëüñêèé çàãîëîâîê, ïåğåäàííûé â ïàğàìåòğå Title ôóíêöèè
    Editor.

[!] Íîâûé ôëàã ECF_TAB1. Íà÷èíàÿ ñ build 1957 FAR ğàñêğàøèâàåò ñèìâîë òàáóëÿöèè
    íà âñş äëèíó, íà êîòîğóş ğàñøèğÿåòñÿ òàáóëÿöèÿ. Åñëè íåîáõîäèìî, ÷òîáû
    ñèìâîë òàáóëÿöèè äëÿ öâåòîâîé îáëàñòè çàíèìàë 1 çíàêîìåñòî, òî äëÿ ıëåìåíòà
    EditorColor.Color, â äîïîëíåíèè ê öâåòó, íåîáõîäèìî âûñòàâèòü ôëàã
    ECF_TAB1.

[!] ECTL_GETBOOKMARKS è ECTL_GETINFO ìîæíî âûçûâàòü â EE_CLOSE.

[-] Íåêîğğåêòíîå çíà÷åíèå EditorInfo.BlockStartLine.
    Íàïğèìåğ, åñòü äâå íåïóñòûå ñòğîêè ñ íîìåğàìè N è N+1. Êóğñîğ ñòîèò
    ïîñğåäèíå ñòğîêè N+1. Âûäåëåíèÿ íåò. Âûïîëíÿåì Shift-Left äî òåõ ïîğ, ïîêà
    êóğñîğ íå îêàæåòñÿ ïîñğåäèíå ñòğîêè N. Â ıòîò ìîìåíò
    EditorInfo.BlockStartLine ğàâíî N+1, à íå N, êàê îæèäàëîñü.


Äèàëîãè
~~~~~~~
[-] Äëÿ ïóñòîãî DI_LISTBOX ñîîáùåíèå DM_LISTSETTITLES íå âûâîäèëî çàãîëîâêè
    ñïèñêà.

[-] Äóáëèğîâàíèå êóğñîğîâ ïîñëå óäàëåíèÿ ïóíêòîâ èç ñïèñêà DI_LISTBOX â
    ñëó÷àå, åñëè êóğñîğ ñòîèò íå íà óäàëÿåìîì ıëåìåíòå.

[+] Ñîîáùåíèÿ DM_GETSELECTION è DM_SETSELECTION, ïîçâîëÿşùèå óïğàâëÿòü
    âûäåëåíèåì áëîêîâ â ñòğîêàõ ğåäàêòèğîâàíèÿ äèàëîãà.

[-] Íåêîğğåêòíîå öåíòğèğîâàíèå ıëåìåíòîâ DI_RADIOBUTTON è DI_CHECKBOX
    ñ âûñòàâëåííûì ôëàãîì DIF_CENTERGROUP.

[+] Ñîáûòèå DN_DRAWDIALOGDONE - ïğèõîäèò ïî îêîí÷àíèè îòğèñîâêè äèàëîãà.

[-] Ïğè îòñóòñòâèè â äèàëîãå ôîêóñíûõ ıëåìåíòîâ êóğñîğ íå ãàñèëñÿ.

[-] Åñëè çàãîëîâîê äèàëîãà íà÷èíàåòñÿ ñ ÷èñëà, òî ıòî ÷èñëî îòğåçàåòñÿ â
    çàãîëîâêå îêíà Ôàğà.

[-] Ñìåíà ôîêóñà (íàæàòèå êëàâèøè Tab èëè Shift-Tab) â äèàëîãå ñ åäèíñòâåííûì
    ıëåìåíòîì ïğèâîäèëà ê çàâèñàíèş FAR.

[+] Ïîëå FarDialogItem.Data äëÿ DI_LISTBOX èñïîëüçóåòñÿ êàê âåğõíèé
    çàãîëîâîê ñïèñêà (åñëè íå âûñòàâëåí ôëàã DIF_LISTNOBOX).

[+] Åñëè â äèàëîãå íåò ğàìîê (DI_SINGLEBOX, DI_DOUBLEBOX) è ıëåìåíò DI_LISTBOX
    ïåğâûé ıëåìåíò, òî â êà÷åñòâå çàãîëîâêà êîíñîëè áåğåòñÿ ñòğîêà
    çàãîëîâêà ñïèñêà (DI_LISTBOX).

[*] Ñîîáùåíèå DM_LISTSETMOUSEREACTION òåïåğü ïîçâîëÿåò áîëåå ãèáêî óïğàâëÿòü
    ñëåæåíèåì ñïèñêà çà ïåğåäâèæåíèåì êóğñîğà ìûøè (ïåğåìåùåíèå êóğñîğà â
    ñïèñêå). Ñ ïîìîùüş ıòîãî ñîîáùåíèÿ ìîæíî çàäàâàòü îäíî èç òğåõ ñîñòîÿíèé:
    1. ñïèñîê áóäåò ğåàãèğîâàòü íà äâèæåíèå ìûøè òîëüêî åñëè ıëåìåíò â ôîêóñå
    2. ñïèñîê áóäåò âñåãäà ğåàãèğîâàòü íà äâèæåíèå ìûøè
    3. ñïèñîê íå áóäåò ğåàãèğîâàòü íà äâèæåíèå ìûøè

[+] Ñîîáùåíèå DN_LISTHOTKEY. Ñîîáùàåò îáğàáîò÷èêó äèàëîãà, ÷òî ïîëüçîâàòåëü
    äëÿ ñìåíû ïóíêòà â ñïèñêå (DI_LISTBOX) âîñïîëüçîâàëñÿ ãîğÿ÷èìè êëàâèøàìè.

[-] Ïğè äâèæåíèè ìûøüş ïî ëèñòó ñîîáùåíèå DN_LISTCHANGE ïîñûëàëîñü äàæå, åñëè
    ıëåìåíò ñïèñêà íå ìåíÿëñÿ. ò.å. åñëè äâèãàòü ìûøüş â ïğåäåëàõ îäíîãî
    ıëåìåíòà, áóäóò ïîñûëàòüñÿ ìíîãî DN_LISTCHANGE ñ íîìåğîì ıòîãî ıëåìåíòà.

[!] Äîáàâëåíî îãğàíè÷åíèå, êîãäà øèğèíà è âûñîòà ıëåìåíòà äèàëîãà íå ìîæåò
    ïğåâûøàòü øèğèíó è âûñîòó äèàëîãà.

[-] Èñïîëüçîâàíèå ñîîáùåíèÿ DM_SETCURSORPOS äëÿ ñòğîê ââîäà â ïğîöåññå
    îáğàáîòêè ñîáûòèÿ DN_INITDIALOG ïğèâîäèëî òîìó, ÷òî ñòğîêà ââîäà
    ğèñîâàëàñü äî îòğèñîâêè ñàìîãî äèàëîãà.

[-] Ñîáûòèå DN_EDITCHANGE äëÿ êîìáèíèğîâàííîãî ñïèñêà ïğèõîäèëî ñ íåâåğíûì
    ID ıëåìåíòà.

[-] Íåïğàâèëüíî îòğèñîâûâàëñÿ ıëåìåíò DI_TEXT. Åñëè âûâåñòè ñòğîêó, à ïîòîì
    â îáğàáîò÷èêå äèàëîãà âûâåñòè ñòğîêó ìåíüøåãî ğàçìåğà, òî íà ıêğàíå
    îñòàâàëàñü êîíöîâêà ïğåäûäóùåãî òåêñòà.


Ïğî÷åå
~~~~~~
[-] Äëÿ íåñêîëüêî èäóùèõ ïîäğÿä âûçîâîâ ACTL_POSTKEYSEQUENCE ñğàáàòûâàë
    òîëüêî ïåğâûé.

[-] Èñïğàâëåíà îøèáêà â FSF.TruncStr, ïğèâîäÿùàÿ ê ïîğ÷å ïàìÿòè çà
    ïğåäåëàìè áóôåğà.

[+] Íîâûé ôëàã FRS_SCANSYMLINK äëÿ ôóíêöèè FarRecursiveSearch - ïğè
    îáõîäå äåğåâà êàòàëîãîâ òàêæå çàõîäèòü â ñèìâîëè÷åñêèå ñâÿçè.

[+] Êîìàíäà ACTL_GETPLUGINMAXREADDATA. Âîçâğàùàåò ìàêñèìàëüíûé ğàçìåğ
    äàííûõ, êîòîğûé FAR ìîæåò ñ÷èòûâàòü èç ôàéëà ïåğåä ïåğåäà÷åé
    óïğàâëåíèÿ ïëàãèíó â ôóíêöèş OpenFilePlugin.

[+] Êîìàíäà ACTL_GETWCHARMODE. Ôóíêöèÿ âîçâğàùàåò TRUE, åñëè FAR
    ğàáîòàåò ñ êîíñîëüş â Unicode-ğåæèìå è FALSE, åñëè â 8-áèòíîì ğåæèìå.

[!] Òåïåğü GetReparsePointInfo äëÿ ñåòåâûõ êàòàëîãîâ âîçâğàùàåò îøèáêó,
    ò.ê. êîğğåêòíóş èíôîğìàöèş î ñîäåğæèìîì ñèìâîëè÷åñêîé ñâÿçè â ıòîì
    ñëó÷àå ïîëó÷èòü íåâîçìîæíî.

[*] Ò.ê. íåêîòîğûå íàñòğîéêè ïåğåíåñåíû â äèàëîã "Íàñòğîéêà äèàëîãîâ",
    òî äîáàâëåíà êîìàíäà ACTL_GETDIALOGSETTINGS è, ñîîòâåòñòâåííî, èçìåíåíû
    çíà÷åíèÿ è íàçâàíèÿ ñëåäóşùèõ êîíñòàíò:

    FIS_PERSISTENTBLOCKSINEDITCONTROLS -> FDIS_PERSISTENTBLOCKSINEDITCONTROLS
    FIS_HISTORYINDIALOGEDITCONTROLS    -> FDIS_HISTORYINDIALOGEDITCONTROLS
    FIS_AUTOCOMPLETEININPUTLINES       -> FDIS_AUTOCOMPLETEININPUTLINES

[-] FAR âîçâğàùàë ìóñîğ â PanelInfo.SelectedItems[0] äëÿ ñëó÷àÿ, êîãäà
    íà ïàíåëè íåò âûäåëåííûõ ôàéëîâ è êóğñîğ ñòîèò íà ıëåìåíòå ".."

[*] Âñå ïåğå÷èñëåíèÿ â plugin.hpp ñäåëàíû èìåíîâàííûìè

[+] Íîâàÿ êîìàíäà MCMD_POSTMACROSTRING - ïåğåäàòü â FAR ìàêğîñ â òåêñòîâîì
    âèäå (â òîì âèäå, êàê èõ õğàíèò FAR Manager â ğååñòğå)

[*] Óòî÷íåíèå ñòğóêòóğû ActlKeyMacro: äîáàâëåí ÷ëåí Param.PlainText -
    óêàçàòåëü íà ñòğîêó, ñîäåğæàùóş ìàêğîïîñëåäîâàòåëüíîñòü.

[+] Íîâûé ôëàã KSFLAGS_NOSENDKEYSTOPLUGINS - íå ïåğåäàâàòü êëàâèøè ğåäàêòîğíûì
    ïëàãèíàì (ïëàãèíàì, ıêñïîğòèğóşùèì ôóíêöèş ProcessEditorInput)

[-] Ïğåîáğàçîâàíèå 'Key = FarNameToKey ("AltCtrlÁóêâà") -> FarKeyToName (Key)'
    ğàáîòàëî íåêîğğåêòíî (âîçâğàùàåòñÿ Alt00000, âìåñòî AltCtrlÁóêâà)

[-] FSF.FarRecursiveSearch, íå ìîæåò íàéòè ôàéë åñëè â êà÷åñòâå ìàñêè çàäàíî
    åãî êîğîòêîå èìÿ.

[-] Â .lng ôàéëå íåëüçÿ áûëî ñòàâèòü ïğîáåëû ïîñëå èäåíòèôèêàòîğà ".Language",
    íàïğèìåğ ".Language = foo".

[+] Íîâûé ôëàã FMENU_CHANGECONSOLETITLE äëÿ ôóíêöèè Menu.
    Åñëè óêàçàí, òî FAR èçìåíèò çàãîëîâîê êîíñîëè â çíà÷åíèå,
    óêàçàííîå â ïàğàìåòğå Title (åñëè Title íå ïóñò).

[+] Ëîãè÷åñêîå äîïîëíåíèå ê ÷èñëîâîé ñîğòèğîâêå:
    êîìàíäû FCTL_SETNUMERICSORT è FCTL_SETANOTHERNUMERICSORT
    ôëàã PFLAGS_NUMERICSORT (âêëş÷åí NumericSort íà ïàíåëè) ê PanelInfo.Flags

[-] Ïàäåíèå FAR, åñëè â ôóíêöèè FSF.PointToName() ïàğàìåòğ Path == NULL

[+] Êîìàíäà ACTL_GETSHORTWINDOWINFO - áåçîïàñíûé äëÿ èñïîëüçîâàíèÿ â ïîòîêàõ
    àíàëîã êîìàíäû ACTL_GETWINDOWINFO.

[-] FCTL_GET[ANOTHER]PANELSHORTINFO íàğóøàëè ïğèíöèï "íåïğèêîñíîâåííîñòè" è
    óíè÷òîæàëè äàííûå, ïîëó÷åííûå ïğåäûäóùèì âûçîâîì FCTL_GET[ANOTHER]PANELINFO

[*] Òåïåğü FE_CLOSE ïğèõîäèò íà ïàíåëü òîëüêî â ñëó÷àå, åñëè âûçîâ ôóíêöèè
    OpenPlugin íîâîãî ïëàãèíà âåğíóë hPlugin != INVALID_HANDLE_VALUE.
    Åñëè ïğåäûäóùàÿ ïàíåëü ñîîáùèò, ÷òî åå çàêğûòü íåëüçÿ - ïàíåëü íîâîãî
    ïëàãèíà áóäåò çàêğûòà âûçîâîì ClosePlugin.

[-] Ïàäåíèå FAR ïğè èñïîëüçîâàíèè FMENU_CHANGECONSOLETITLE.


Ïğîãğàììà ïğîñìîòğà
~~~~~~~~~~~~~~~~~~~
[!] Îòêğûòî îïèñàíèå API ïğîãğàììû ïğîñìîòğà.


---------------------------------------------------------------------------
FAR 1.70 beta 5 (build 1634) (08.04.2003)
---------------------------------------------------------------------------
Îáùåå
~~~~~
[!] Âòîğîé ïàğàìåòğ ó ıêñïîğòèğóåìîé ôóíêöèè SetFindList òåïåğü îáúÿâëåí
    êàê const.
[!] Èçìåíèëîñü îïèñàíèå ñòğóêòóğû OpenPluginInfo - íåêîòîğûå ÷ëåíû ñòàëè const
[!] Âî âğåìÿ âûçîâà ExitFAR ïëàãèíó íåäîñòóïíû ñëåäóşùèå ñåğâèñíûå ôóíêöèè:
    InputBox, Menu, Dialog[Ex], GetMsg, Message, Control, SaveScreen,
    RestoreScreen, GetDirList, Viewer, Editor, CharTable, Text, EditorControl,
    GetPluginDirList, ShowHelp, AdvControl (÷àñòè÷íî).
    Â AdvControl äîñòóïíû òîëüêî ñëåäóşùèå êîìàíäû:
    ACTL_GETFARVERSION, ACTL_GETSYSWORDDIV, ACTL_GETCOLOR, ACTL_GETARRAYCOLOR,
    ACTL_GETFARHWND, ACTL_GETSYSTEMSETTINGS, ACTL_GETPANELSETTINGS,
    ACTL_GETINTERFACESETTINGS, ACTL_GETCONFIRMATIONS, ACTL_GETDESCSETTINGS.
[!] Çàïğåùåíî ñîçäàíèå íåìîäàëüíîãî ğåäàêòîğà èëè ïğîãğàììû ïğîñìîòğà èç
    ìîäàëüíîãî.
[!] Çàïğåùåíî ïåğåêëş÷åíèå èç ìîäàëüíîãî â äğóãîå îêíî.
[!] Óâåëè÷åí ğàçìåğ öâåòîâîé ïà...
Zgłoś jeśli naruszono regulamin