Модуль OV Справочный лист

Импортирует

TermBox, StrList

Постоянные

Oberon Vision

center = 1;
dblClickDelay = 500;
disabled = 1;
hAlt0 = 200H + T.k0;
hAlt1 = 200H + T.k1;
hAlt2 = 200H + T.k2;
hAlt3 = 200H + T.k3;
hAlt4 = 200H + T.k4;
hAlt5 = 200H + T.k5;
hAlt6 = 200H + T.k6;
hAlt7 = 200H + T.k7;
hAlt8 = 200H + T.k8;
hAlt9 = 200H + T.k9;
hAltA = 200H + T.kA;
hAltB = 200H + T.kB;
hAltBackslash = 200H + T.kBackslash;
hAltBackspace = 200H + T.kBackspace;
hAltC = 200H + T.kC;
hAltColon = 200H + T.kColon;
hAltComma = 200H + T.kComma;
hAltD = 200H + T.kD;
hAltDel = 200H + T.kDel;
hAltDown = 200H + T.kDown;
hAltE = 200H + T.kE;
hAltEnd = 200H + T.kEnd;
hAltEnter = 200H + T.kEnter;
hAltEquals = 200H + T.kEquals;
hAltEsc = 200H + T.kEsc;
hAltF = 200H + T.kF;
hAltF1 = 200H + T.kF1;
hAltF10 = 200H + T.kF10;
hAltF11 = 200H + T.kF11;
hAltF12 = 200H + T.kF12;
hAltF2 = 200H + T.kF2;
hAltF3 = 200H + T.kF3;
hAltF4 = 200H + T.kF4;
hAltF5 = 200H + T.kF5;
hAltF6 = 200H + T.kF6;
hAltF7 = 200H + T.kF7;
hAltF8 = 200H + T.kF8;
hAltF9 = 200H + T.kF9;
hAltG = 200H + T.kG;
hAltH = 200H + T.kH;
hAltHome = 200H + T.kHome;
hAltI = 200H + T.kI;
hAltInsert = 200H + T.kInsert;
hAltJ = 200H + T.kJ;
hAltK = 200H + T.kK;
hAltL = 200H + T.kL;
hAltLeft = 200H + T.kLeft;
hAltM = 200H + T.kM;
hAltMinus = 200H + T.kMinus;
hAltN = 200H + T.kN;
hAltO = 200H + T.kO;
hAltP = 200H + T.kP;
hAltPause = 200H + T.kPause;
hAltPgDn = 200H + T.kPgDn;
hAltPgUp = 200H + T.kPgUp;
hAltQ = 200H + T.kQ;
hAltQuote = 200H + T.kQuote;
hAltR = 200H + T.kR;
hAltRight = 200H + T.kRight;
hAltS = 200H + T.kS;
hAltShift0 = 600H + T.k0;
hAltShift1 = 600H + T.k1;
hAltShift2 = 600H + T.k2;
hAltShift3 = 600H + T.k3;
hAltShift4 = 600H + T.k4;
hAltShift5 = 600H + T.k5;
hAltShift6 = 600H + T.k6;
hAltShift7 = 600H + T.k7;
hAltShift8 = 600H + T.k8;
hAltShift9 = 600H + T.k9;
hAltShiftA = 600H + T.kA;
hAltShiftB = 600H + T.kB;
hAltShiftBackslash = 600H + T.kBackslash;
hAltShiftBackspace = 600H + T.kBackspace;
hAltShiftC = 600H + T.kC;
hAltShiftColon = 600H + T.kColon;
hAltShiftComma = 600H + T.kComma;
hAltShiftD = 600H + T.kD;
hAltShiftDel = 600H + T.kDel;
hAltShiftDown = 600H + T.kDown;
hAltShiftE = 600H + T.kE;
hAltShiftEnd = 600H + T.kEnd;
hAltShiftEnter = 600H + T.kEnter;
hAltShiftEquals = 600H + T.kEquals;
hAltShiftEsc = 600H + T.kEsc;
hAltShiftF = 600H + T.kF;
hAltShiftF1 = 600H + T.kF1;
hAltShiftF10 = 600H + T.kF10;
hAltShiftF11 = 600H + T.kF11;
hAltShiftF12 = 600H + T.kF12;
hAltShiftF2 = 600H + T.kF2;
hAltShiftF3 = 600H + T.kF3;
hAltShiftF4 = 600H + T.kF4;
hAltShiftF5 = 600H + T.kF5;
hAltShiftF6 = 600H + T.kF6;
hAltShiftF7 = 600H + T.kF7;
hAltShiftF8 = 600H + T.kF8;
hAltShiftF9 = 600H + T.kF9;
hAltShiftG = 600H + T.kG;
hAltShiftH = 600H + T.kH;
hAltShiftHome = 600H + T.kHome;
hAltShiftI = 600H + T.kI;
hAltShiftInsert = 600H + T.kInsert;
hAltShiftJ = 600H + T.kJ;
hAltShiftK = 600H + T.kK;
hAltShiftL = 600H + T.kL;
hAltShiftLeft = 600H + T.kLeft;
hAltShiftM = 600H + T.kM;
hAltShiftMinus = 600H + T.kMinus;
hAltShiftN = 600H + T.kN;
hAltShiftO = 600H + T.kO;
hAltShiftP = 600H + T.kP;
hAltShiftPause = 600H + T.kPause;
hAltShiftPgDn = 600H + T.kPgDn;
hAltShiftPgUp = 600H + T.kPgUp;
hAltShiftQ = 600H + T.kQ;
hAltShiftQuote = 600H + T.kQuote;
hAltShiftR = 600H + T.kR;
hAltShiftRight = 600H + T.kRight;
hAltShiftS = 600H + T.kS;
hAltShiftSlash = 600H + T.kSlash;
hAltShiftStop = 600H + T.kStop;
hAltShiftT = 600H + T.kT;
hAltShiftTab = 600H + T.kTab;
hAltShiftTilde = 600H + T.kTilde;
hAltShiftU = 600H + T.kU;
hAltShiftUp = 600H + T.kUp;
hAltShiftV = 600H + T.kV;
hAltShiftW = 600H + T.kW;
hAltShiftX = 600H + T.kX;
hAltShiftY = 600H + T.kY;
hAltShiftZ = 600H + T.kZ;
hAltSlash = 200H + T.kSlash;
hAltStop = 200H + T.kStop;
hAltT = 200H + T.kT;
hAltTab = 200H + T.kTab;
hAltTilde = 200H + T.kTilde;
hAltU = 200H + T.kU;
hAltUp = 200H + T.kUp;
hAltV = 200H + T.kV;
hAltW = 200H + T.kW;
hAltX = 200H + T.kX;
hAltY = 200H + T.kY;
hAltZ = 200H + T.kZ;
hCtrl0 = 100H + T.k0;
hCtrl1 = 100H + T.k1;
hCtrl2 = 100H + T.k2;
hCtrl3 = 100H + T.k3;
hCtrl4 = 100H + T.k4;
hCtrl5 = 100H + T.k5;
hCtrl6 = 100H + T.k6;
hCtrl7 = 100H + T.k7;
hCtrl8 = 100H + T.k8;
hCtrl9 = 100H + T.k9;
hCtrlA = 100H + T.kA;
hCtrlAlt0 = 300H + T.k0;
hCtrlAlt1 = 300H + T.k1;
hCtrlAlt2 = 300H + T.k2;
hCtrlAlt3 = 300H + T.k3;
hCtrlAlt4 = 300H + T.k4;
hCtrlAlt5 = 300H + T.k5;
hCtrlAlt6 = 300H + T.k6;
hCtrlAlt7 = 300H + T.k7;
hCtrlAlt8 = 300H + T.k8;
hCtrlAlt9 = 300H + T.k9;
hCtrlAltA = 300H + T.kA;
hCtrlAltB = 300H + T.kB;
hCtrlAltBackslash = 300H + T.kBackslash;
hCtrlAltBackspace = 300H + T.kBackspace;
hCtrlAltC = 300H + T.kC;
hCtrlAltColon = 300H + T.kColon;
hCtrlAltComma = 300H + T.kComma;
hCtrlAltD = 300H + T.kD;
hCtrlAltDel = 300H + T.kDel;
hCtrlAltDown = 300H + T.kDown;
hCtrlAltE = 300H + T.kE;
hCtrlAltEnd = 300H + T.kEnd;
hCtrlAltEnter = 300H + T.kEnter;
hCtrlAltEquals = 300H + T.kEquals;
hCtrlAltEsc = 300H + T.kEsc;
hCtrlAltF = 300H + T.kF;
hCtrlAltF1 = 300H + T.kF1;
hCtrlAltF10 = 300H + T.kF10;
hCtrlAltF11 = 300H + T.kF11;
hCtrlAltF12 = 300H + T.kF12;
hCtrlAltF2 = 300H + T.kF2;
hCtrlAltF3 = 300H + T.kF3;
hCtrlAltF4 = 300H + T.kF4;
hCtrlAltF5 = 300H + T.kF5;
hCtrlAltF6 = 300H + T.kF6;
hCtrlAltF7 = 300H + T.kF7;
hCtrlAltF8 = 300H + T.kF8;
hCtrlAltF9 = 300H + T.kF9;
hCtrlAltG = 300H + T.kG;
hCtrlAltH = 300H + T.kH;
hCtrlAltHome = 300H + T.kHome;
hCtrlAltI = 300H + T.kI;
hCtrlAltInsert = 300H + T.kInsert;
hCtrlAltJ = 300H + T.kJ;
hCtrlAltK = 300H + T.kK;
hCtrlAltL = 300H + T.kL;
hCtrlAltLeft = 300H + T.kLeft;
hCtrlAltM = 300H + T.kM;
hCtrlAltMinus = 300H + T.kMinus;
hCtrlAltN = 300H + T.kN;
hCtrlAltO = 300H + T.kO;
hCtrlAltP = 300H + T.kP;
hCtrlAltPause = 300H + T.kPause;
hCtrlAltPgDn = 300H + T.kPgDn;
hCtrlAltPgUp = 300H + T.kPgUp;
hCtrlAltQ = 300H + T.kQ;
hCtrlAltQuote = 300H + T.kQuote;
hCtrlAltR = 300H + T.kR;
hCtrlAltRight = 300H + T.kRight;
hCtrlAltS = 300H + T.kS;
hCtrlAltShift0 = 700H + T.k0;
hCtrlAltShift1 = 700H + T.k1;
hCtrlAltShift2 = 700H + T.k2;
hCtrlAltShift3 = 700H + T.k3;
hCtrlAltShift4 = 700H + T.k4;
hCtrlAltShift5 = 700H + T.k5;
hCtrlAltShift6 = 700H + T.k6;
hCtrlAltShift7 = 700H + T.k7;
hCtrlAltShift8 = 700H + T.k8;
hCtrlAltShift9 = 700H + T.k9;
hCtrlAltShiftA = 700H + T.kA;
hCtrlAltShiftB = 700H + T.kB;
hCtrlAltShiftBackslash = 700H + T.kBackslash;
hCtrlAltShiftBackspace = 700H + T.kBackspace;
hCtrlAltShiftC = 700H + T.kC;
hCtrlAltShiftColon = 700H + T.kColon;
hCtrlAltShiftComma = 700H + T.kComma;
hCtrlAltShiftD = 700H + T.kD;
hCtrlAltShiftDel = 700H + T.kDel;
hCtrlAltShiftDown = 700H + T.kDown;
hCtrlAltShiftE = 700H + T.kE;
hCtrlAltShiftEnd = 700H + T.kEnd;
hCtrlAltShiftEnter = 700H + T.kEnter;
hCtrlAltShiftEquals = 700H + T.kEquals;
hCtrlAltShiftEsc = 700H + T.kEsc;
hCtrlAltShiftF = 700H + T.kF;
hCtrlAltShiftF1 = 700H + T.kF1;
hCtrlAltShiftF10 = 700H + T.kF10;
hCtrlAltShiftF11 = 700H + T.kF11;
hCtrlAltShiftF12 = 700H + T.kF12;
hCtrlAltShiftF2 = 700H + T.kF2;
hCtrlAltShiftF3 = 700H + T.kF3;
hCtrlAltShiftF4 = 700H + T.kF4;
hCtrlAltShiftF5 = 700H + T.kF5;
hCtrlAltShiftF6 = 700H + T.kF6;
hCtrlAltShiftF7 = 700H + T.kF7;
hCtrlAltShiftF8 = 700H + T.kF8;
hCtrlAltShiftF9 = 700H + T.kF9;
hCtrlAltShiftG = 700H + T.kG;
hCtrlAltShiftH = 700H + T.kH;
hCtrlAltShiftHome = 700H + T.kHome;
hCtrlAltShiftI = 700H + T.kI;
hCtrlAltShiftInsert = 700H + T.kInsert;
hCtrlAltShiftJ = 700H + T.kJ;
hCtrlAltShiftK = 700H + T.kK;
hCtrlAltShiftL = 700H + T.kL;
hCtrlAltShiftLeft = 700H + T.kLeft;
hCtrlAltShiftM = 700H + T.kM;
hCtrlAltShiftMinus = 700H + T.kMinus;
hCtrlAltShiftN = 700H + T.kN;
hCtrlAltShiftO = 700H + T.kO;
hCtrlAltShiftP = 700H + T.kP;
hCtrlAltShiftPause = 700H + T.kPause;
hCtrlAltShiftPgDn = 700H + T.kPgDn;
hCtrlAltShiftPgUp = 700H + T.kPgUp;
hCtrlAltShiftQ = 700H + T.kQ;
hCtrlAltShiftQuote = 700H + T.kQuote;
hCtrlAltShiftR = 700H + T.kR;
hCtrlAltShiftRight = 700H + T.kRight;
hCtrlAltShiftS = 700H + T.kS;
hCtrlAltShiftSlash = 700H + T.kSlash;
hCtrlAltShiftStop = 700H + T.kStop;
hCtrlAltShiftT = 700H + T.kT;
hCtrlAltShiftTab = 700H + T.kTab;
hCtrlAltShiftTilde = 700H + T.kTilde;
hCtrlAltShiftU = 700H + T.kU;
hCtrlAltShiftUp = 700H + T.kUp;
hCtrlAltShiftV = 700H + T.kV;
hCtrlAltShiftW = 700H + T.kW;
hCtrlAltShiftX = 700H + T.kX;
hCtrlAltShiftY = 700H + T.kY;
hCtrlAltShiftZ = 700H + T.kZ;
hCtrlAltSlash = 300H + T.kSlash;
hCtrlAltStop = 300H + T.kStop;
hCtrlAltT = 300H + T.kT;
hCtrlAltTab = 300H + T.kTab;
hCtrlAltTilde = 300H + T.kTilde;
hCtrlAltU = 300H + T.kU;
hCtrlAltUp = 300H + T.kUp;
hCtrlAltV = 300H + T.kV;
hCtrlAltW = 300H + T.kW;
hCtrlAltX = 300H + T.kX;
hCtrlAltY = 300H + T.kY;
hCtrlAltZ = 300H + T.kZ;
hCtrlB = 100H + T.kB;
hCtrlBackslash = 100H + T.kBackslash;
hCtrlBackspace = 100H + T.kBackspace;
hCtrlC = 100H + T.kC;
hCtrlColon = 100H + T.kColon;
hCtrlComma = 100H + T.kComma;
hCtrlD = 100H + T.kD;
hCtrlDel = 100H + T.kDel;
hCtrlDown = 100H + T.kDown;
hCtrlE = 100H + T.kE;
hCtrlEnd = 100H + T.kEnd;
hCtrlEnter = 100H + T.kEnter;
hCtrlEquals = 100H + T.kEquals;
hCtrlEsc = 100H + T.kEsc;
hCtrlF = 100H + T.kF;
hCtrlF1 = 100H + T.kF1;
hCtrlF10 = 100H + T.kF10;
hCtrlF11 = 100H + T.kF11;
hCtrlF12 = 100H + T.kF12;
hCtrlF2 = 100H + T.kF2;
hCtrlF3 = 100H + T.kF3;
hCtrlF4 = 100H + T.kF4;
hCtrlF5 = 100H + T.kF5;
hCtrlF6 = 100H + T.kF6;
hCtrlF7 = 100H + T.kF7;
hCtrlF8 = 100H + T.kF8;
hCtrlF9 = 100H + T.kF9;
hCtrlG = 100H + T.kG;
hCtrlH = 100H + T.kH;
hCtrlHome = 100H + T.kHome;
hCtrlI = 100H + T.kI;
hCtrlInsert = 100H + T.kInsert;
hCtrlJ = 100H + T.kJ;
hCtrlK = 100H + T.kK;
hCtrlL = 100H + T.kL;
hCtrlLeft = 100H + T.kLeft;
hCtrlM = 100H + T.kM;
hCtrlMinus = 100H + T.kMinus;
hCtrlN = 100H + T.kN;
hCtrlO = 100H + T.kO;
hCtrlP = 100H + T.kP;
hCtrlPause = 100H + T.kPause;
hCtrlPgDn = 100H + T.kPgDn;
hCtrlPgUp = 100H + T.kPgUp;
hCtrlQ = 100H + T.kQ;
hCtrlQuote = 100H + T.kQuote;
hCtrlR = 100H + T.kR;
hCtrlRight = 100H + T.kRight;
hCtrlS = 100H + T.kS;
hCtrlShift0 = 500H + T.k0;
hCtrlShift1 = 500H + T.k1;
hCtrlShift2 = 500H + T.k2;
hCtrlShift3 = 500H + T.k3;
hCtrlShift4 = 500H + T.k4;
hCtrlShift5 = 500H + T.k5;
hCtrlShift6 = 500H + T.k6;
hCtrlShift7 = 500H + T.k7;
hCtrlShift8 = 500H + T.k8;
hCtrlShift9 = 500H + T.k9;
hCtrlShiftA = 500H + T.kA;
hCtrlShiftB = 500H + T.kB;
hCtrlShiftBackslash = 500H + T.kBackslash;
hCtrlShiftBackspace = 500H + T.kBackspace;
hCtrlShiftC = 500H + T.kC;
hCtrlShiftColon = 500H + T.kColon;
hCtrlShiftComma = 500H + T.kComma;
hCtrlShiftD = 500H + T.kD;
hCtrlShiftDel = 500H + T.kDel;
hCtrlShiftDown = 500H + T.kDown;
hCtrlShiftE = 500H + T.kE;
hCtrlShiftEnd = 500H + T.kEnd;
hCtrlShiftEnter = 500H + T.kEnter;
hCtrlShiftEquals = 500H + T.kEquals;
hCtrlShiftEsc = 500H + T.kEsc;
hCtrlShiftF = 500H + T.kF;
hCtrlShiftF1 = 500H + T.kF1;
hCtrlShiftF10 = 500H + T.kF10;
hCtrlShiftF11 = 500H + T.kF11;
hCtrlShiftF12 = 500H + T.kF12;
hCtrlShiftF2 = 500H + T.kF2;
hCtrlShiftF3 = 500H + T.kF3;
hCtrlShiftF4 = 500H + T.kF4;
hCtrlShiftF5 = 500H + T.kF5;
hCtrlShiftF6 = 500H + T.kF6;
hCtrlShiftF7 = 500H + T.kF7;
hCtrlShiftF8 = 500H + T.kF8;
hCtrlShiftF9 = 500H + T.kF9;
hCtrlShiftG = 500H + T.kG;
hCtrlShiftH = 500H + T.kH;
hCtrlShiftHome = 500H + T.kHome;
hCtrlShiftI = 500H + T.kI;
hCtrlShiftInsert = 500H + T.kInsert;
hCtrlShiftJ = 500H + T.kJ;
hCtrlShiftK = 500H + T.kK;
hCtrlShiftL = 500H + T.kL;
hCtrlShiftLeft = 500H + T.kLeft;
hCtrlShiftM = 500H + T.kM;
hCtrlShiftMinus = 500H + T.kMinus;
hCtrlShiftN = 500H + T.kN;
hCtrlShiftO = 500H + T.kO;
hCtrlShiftP = 500H + T.kP;
hCtrlShiftPause = 500H + T.kPause;
hCtrlShiftPgDn = 500H + T.kPgDn;
hCtrlShiftPgUp = 500H + T.kPgUp;
hCtrlShiftQ = 500H + T.kQ;
hCtrlShiftQuote = 500H + T.kQuote;
hCtrlShiftR = 500H + T.kR;
hCtrlShiftRight = 500H + T.kRight;
hCtrlShiftS = 500H + T.kS;
hCtrlShiftSlash = 500H + T.kSlash;
hCtrlShiftStop = 500H + T.kStop;
hCtrlShiftT = 500H + T.kT;
hCtrlShiftTab = 500H + T.kTab;
hCtrlShiftTilde = 500H + T.kTilde;
hCtrlShiftU = 500H + T.kU;
hCtrlShiftUp = 500H + T.kUp;
hCtrlShiftV = 500H + T.kV;
hCtrlShiftW = 500H + T.kW;
hCtrlShiftX = 500H + T.kX;
hCtrlShiftY = 500H + T.kY;
hCtrlShiftZ = 500H + T.kZ;
hCtrlSlash = 100H + T.kSlash;
hCtrlStop = 100H + T.kStop;
hCtrlT = 100H + T.kT;
hCtrlTab = 100H + T.kTab;
hCtrlTilde = 100H + T.kTilde;
hCtrlU = 100H + T.kU;
hCtrlUp = 100H + T.kUp;
hCtrlV = 100H + T.kV;
hCtrlW = 100H + T.kW;
hCtrlX = 100H + T.kX;
hCtrlY = 100H + T.kY;
hCtrlZ = 100H + T.kZ;
hF1 = 47;
hF10 = 56;
hF11 = 57;
hF12 = 58;
hF2 = 48;
hF3 = 49;
hF4 = 50;
hF5 = 51;
hF6 = 52;
hF7 = 53;
hF8 = 54;
hF9 = 55;
hPause = 93;
hShift0 = 400H + T.k0;
hShift1 = 400H + T.k1;
hShift2 = 400H + T.k2;
hShift3 = 400H + T.k3;
hShift4 = 400H + T.k4;
hShift5 = 400H + T.k5;
hShift6 = 400H + T.k6;
hShift7 = 400H + T.k7;
hShift8 = 400H + T.k8;
hShift9 = 400H + T.k9;
hShiftA = 400H + T.kA;
hShiftB = 400H + T.kB;
hShiftBackslash = 400H + T.kBackslash;
hShiftBackspace = 400H + T.kBackspace;
hShiftC = 400H + T.kC;
hShiftColon = 400H + T.kColon;
hShiftComma = 400H + T.kComma;
hShiftD = 400H + T.kD;
hShiftDel = 400H + T.kDel;
hShiftDown = 400H + T.kDown;
hShiftE = 400H + T.kE;
hShiftEnd = 400H + T.kEnd;
hShiftEnter = 400H + T.kEnter;
hShiftEquals = 400H + T.kEquals;
hShiftEsc = 400H + T.kEsc;
hShiftF = 400H + T.kF;
hShiftF1 = 400H + T.kF1;
hShiftF10 = 400H + T.kF10;
hShiftF11 = 400H + T.kF11;
hShiftF12 = 400H + T.kF12;
hShiftF2 = 400H + T.kF2;
hShiftF3 = 400H + T.kF3;
hShiftF4 = 400H + T.kF4;
hShiftF5 = 400H + T.kF5;
hShiftF6 = 400H + T.kF6;
hShiftF7 = 400H + T.kF7;
hShiftF8 = 400H + T.kF8;
hShiftF9 = 400H + T.kF9;
hShiftG = 400H + T.kG;
hShiftH = 400H + T.kH;
hShiftHome = 400H + T.kHome;
hShiftI = 400H + T.kI;
hShiftInsert = 400H + T.kInsert;
hShiftJ = 400H + T.kJ;
hShiftK = 400H + T.kK;
hShiftL = 400H + T.kL;
hShiftLeft = 400H + T.kLeft;
hShiftM = 400H + T.kM;
hShiftMinus = 400H + T.kMinus;
hShiftN = 400H + T.kN;
hShiftO = 400H + T.kO;
hShiftP = 400H + T.kP;
hShiftPause = 400H + T.kPause;
hShiftPgDn = 400H + T.kPgDn;
hShiftPgUp = 400H + T.kPgUp;
hShiftQ = 400H + T.kQ;
hShiftQuote = 400H + T.kQuote;
hShiftR = 400H + T.kR;
hShiftRight = 400H + T.kRight;
hShiftS = 400H + T.kS;
hShiftSlash = 400H + T.kSlash;
hShiftStop = 400H + T.kStop;
hShiftT = 400H + T.kT;
hShiftTab = 400H + T.kTab;
hShiftTilde = 400H + T.kTilde;
hShiftU = 400H + T.kU;
hShiftUp = 400H + T.kUp;
hShiftV = 400H + T.kV;
hShiftW = 400H + T.kW;
hShiftX = 400H + T.kX;
hShiftY = 400H + T.kY;
hShiftZ = 400H + T.kZ;
left = 0;
moving = 4;
normal = 0;
open = 3;
resizing = 5;
right = 2;
selected = 2;

