
                        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.
[!]        
    .
[!]       .
[!]     FAR Manager.  , 
      DI_LISTBOX  DI_COMBOBOX.
[!]  CONSOLE_*   FAR_CONSOLE_* (  
     WinCon.h)
[+]    VF_IMMEDIATERETURN  EF_IMMEDIATERETURN, 
           /
    .  /    
       .     
     /  .
[+] VF_DELETEONLYFILEONCLOSE  EF_DELETEONLYFILEONCLOSE - 
    VF_DELETEONCLOSE  EF_DELETEONCLOSE,    ,  ,
     ,  ,    .
[*]   GCCReadme.txt
[-]  ,     CharTable(), 
     ,      Shift-F8.
[-] FAR       "" (Ctrl-L).
[*]         
      ( X1,Y1,X2,Y2  Editor  Viewer)


~~~~~~~~
[+] ESPT_LOCKMODE -   /  
      .
[+] ECTL_TURNOFFMARKINGBLOCK -   , 
        ,   
     .
[+]   ECTL_DELETEBLOCK -    .
[-]    ECTL_SETSTRING,  
    EditorSetString.StringLength   .


~~~~~~~
[!]  COL_DIALOGMENU*   COL_DIALOGLIST*
[!]   DN_CTLCOLORDLGLIST.  Param1  
       ( DI_LISTBOX, DI_COMBOBOX  
     c  ). Param2 -    FarListColors,
       .
[+]   LIF_DELETEUSERDATA,   FAR 
          
    DM_LISTUPDATE.       .
[+]   DIF_CENTERTEXT    DI_TEXT  DI_VTEXT.
[+]     DialogEx:
    FDLG_NODRAWSHADOW -    
    FDLG_NODRAWPANEL -    
[+]    DI_LISTBOX  
    COL_DIALOGLISTTITLE.
[*]      (DM_LISTUPDATE):
       (DM_LISTSETDATA)  
      .
[*] DM_SETTEXT (DM_SETTEXTPTR)    DI_LISTBOX. 
       .  
     (DM_LISTSETDATA)    .
[*]   DI_SINGLEBOX (DI_DOUBLEBOX)  X1==X2  Y1==Y2, 
       (  )
[*]   DI_SINGLEBOX (DI_DOUBLEBOX)   DIF_SETCOLOR, 
         .
[*]    FDLG_SMALLDIALOG    .
[*]      COL_DIALOGLISTDISABLED - - 
    -.
[-]    DI_LISTBOX   DIF_LISTNOBOX
[-]   DI_LISTBOX    .
[-]       DI_LISTBOX  
     .
[-]        DI_EDIT 
      DIF_SELECTONENTRY.
[-]     .
[-]     (DM_SETCHECK)
        (DI_RADIOBUTTON).
[-]         .
[-] DM_LISTADDSTR     
      .
[-]        
    DM_LISTSETCURPOS  FarListPos.TopPos  -1.
[-] Ctrl-Ins      UnChanged.
[-]    DI_LISTBOX   DIF_LISTNOBOX 
     1 .


~~~~~~
[+] FIB_NOAMPERSAND -   InputBox() -    
     ,      .
[+]   PutFiles    2 (,
          ).
[+] FCTL_GETPANELSHORTINFO
     FCTL_GETPANELINFO,   PanelItems  SelectedItems 
    PanelInfo     NULL.    
             
    .
[+] FCTL_GETANOTHERPANELSHORTINFO
     FCTL_GETPANELSHORTINFO,     
    .
[+]   FCTL_CHECKPANELSEXIST.  
     .  ,  FAR    /e 
    /v (      ),
      .
[+]  FSF.MkLink   ,   
     FLINK_DONOTUPDATEPANEL.
[-]  FSF.MkLink      ,
            .
[+]   ACTL_SETARRAYCOLOR,   
     FAR Manager.
[*]   ,      Owner, 
           
    PluginPanelItem.   Owner , ,   ,  
    Owner  NULL.
[-]        , 
             
         (     
     ).
[-]  Message(FMSG_ALLINONE,"\nFoobar")    FAR
    (  '\n'      )
[-]     ( Title)
      Message.
[-]  FSF.ConvertNameToReal     .


---------------------------------------------------------------------------
FAR 1.70 beta 4 (build 1282) (13.03.2002)
---------------------------------------------------------------------------

