mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-07 01:15:00 -06:00
4.44 beta
This commit is contained in:
committed by
Kornel Lesiński
parent
804edc5756
commit
d9666cf046
577
CPP/7zip/UI/Far/FarPlugin.h
Executable file
577
CPP/7zip/UI/Far/FarPlugin.h
Executable 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
|
||||
Reference in New Issue
Block a user