Типы

App = POINTER TO AppDesc;
Control = POINTER TO ControlDesc;
ControlMethod = POINTER TO ControlMethodDesc;
ClickHandler = PROCEDURE (c: Control);
ChangeHandler = ClickHandler;
ControlDesc = RECORD   app: App;  
  parent: Control;  
  children: Control;  
  prev: Control;  
  next: Control;  
  x: INTEGER;  
  y: INTEGER;  
  w: INTEGER;  
  h: INTEGER;  
  tabIndex: INTEGER;  
  enabled: BOOLEAN;  
  default: BOOLEAN;  
  focused: BOOLEAN;  
  mouseActive: BOOLEAN;  
  status: INTEGER;  
  caption: ARRAY 256 OF CHAR;  
  onClick: ClickHandler;  
  onDblClick: ClickHandler;  
  onChange: ChangeHandler;  
  do: ControlMethod  
END
;
ControlMethodDesc = RECORD   added: PROCEDURE (c: Control; child: Control);  
  draw: PROCEDURE (c: Control; x: INTEGER; y: INTEGER);  
  resize: PROCEDURE (c: Control; x: INTEGER; y: INTEGER; w: INTEGER; h: INTEGER);  
  refresh: PROCEDURE (c: Control);  
  click: PROCEDURE (c: Control);  
  dblClick: PROCEDURE (c: Control);  
  keyDown: PROCEDURE (c: Control; VAR E: TermBox.Event);  
  textInput: PROCEDURE (c: Control; ch: CHAR);  
  getFocus: PROCEDURE (c: Control);  
  lostFocus: PROCEDURE (c: Control);  
  mouseMove: PROCEDURE (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);  
  mouseDown: PROCEDURE (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);  
  mouseUp: PROCEDURE (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);  
  close: PROCEDURE (c: Control; VAR cancel: BOOLEAN)  