~~~~~
[!]  FARMANAGERVERSION   GetMinFarVersion() 
      MAKEFARVERSION
[!]    FarDialogItem  ,
     plugin.hpp     pure C .
[!]    FarFindData  , 
          
     .
[!]    CharTableSet  TableName   unsigned char.
[!]    13    Message.
[!]  HelpTopic  ,     :
     1. ":Topic"
           (by FAR)
     2. "Topic"
          
     3. "<FullModuleName>Topic"
            ,    "FullModuleName"
     4. "<FullPath>Topic"
             "FullPath"
         "FullPath"     '\'
        3  4  Topic  ,  
      "Contents"
[+]  HLF-    ,   
       ".Options TabSize=". ""  
     1  16,   - 8.
[+]   ""    - KEY_MSWHEEL_UP/KEY_MSWHEEL_DOWN.
[+]   COL_MENUDISABLEDTEXT -   .
[+] FMENU_USEEXT, MIF_*, FarMenuItemEx - "" .


~~~~~~
[!]    PanelInfo -  Flags.   
    PANELINFOFLAGS.
[+]     PluginPanelItem - CRC32.
[+] FCTL_GETCMDLINESELECTION, FCTL_SETCMDLINESELECTION,
    FCTL_GETCMDLINESELECTEDTEXT
[*] GetPluginDirList():   hPlugin  INVALID_HANDLE_VALUE,
       PluginNumber  ( 
    ,    ).
[-]  ProcessHostFile    OPM_TOPLEVEL   ,
       ( Shift-F3     ).
[-]    GetFiles()    DestPath 
     ,    .   :
    "  some.foo.rar   some\"


~~~~~~~~
[!] EditorGetString.StringText  EditorGetString.EditorGetString.StringEOL
      const.
[+]   VF_ENABLE_F6 (  Viewer)  EF_ENABLE_F6 ( 
    Editor),    F6     ,
        .
[+] ECTL_GETBOOKMARKS, struct EditorBookMarks -    
     (EditorInfo.BookMarkCount -  , 
    ).
[+]     EditorControl/ECTL_SETPARAM  
      .
[+] EditorInfo.CurState -   ( -ECSTATE_*)
[+]  EF_DELETEONCLOSE.  VF_DELETEONCLOSE.
[+]  EF_DISABLEHISTORY   Editor -  
         (Alt-F11).   
      .
[*]        EE_READ .
[*] ECTL_READINPUT:       
      INPUT_RECORD.
[!]   Viewer()  FALSE      
    ,       VF_NONMODAL.
[-]    ECTL_QUIT


~~~~~~~
[!]       DN_BTNCLICK 
     DI_BUTTON.  :
       DI_BUTTON:
        TRUE  -  ,    
                  .
        FALSE -   .
        :
        TRUE  -   (   ,
                  )
        FALSE -  .
[!]   LIF_PTRDATA -     ( 
     FarListItem)
[!] FarListItem   128 + DWORD Reserved [3]
[!]  DIF_CENTERGROUP      :
    DI_BUTTON, DI_CHECKBOX, DI_RADIOBUTTON  DI_TEXT.
[!] DM_GETTEXTLENGTH      '\0'
[+]       (DI_LISTBOX  DI_COMBOBOX) -
    DM_LISTSORT, DM_LISTGET, DM_LISTGETCURPOS, DM_LISTSETCURPOS, DM_LISTDELETE,
    DM_LISTADD, DM_LISTUPDATE, DM_LISTINFO, DM_LISTFINDSTRING, DM_LISTINSERT
    DM_LISTSETTITLES, DM_LISTGETTITLES
       .
[+] DM_RESIZEDIALOG -   .
[+] DM_GETCHECK/DM_SETCHECK/DM_SET3STATE/BSTATE_* -   
     DI_RADIOBUTTON/DI_CHECKBOX
[+] DM_EDITUNCHANGEDFLAG -    "
    "   .
[+]   DN_MOUSEEVENT   .  
     (DN_MOUSEEVENT/DM_SETMOUSEEVENTNOTIFY)
[+] DM_GETITEMPOSITION, DM_SETITEMPOSITION -    
       .
[+] DM_SETCURSORSIZE, DM_GETCURSORSIZE -    
       
[+] DM_GETDROPDOWNOPENED, DM_SETDROPDOWNOPENED -  
       -   .
