TPluginStartupInfo
The PluginStartupInfo stucture for Delphi:
TPluginStartupInfo = packed record StructSize: Integer; ModuleName: array[0..Pred(NM)] of char; ModuleNumber: integer; RootKey: PChar; Menu: TFarApiMenu; Dialog: TFarApiDialog; Message: TFarApiMessage; GetMsg: TFarApiGetMsg; Control: TFarApiControl; SaveScreen: TFarApiSaveScreen; RestoreScreen: TFarApiRestoreScreen; GetDirList: TFarApiGetDirList; GetPluginDirList: TFarApiGetPluginDirList; FreeDirList: TFarApiFreeDirList; Viewer: TFarApiViewer; Editor: TFarApiEditor; CmpName: TFarApiCmpName; CharTable: TFarApiCharTable; Text: TFarApiText; EditorControl: TFarApiEditorControl; FSF: PFarStandardFunctions; ShowHelp: TFarApiShowHelp; AdvControl: TFarApiAdvControl; InputBox: TFarApiInputBox; DialogEx: TFarApiDialogEx; SendDlgMessage: TFarApiSendDlgMessage; DefDlgProc: TFarApiDefDlgProc; Reserved1: DWORD; Reserved2: DWORD; end; PPluginStartupInfo = ^TPluginStartupInfo;
Where:
TFarApiMenu = function( PluginNumber: integer; X, Y: integer; MaxHeight: integer; Flags: DWORD; Title: PChar; Bottom: PChar; HelpTopic: PChar; BreakKeys: PIntArr; BreakCode: PIntArr; Items: PFarMenuItemArr; ItemsNumber: integer): integer; stdcall; TFarApiDialog = function( PluginNumber: integer; X1, Y1: integer; X2, Y2: integer; HelpTopic: PChar; Items: PFarDialogItemArr; ItemsNumber: integer): integer; stdcall; TFarApiMessage = function( PluginNumber: integer; Flags: DWORD; HelpTopic: PChar; Items: PPCharArr; ItemsNumber: integer; ButtonsNumber: integer): integer; stdcall; TFarApiGetMsg = function( PluginNumber: integer; MsgId: integer): PChar; stdcall; TFarApiControl = function( hPlugin: THandle; Command: integer; Param: pointer): integer; stdcall; TFarApiSaveScreen = function( X1, Y1: integer; X2, Y2: integer): THandle; stdcall; TFarApiRestoreScreen = procedure( hScreen: THandle); stdcall; TFarApiGetDirList = function( Dir: PChar; var PanelItems: PPluginPanelItemArr; var ItemsNumber: integer): integer; stdcall; TFarApiGetPluginDirList = function( PluginNumber: integer; hPlugin: THandle; Dir: PChar; var PanelItems: PPluginPanelItemArr; var ItemsNumber: integer): integer; stdcall; TFarApiFreeDirList = procedure( PanelItems: PPluginPanelItemArr); stdcall; TFarApiViewer = function( FileName: PChar; Title: PChar; X1, Y1: integer; X2, Y2: integer; Flags: DWORD): integer; stdcall; TFarApiEditor = function( FileName: PChar; Title: PChar; X1, Y1: integer; X2, Y2: integer; Flags: DWORD; StartLine: integer; StartChar: integer): integer; stdcall; TFarApiCmpName = function( Pattern: PChar; FileName: PChar; SkipPath: integer): integer; stdcall; TFarApiCharTable = function( Command: integer; Buffer: PChar; BufferSize: integer): integer; stdcall; TFarApiText = procedure( X, Y: integer; Color: integer; Str: PChar); stdcall; TFarApiEditorControl = function( Command: integer; Param: pointer): integer; stdcall; TFarApiAdvControl = function( ModuleNumber: integer; Command: integer; Param: pointer): integer; stdcall; TFarApiDialogEx = function( PluginNumber: integer; X1, Y1: integer; X2, Y2: integer; HelpTopic: PChar; Items: PFarDialogItemArr; ItemsNumber: integer; Reserved: DWORD; Flags: DWORD; DlgProc: TFarApiWndProc; Param: integer): integer; stdcall; TFarApiSendDlgMessage = function( hDlg: THandle; Msg: integer; Param1: integer; Param2: integer): integer; stdcall; TFarApiDefDlgProc = function( hDlg: THandle; Msg: integer; Param1: integer; Param2: integer): integer; stdcall; TFarApiInputBox = function( Title: PChar; SubTitle: PChar; HistoryName: PChar; SrcText: PChar; DstText: PChar; DstLength: integer; HelpTopic: PChar; Flags: DWORD): integer; stdcall; TFarApiShowHelp = function( ModuleName: PChar; HelpTopic: PChar; Flags: DWORD): BOOL; stdcall;