END
;
Menu = POINTER TO MenuDesc;
MenuDesc = RECORD(ControlDesc)   innerW: INTEGER;  
  innerH: INTEGER;  
  hint: ARRAY 40 OF CHAR;  
  hintW: INTEGER;  
  hotkey: INTEGER;  
  lastSelected: Control  
END
;
Label = POINTER TO LabelDesc;
LabelDesc = RECORD(ControlDesc)   len: INTEGER;  
  align: INTEGER  
END
;
QuickBtn = POINTER TO QuickBtnDesc;
QuickBtnDesc = RECORD(MenuDesc) END;
Button = POINTER TO ButtonDesc;
ButtonDesc = RECORD(ControlDesc) END;
WinBtn = POINTER TO WinBtnDesc;
WinBtnDesc = RECORD(ButtonDesc) END;
Scrollbar = POINTER TO ScrollbarDesc;
ScrollbarDesc = RECORD(ControlDesc)   max: INTEGER;  
  cur: INTEGER;  
  runnerOffset: INTEGER;  
  runnerW: INTEGER;  
  onScrollbar: PROCEDURE (c: Control)  
END
;
Edit = POINTER TO EditDesc;
EditDesc = RECORD(ControlDesc)   len: INTEGER;  
  pos: INTEGER  
END
;
ColumnList = POINTER TO ColumnListDesc;
ColumnListDesc = RECORD(ControlDesc)   cols: INTEGER;  
  items: StrList.List;  
  begin: INTEGER;  
  cur: INTEGER;  
  lastMouseDownItem: INTEGER  