[+] DM_SETHISTORY -     ,
       .
[+] DN_DRAGGED -     .
[+] DN_RESIZECONSOLE -   " 
    ".
[+] DIF_SEPARATOR2 -   
[+]    DIF_LISTWRAPMODE,    
              
           .
[+]   DialogEx:
    FDLG_WARNING -      "".
    FDLG_SMALLDIALOG -      
    .       , ,   
      (DIF_SEPARATOR)    
          .
[*] DIF_SHOWAMPERSAND    DI_BUTTON, DI_CHECKBOX,
    DI_RADIOBUTTON
[*]       
    DN_MOUSECLICK   . ,    
      DN_MOUSECLICK  Param1=-1,    .
[*]  DI_LISTBOX    DIF_LISTNOBOX    
    LINFO_SHOWNOBOX      
    ,     DI_LISTBOX 
    ,         
    .
[-]           
     DN_EDITCHANGE.
[-]    DM_SETTEXTLENGTH.
[-]   DI_USERCONTROL    .
[-]   FAR Manager,    
     DM_SETFOCUS     DN_GOTFOCUS.
[-]    DIF_READONLY.
[-]     DI_TEXT  DI_VTEXT.
[-]    ,   DIF_NOFOCUS.


~~~~~~
[!]   FSF.MkTemp:
    - ,    FAR 1.70 beta 3,    
       ,   .
    -      
[!]  FSF.ExpandEnvironmentStr    OEM-.
[+] ACTL_GETWINDOWCOUNT,ACTL_GETWINDOWINFO,ACTL_SETCURRENTWINDOW  ACTL_COMMIT,
    struct WindowInfo -  "" FAR Manager
[+] ACTL_POSTKEYSEQUENCE -    
      ( FAR Manager  )
[+] ACTL_GETFARHWND -  HWND   .
[+] ACTL_GET*SETTINGS - ,    
     FAR Manager.
[+]   EJECT_LOAD_MEDIA  ACTL_EJECTMEDIA.
[+]  FSF- MkLink.   ,  
        .
[+]  FSF.ConvertNameToReal()    
           (.. reparse point 
    Windows 2000)   .
[+]   FSF.GetReparsePointInfo()
           
      -     /.
        Windows 2000  .
       ConvertNameToReal,    .
[*]  Unquote      .
[*]  FarRecursiveSearch:
    1.   .
    2.        .
    3.       ( ,
         .).     , 
           ,    ,
           .
[*] FSF.FarInputRecordToKey:    "const".
[-]  GetMinFarVersion()      
    PF_PRELOAD,    ,   .

[-]         
    BreakKeys,    Menu.

---------------------------------------------------------------------------
FAR 1.70 beta 3 (build 591) (19.04.2001)
---------------------------------------------------------------------------
[!] Plugins.hlp -     .
[!]  plugin.hpp       
        "const".  
    1)     , 
         ,    ;
    2)    (  ,   
       )      
        ,     .
           
    .
[+] DIF_VAREDIT - "   512 " -   
    DI_EDIT  DI_COMBOBOX
[!]   FarListItem (   " ")
[+]   LIF_PTRDATA -    " ".  
         DI_COMBOBOX.
[!]   LISTITEMFLAGS (LIF_*) -   LIF_SELECTED,
    LIF_CHECKED  LIF_SEPARATOR      ,
    LIF_DISABLE  "".
[!]     FarDialogItemData.
[+]   DN_MOUSECLICK     DOUBLE_CLICK.
    (MouseEvent.dwEventFlags==DOUBLE_CLICK)
[!]      (farkeys.hpp).
[+] ACTL_EJECTMEDIA -     .
[+] DM_GETTEXTPTR -  DM_GETTEXT,     Param2
        
[+] DM_SETTEXTPTR -  DM_SETTEXT,     Param2
        
[!] Ctrl-Break .    ,
      ,      DM_CLOSE.
[+]  DIF_SHOWAMPERSAND    DI_SINGLEBOX  DI_DOUBLEBOX
[-]   ECTL_SETKEYBAR    EE_READ  
     FAR Manager.
[+] ACTL_KEYMACRO:
    struct ActlKeyMacro -    ACTL_KEYMACRO
    MCMD_LOADALL     -       FAR`
    MCMD_SAVEALL     -     FAR`  
