4.44 beta

This commit is contained in:
Igor Pavlov
2007-01-20 00:00:00 +00:00
committed by Kornel Lesiński
parent 804edc5756
commit d9666cf046
1331 changed files with 10535 additions and 13791 deletions

577
CPP/7zip/UI/Far/FarPlugin.h Executable file
View File

@@ -0,0 +1,577 @@
// FarPlugin.h
#ifndef __FARPLUGIN_H
#define __FARPLUGIN_H
#if defined(__BORLANDC__) && (__BORLANDC <= 0x520)
#pragma option -a1
#elif defined(__GNUC__) || (defined(__WATCOMC__) && (__WATCOMC__ < 1100))
#pragma pack(1)
#else
#pragma pack(push,1)
#if _MSC_VER
#define _export
#endif
#endif
#define NM 260
struct FarFindData
{
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
char cFileName[ MAX_PATH ];
char cAlternateFileName[ 14 ];
};
struct PluginPanelItem
{
FarFindData FindData;
DWORD PackSizeHigh;
DWORD PackSize;
DWORD Flags;
DWORD NumberOfLinks;
char *Description;
char *Owner;
char **CustomColumnData;
int CustomColumnNumber;
DWORD UserData;
DWORD Reserved[3];
};
#define PPIF_PROCESSDESCR 0x80000000
#define PPIF_SELECTED 0x40000000
#define PPIF_USERDATA 0x20000000
enum {
FMENU_SHOWAMPERSAND=1,
FMENU_WRAPMODE=2,
FMENU_AUTOHIGHLIGHT=4,
FMENU_REVERSEAUTOHIGHLIGHT=8
};
typedef int (WINAPI *FARAPIMENU)(
int PluginNumber,
int X,
int Y,
int MaxHeight,
unsigned int Flags,
char *Title,
char *Bottom,
char *HelpTopic,
int *BreakKeys,
int *BreakCode,
struct FarMenuItem *Item,
int ItemsNumber
);
typedef int (WINAPI *FARAPIDIALOG)(
int PluginNumber,
int X1,
int Y1,
int X2,
int Y2,
char *HelpTopic,
struct FarDialogItem *Item,
int ItemsNumber
);
enum {
FMSG_WARNING=1,
FMSG_ERRORTYPE=2,
FMSG_KEEPBACKGROUND=4,
FMSG_DOWN=8,
FMSG_LEFTALIGN=16
};
typedef int (WINAPI *FARAPIMESSAGE)(
int PluginNumber,
unsigned int Flags,
char *HelpTopic,
char **Items,
int ItemsNumber,
int ButtonsNumber
);
typedef char* (WINAPI *FARAPIGETMSG)(
int PluginNumber,
int MsgId
);
enum DialogItemTypes {
DI_TEXT,
DI_VTEXT,
DI_SINGLEBOX,
DI_DOUBLEBOX,
DI_EDIT,
DI_PSWEDIT,
DI_FIXEDIT,
DI_BUTTON,
DI_CHECKBOX,
DI_RADIOBUTTON
};
enum FarDialogItemFlags {
DIF_COLORMASK = 0xff,
DIF_SETCOLOR = 0x100,
DIF_BOXCOLOR = 0x200,
DIF_GROUP = 0x400,
DIF_LEFTTEXT = 0x800,
DIF_MOVESELECT = 0x1000,
DIF_SHOWAMPERSAND = 0x2000,
DIF_CENTERGROUP = 0x4000,
DIF_NOBRACKETS = 0x8000,
DIF_SEPARATOR = 0x10000,
DIF_EDITOR = 0x20000,
DIF_HISTORY = 0x40000
};
struct FarDialogItem
{
int Type;
int X1,Y1,X2,Y2;
int Focus;
union
{
int Selected;
const char *History;
const char *Mask;
struct FarList *ListItems;
int ListPos;
CHAR_INFO *VBuf;
};
unsigned int Flags;
int DefaultButton;
char Data[512];
};
struct FarMenuItem
{
char Text[128];
int Selected;
int Checked;
int Separator;
};
enum {FCTL_CLOSEPLUGIN,FCTL_GETPANELINFO,FCTL_GETANOTHERPANELINFO,
FCTL_UPDATEPANEL,FCTL_UPDATEANOTHERPANEL,
FCTL_REDRAWPANEL,FCTL_REDRAWANOTHERPANEL,
FCTL_SETANOTHERPANELDIR,FCTL_GETCMDLINE,FCTL_SETCMDLINE,
FCTL_SETSELECTION,FCTL_SETANOTHERSELECTION,
FCTL_SETVIEWMODE,FCTL_SETANOTHERVIEWMODE,FCTL_INSERTCMDLINE,
FCTL_SETUSERSCREEN,FCTL_SETPANELDIR,FCTL_SETCMDLINEPOS,
FCTL_GETCMDLINEPOS
};
enum {PTYPE_FILEPANEL,PTYPE_TREEPANEL,PTYPE_QVIEWPANEL,PTYPE_INFOPANEL};
struct PanelInfo
{
int PanelType;
int Plugin;
RECT PanelRect;
struct PluginPanelItem *PanelItems;
int ItemsNumber;
struct PluginPanelItem *SelectedItems;
int SelectedItemsNumber;
int CurrentItem;
int TopPanelItem;
int Visible;
int Focus;
int ViewMode;
char ColumnTypes[80];
char ColumnWidths[80];
char CurDir[NM];
int ShortNames;
int SortMode;
DWORD Reserved[2];
};
struct PanelRedrawInfo
{
int CurrentItem;
int TopPanelItem;
};
typedef int (WINAPI *FARAPICONTROL)(
HANDLE hPlugin,
int Command,
void *Param
);
typedef HANDLE (WINAPI *FARAPISAVESCREEN)(int X1,int Y1,int X2,int Y2);
typedef void (WINAPI *FARAPIRESTORESCREEN)(HANDLE hScreen);
typedef int (WINAPI *FARAPIGETDIRLIST)(
char *Dir,
struct PluginPanelItem **pPanelItem,
int *pItemsNumber
);
typedef int (WINAPI *FARAPIGETPLUGINDIRLIST)(
int PluginNumber,
HANDLE hPlugin,
char *Dir,
struct PluginPanelItem **pPanelItem,
int *pItemsNumber
);
typedef void (WINAPI *FARAPIFREEDIRLIST)(struct PluginPanelItem *PanelItem);
enum VIEWER_FLAGS {
VF_NONMODAL=1,VF_DELETEONCLOSE=2
};
typedef int (WINAPI *FARAPIVIEWER)(
char *FileName,
char *Title,
int X1,
int Y1,
int X2,
int Y2,
DWORD Flags
);
typedef int (WINAPI *FARAPIEDITOR)(
char *FileName,
char *Title,
int X1,
int Y1,
int X2,
int Y2,
DWORD Flags,
int StartLine,
int StartChar
);
typedef int (WINAPI *FARAPICMPNAME)(
char *Pattern,
char *String,
int SkipPath
);
#define FCT_DETECT 0x40000000
struct CharTableSet
{
char DecodeTable[256];
char EncodeTable[256];
char UpperTable[256];
char LowerTable[256];
char TableName[128];
};
typedef int (WINAPI *FARAPICHARTABLE)(
int Command,
char *Buffer,
int BufferSize
);
typedef void (WINAPI *FARAPITEXT)(
int X,
int Y,
int Color,
char *Str
);
typedef int (WINAPI *FARAPIEDITORCONTROL)(
int Command,
void *Param
);
enum EDITOR_EVENTS {
EE_READ,EE_SAVE,EE_REDRAW,EE_CLOSE
};
enum EDITOR_CONTROL_COMMANDS {
ECTL_GETSTRING,ECTL_SETSTRING,ECTL_INSERTSTRING,ECTL_DELETESTRING,
ECTL_DELETECHAR,ECTL_INSERTTEXT,ECTL_GETINFO,ECTL_SETPOSITION,
ECTL_SELECT,ECTL_REDRAW,ECTL_EDITORTOOEM,ECTL_OEMTOEDITOR,
ECTL_TABTOREAL,ECTL_REALTOTAB,ECTL_EXPANDTABS,ECTL_SETTITLE,
ECTL_READINPUT,ECTL_PROCESSINPUT,ECTL_ADDCOLOR,ECTL_GETCOLOR
};
struct EditorGetString
{
int StringNumber;
char *StringText;
char *StringEOL;
int StringLength;
int SelStart;
int SelEnd;
};
struct EditorSetString
{
int StringNumber;
char *StringText;
char *StringEOL;
int StringLength;
};
enum EDITOR_OPTIONS {
EOPT_EXPANDTABS=1,EOPT_PERSISTENTBLOCKS=2,EOPT_DELREMOVESBLOCKS=4,
EOPT_AUTOINDENT=8,EOPT_SAVEFILEPOSITION=16,EOPT_AUTODETECTTABLE=32,
EOPT_CURSORBEYONDEOL=64
};
enum EDITOR_BLOCK_TYPES {
BTYPE_NONE,BTYPE_STREAM,BTYPE_COLUMN
};
struct EditorInfo
{
int EditorID;
char *FileName;
int WindowSizeX;
int WindowSizeY;
int TotalLines;
int CurLine;
int CurPos;
int CurTabPos;
int TopScreenLine;
int LeftPos;
int Overtype;
int BlockType;
int BlockStartLine;
int AnsiMode;
int TableNum;
DWORD Options;
int TabSize;
DWORD Reserved[8];
};
struct EditorSetPosition
{
int CurLine;
int CurPos;
int CurTabPos;
int TopScreenLine;
int LeftPos;
int Overtype;
};
struct EditorSelect
{
int BlockType;
int BlockStartLine;
int BlockStartPos;
int BlockWidth;
int BlockHeight;
};
struct EditorConvertText
{
char *Text;
int TextLength;
};
struct EditorConvertPos
{
int StringNumber;
int SrcPos;
int DestPos;
};
struct EditorColor
{
int StringNumber;
int ColorItem;
int StartPos;
int EndPos;
int Color;
};
struct PluginStartupInfo
{
int StructSize;
char ModuleName[NM];
int ModuleNumber;
char *RootKey;
FARAPIMENU Menu;
FARAPIDIALOG Dialog;
FARAPIMESSAGE Message;
FARAPIGETMSG GetMsg;
FARAPICONTROL Control;
FARAPISAVESCREEN SaveScreen;
FARAPIRESTORESCREEN RestoreScreen;
FARAPIGETDIRLIST GetDirList;
FARAPIGETPLUGINDIRLIST GetPluginDirList;
FARAPIFREEDIRLIST FreeDirList;
FARAPIVIEWER Viewer;
FARAPIEDITOR Editor;
FARAPICMPNAME CmpName;
FARAPICHARTABLE CharTable;
FARAPITEXT Text;
FARAPIEDITORCONTROL EditorControl;
};
enum PLUGIN_FLAGS {
PF_PRELOAD = 0x0001,
PF_DISABLEPANELS = 0x0002,
PF_EDITOR = 0x0004,
PF_VIEWER = 0x0008
};
struct PluginInfo
{
int StructSize;
DWORD Flags;
char **DiskMenuStrings;
int *DiskMenuNumbers;
int DiskMenuStringsNumber;
char **PluginMenuStrings;
int PluginMenuStringsNumber;
char **PluginConfigStrings;
int PluginConfigStringsNumber;
char *CommandPrefix;
};
struct InfoPanelLine
{
char Text[80];
char Data[80];
int Separator;
};
struct PanelMode
{
char *ColumnTypes;
char *ColumnWidths;
char **ColumnTitles;
int FullScreen;
int DetailedStatus;
int AlignExtensions;
int CaseConversion;
char *StatusColumnTypes;
char *StatusColumnWidths;
DWORD Reserved[2];
};
enum OPENPLUGININFO_FLAGS {
OPIF_USEFILTER = 0x0001,
OPIF_USESORTGROUPS = 0x0002,
OPIF_USEHIGHLIGHTING = 0x0004,
OPIF_ADDDOTS = 0x0008,
OPIF_RAWSELECTION = 0x0010,
OPIF_REALNAMES = 0x0020,
OPIF_SHOWNAMESONLY = 0x0040,
OPIF_SHOWRIGHTALIGNNAMES = 0x0080,
OPIF_SHOWPRESERVECASE = 0x0100,
OPIF_FINDFOLDERS = 0x0200,
OPIF_COMPAREFATTIME = 0x0400,
OPIF_EXTERNALGET = 0x0800,
OPIF_EXTERNALPUT = 0x1000,
OPIF_EXTERNALDELETE = 0x2000,
OPIF_EXTERNALMKDIR = 0x4000,
OPIF_USEATTRHIGHLIGHTING = 0x8000
};
enum OPENPLUGININFO_SORTMODES {
SM_DEFAULT,SM_UNSORTED,SM_NAME,SM_EXT,SM_MTIME,SM_CTIME,
SM_ATIME,SM_SIZE,SM_DESCR,SM_OWNER,SM_COMPRESSEDSIZE,SM_NUMLINKS
};
struct KeyBarTitles
{
char *Titles[12];
char *CtrlTitles[12];
char *AltTitles[12];
char *ShiftTitles[12];
};
struct OpenPluginInfo
{
int StructSize;
DWORD Flags;
char *HostFile;
char *CurDir;
char *Format;
char *PanelTitle;
struct InfoPanelLine *InfoLines;
int InfoLinesNumber;
char **DescrFiles;
int DescrFilesNumber;
struct PanelMode *PanelModesArray;
int PanelModesNumber;
int StartPanelMode;
int StartSortMode;
int StartSortOrder;
struct KeyBarTitles *KeyBar;
char *ShortcutData;
};
enum {
OPEN_DISKMENU,
OPEN_PLUGINSMENU,
OPEN_FINDLIST,
OPEN_SHORTCUT,
OPEN_COMMANDLINE,
OPEN_EDITOR,
OPEN_VIEWER
};
enum {PKF_CONTROL=1,PKF_ALT=2,PKF_SHIFT=4};
enum FAR_EVENTS {
FE_CHANGEVIEWMODE,
FE_REDRAW,
FE_IDLE,
FE_CLOSE,
FE_BREAK,
FE_COMMAND
};
enum OPERATION_MODES {
OPM_SILENT=1,
OPM_FIND=2,
OPM_VIEW=4,
OPM_EDIT=8,
OPM_TOPLEVEL=16,
OPM_DESCR=32
};
#if defined(__BORLANDC__) && (__BORLANDC <= 0x520)
#pragma option -a.
#elif defined(__GNUC__) || (defined(__WATCOMC__) && (__WATCOMC__ < 1100))
#pragma pack()
#else
#pragma pack(pop)
#endif
#endif