END
;
Window = POINTER TO WindowDesc;
WindowDesc = RECORD(ControlDesc)   cur: Control;  
  modal: BOOLEAN;  
  resizable: BOOLEAN;  
  closeable: BOOLEAN;  
  closeOnEsc: BOOLEAN;  
  closeBtn: WinBtn;  
  zoomBtn: WinBtn;  
  bg: INTEGER;  
  minW: INTEGER;  
  minH: INTEGER;  
  mx: INTEGER;  
  my: INTEGER;  
  mw: INTEGER;  
  mh: INTEGER  
END
;
AppDesc = RECORD   windows: Window;  
  menu: Menu;  
  statusbar: Menu;  
  statusText: ARRAY 256 OF CHAR;  
  cur: Control;  
  dragged: Control;  
  dragX: INTEGER;  
  dragY: INTEGER;  
  lastMouseDownTime: INTEGER;  
  quit: BOOLEAN;  
  needRedraw: BOOLEAN;  
  sync: BOOLEAN;  
  mouseBtn: INTEGER  
END
;

Переменные

buttonMethod: ControlMethod;
columnListMethod: ControlMethod;
controlMethod: ControlMethod;
editMethod: ControlMethod;
labelMethod: ControlMethod;
menuMethod: ControlMethod;
quickBtnMethod: ControlMethod;
scrollbarMethod: ControlMethod;
winBtnMethod: ControlMethod;
windowMethod: ControlMethod;