[-]   DM_SETDLGITEM    .
[+] DIF_HIDDEN -   
[+] DM_SHOWITEM / 
[!]    Message ( . Plugins.hlp).
[-]    EE_REDRAW   Ctrl-P, Ctrl-M 
    .
[*]  ""   DefDlgProc, ..  
       2   DN_DRAWDIALOG - Param1 = 1 -
          " "
[*]  -    DN_DRAWDIALOG  FALSE,
         .
[*]  -    DN_DRAWDLGITEM  FALSE,
         
[+] FSF.qsortex -    FSF.qsort  3-  
     .
    void qsortex(void *base, size_t nelem, size_t width,
           int (__cdecl *fcmp)(void *, void *,void *userparam),
           void *userparam);
[+]     Editor EF_CREATENEW -  Shift-F4.
[!] FSF.FarRecursiveSearch -   void *param
[+] FAR "" 4    HLF-:
    Contents -   ;
    Config   - ,   Shift-F1    ;
    Editor   - ,   Shift-F1     ;
    Viewer   - ,   Shift-F1     
               .
[+]     ShowHelp FHELP_USECONTENTS -   
     ,    "Contents".
[*] ACTL_GETFARVERSION   ,   TRUE/FALSE.  
     Param   NULL.
[*] ACTL_WAITKEY   ,     Param 
    NULL  -1.
[+] ECTL_SETPARAM -  :
    - " " (ESPT_TABSIZE)
    - "  " (ESPT_EXPANDTABS)
    - "" (ESPT_AUTOINDENT)
    - "   " (ESPT_CURSORBEYONDEOL)
    -      (ESPT_CHARCODEBASE)
[-]     read-only    
       , ,  
    ,   EE_CLOSE,     .
    .
[+]  DM_ADDHISTORY -    .
[+]  DIF_MANUALADDHISTORY -      .

---------------------------------------------------------------------------
FAR 1.70 beta 2 (build 321) (16.12.2000)
---------------------------------------------------------------------------
[!] Plugins.hlp -     .
[!]   Param2   DM_SETTEXT & DM_GETTEXT.
          FarDialogItemData.
[-]     ,   419 ()
[-]    DISABLED    .
[+] 6   DISABLED  (   )
    . Headers.c\farcolor.hpp ( Headers.pas\farcolor.pas)
[+] DIF_3STATE - 3-  CheckBox (=1/=0/=2)
[!]  DI_PSWEDIT  DI_FIXEDIT    DIF_EDITEXPAND.
[+] ACTL_GETCOLOR, ACTL_GETARRAYCOLOR -    .
[-]     Enter   .
[!]  AddEndSlash     ,  
          ,  
    .
[*]   FarDialogItem.Data   
         memmove()
    (  )
[!]    -  plugin.hpp::FARMANAGERVERSION 
     :
       HIWORD:         = NNN - # build
       LOWORD:  HIBYTE =   1 - version Hi
                LOBYTE =  70 - version Lo


---------------------------------------------------------------------------
FAR 1.70 beta 1 (272) (21.11.2000)
---------------------------------------------------------------------------
[!] /  :
       farcolor.hpp  -   
       farkeys.hpp   -    FAR Manager
       fmt.hpp       -   MultiArc
[!]  = 2.
[+] " " -     - 
    FarStandardFunctions
[+]     - GetMinFarVersion().
[+] URL-     HLF-.
[+]   :
    AdvControl, ShowHelp, InputBox
[!]    ,   ":"
          - PF_FULLCMDLINE
[+]  FCTL_*SORTMODE, FCTL_*SORTORDER
[!]    PluginStartupInfo
[*]   EE_REDRAW.
[+]     KeyBarTitles:
    CtrlShiftTitles, AltShiftTitles,  CtrlAltTitles
[+]   -  EF_NONMODAL
[+]   KeyBar   - ECTL_SETKEYBAR
[+] Dialog API 1.0 -     :
      DialogEx, SendDlgMessage, DefDlgProc
[+]    DI_COMBOBOX, DI_LISTBOX, DI_USERCONTROL
[+] DIF_EDITEXPAND, DIF_DROPDOWNLIST, DIF_USELASTHISTORY, DIF_BTNNOCLOSE,
    DIF_MASKEDIT, DIF_DISABLE
[+]       
     .
[+]     PluginInfo
[+] : FarListItem, FarList
[+]   Pascal/Delphi


                                     [ FAR manager development group ]