Процедуры

PROCEDURE Add (c: Control; child: Control);
PROCEDURE AddMenu (app: App; m: Menu);
PROCEDURE AddStatusbar (app: App; c: Control);
PROCEDURE AddWindow (app: App; w: Window);
PROCEDURE BringToFront (c: Control);
PROCEDURE ButtonClick (c: Control);
PROCEDURE ButtonDraw (c: Control; x: INTEGER; y: INTEGER);
PROCEDURE ButtonMouseDown (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ButtonMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ButtonMouseUp (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE CenterWindow (c: Window);
PROCEDURE CloseAllWindows (c: Control);
PROCEDURE CloseCurWindow (c: Control);
PROCEDURE CloseCurWindowEx (c: Control; VAR cancel: BOOLEAN);
PROCEDURE ColumnListDraw (c: Control; x: INTEGER; y: INTEGER);
PROCEDURE ColumnListGetFocus (c: Control);
PROCEDURE ColumnListKeyDown (c: Control; VAR E: TermBox.Event);
PROCEDURE ColumnListMouseDown (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ColumnListMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ColumnListMouseUp (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ColumnListRefresh (c: Control);
PROCEDURE ColumnListResize (c: Control; x: INTEGER; y: INTEGER; w: INTEGER; h: INTEGER);
PROCEDURE ColumnListSetCur (C: ColumnList; cur: INTEGER);
PROCEDURE ColumnListTextInput (c: Control; ch: CHAR);
PROCEDURE ColumnListUpdateCur (C: ColumnList; x: INTEGER; y: INTEGER);
PROCEDURE ControlClick (c: Control);
PROCEDURE ControlDblClick (c: Control);
PROCEDURE ControlGetFocus (c: Control);
PROCEDURE ControlLostFocus (c: Control);
PROCEDURE ControlMouseDown (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ControlMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ControlMouseUp (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ControlResize (c: Control; x: INTEGER; y: INTEGER; w: INTEGER; h: INTEGER);
PROCEDURE DrawApp (app: App);
PROCEDURE DrawAppWindows (app: App);
PROCEDURE DrawChildren (c: Control; x: INTEGER; y: INTEGER);
PROCEDURE DrawWindowBorder (x: INTEGER; y: INTEGER; w: INTEGER; h: INTEGER; fg: INTEGER; bg: INTEGER; title: ARRAY OF CHAR; resizable: BOOLEAN; moving: BOOLEAN; inactive: BOOLEAN);
PROCEDURE EditDraw (c: Control; x: INTEGER; y: INTEGER);
PROCEDURE EditGetFocus (c: Control);
PROCEDURE EditMouseDown (c: Control; x: INTEGER; y: INTEGER; edit: INTEGER);
PROCEDURE EditSetCaption (c: Edit; s: ARRAY OF CHAR);
PROCEDURE EditTextInput (c: Control; ch: CHAR);
PROCEDURE FindChildAt (c: Control; x: INTEGER; y: INTEGER): Control;
PROCEDURE GetControlAt (app: App; x: INTEGER; y: INTEGER): Control;
PROCEDURE HasModalWindow (app: App): BOOLEAN;
PROCEDURE InitApp (app: App);
PROCEDURE InitButton (c: Button; caption: ARRAY OF CHAR);
PROCEDURE InitButtonMethod (m: ControlMethod);
PROCEDURE InitColumnList (c: ColumnList);
PROCEDURE InitColumnListMethod (m: ControlMethod);
PROCEDURE InitControl (c: Control);
PROCEDURE InitControlMethod (m: ControlMethod);
PROCEDURE InitEdit (c: Edit);
PROCEDURE InitEditMethod (m: ControlMethod);
PROCEDURE InitLabel (c: Label; caption: ARRAY OF CHAR);
PROCEDURE InitLabelMethod (m: ControlMethod);
PROCEDURE InitMenu (m: Menu; caption: ARRAY OF CHAR; hint: ARRAY OF CHAR; hotkey: INTEGER; onClick: ClickHandler);
PROCEDURE InitMenuMethod (m: ControlMethod);
PROCEDURE InitQuickBtn (c: QuickBtn; caption: ARRAY OF CHAR; hint: ARRAY OF CHAR; hotkey: INTEGER; onClick: ClickHandler);
PROCEDURE InitQuickBtnMethod (m: ControlMethod);
PROCEDURE InitScrollbar (c: Scrollbar);
PROCEDURE InitScrollbarMethod (m: ControlMethod);
PROCEDURE InitWinBtn (c: WinBtn; ch: CHAR);
PROCEDURE InitWinBtnMethod (m: ControlMethod);
PROCEDURE InitWindow (w: Window);
PROCEDURE InitWindowMethod (m: ControlMethod);
PROCEDURE MenuAdded (c: Control; child: Control);
PROCEDURE MenuClick (c: Control);
PROCEDURE MenuGetFocus (c: Control);
PROCEDURE MenuHotkey (c: Control; ch: CHAR): BOOLEAN;
PROCEDURE MenuLostFocus (c: Control);
PROCEDURE MenuMouseDown (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE MenuMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE MenuMouseUp (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE NeedRedraw (app: App);
PROCEDURE NewApp (): App;
PROCEDURE NewButton (caption: ARRAY OF CHAR): Button;
PROCEDURE NewColumnList (): ColumnList;
PROCEDURE NewControl (): Control;
PROCEDURE NewEdit (): Edit;
PROCEDURE NewLabel (caption: ARRAY OF CHAR): Label;
PROCEDURE NewMenu (caption: ARRAY OF CHAR; hint: ARRAY OF CHAR; hotkey: INTEGER; onClick: ClickHandler): Menu;
PROCEDURE NewQuickBtn (caption: ARRAY OF CHAR; hint: ARRAY OF CHAR; hotkey: INTEGER; onClick: ClickHandler): QuickBtn;
PROCEDURE NewScrollbar (): Scrollbar;
PROCEDURE NewWinBtn (ch: CHAR): WinBtn;
PROCEDURE NewWindow (): Window;
PROCEDURE NextWindow (c: Control);
PROCEDURE PassMouseDown (c: Control; x: INTEGER; y: INTEGER; button: INTEGER): BOOLEAN;
PROCEDURE PassMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER): BOOLEAN;
PROCEDURE PrevWindow (c: Control);
PROCEDURE PutMarkedString (x: INTEGER; y: INTEGER; s: ARRAY OF CHAR; fg: INTEGER; fg2: INTEGER; bg: INTEGER; limit: INTEGER);

fg2 is a color of marked letters, that are escaped with '&'.

PROCEDURE QuitApp (c: Control);
PROCEDURE Refresh (c: Control);
PROCEDURE RefreshAppMenu (menu: Menu);
PROCEDURE RefreshDisplay (c: Control);
PROCEDURE RefreshMenu (c: Control);
PROCEDURE Remove (c: Control);
PROCEDURE RunApp (app: App);
PROCEDURE ScrollbarDraw (c: Control; x: INTEGER; y: INTEGER);
PROCEDURE ScrollbarMouseDown (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ScrollbarMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ScrollbarMouseUp (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE ScrollbarUpdateCur (S: Scrollbar; x: INTEGER; y: INTEGER; end: BOOLEAN);
PROCEDURE SetAppFocus (app: App; c: Control);
PROCEDURE SetDragged (app: App; c: Control);
PROCEDURE SetEnabled (c: Control; enabled: BOOLEAN);
PROCEDURE SetFocus (c: Control);
PROCEDURE SetOnResize (a: App; p: PROCEDURE (w: INTEGER; h: INTEGER));
PROCEDURE SetScrollbarCur (S: Scrollbar; cur: INTEGER);
PROCEDURE SetStatusText (app: App; text: ARRAY OF CHAR);
PROCEDURE UnsetFocus (app: App);
PROCEDURE WinBtnMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE WinBtnMouseUp (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE WindowAdded (c: Control; child: Control);
PROCEDURE WindowDraw (c: Control; x: INTEGER; y: INTEGER);
PROCEDURE WindowGetFocus (c: Control);
PROCEDURE WindowMouseDown (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE WindowMouseMove (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE WindowMouseUp (c: Control; x: INTEGER; y: INTEGER; button: INTEGER);
PROCEDURE WindowRefresh (c: Control);
PROCEDURE WindowResize (c: Control; x: INTEGER; y: INTEGER; w: INTEGER; h: INTEGER);
PROCEDURE ZoomCurWindow (c: Control);