newt.pp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. {$mode objfpc}
  2. unit newt;
  3. interface
  4. {
  5. Automatically converted by H2Pas 0.99.15 from newt.h
  6. The following command line parameters were used:
  7. newt.h
  8. }
  9. {$PACKRECORDS C}
  10. {$LINKLIB slang}
  11. Const
  12. newtlib = 'newt';
  13. const
  14. NEWT_COLORSET_ROOT = 2;
  15. NEWT_COLORSET_BORDER = 3;
  16. NEWT_COLORSET_WINDOW = 4;
  17. NEWT_COLORSET_SHADOW = 5;
  18. NEWT_COLORSET_TITLE = 6;
  19. NEWT_COLORSET_BUTTON = 7;
  20. NEWT_COLORSET_ACTBUTTON = 8;
  21. NEWT_COLORSET_CHECKBOX = 9;
  22. NEWT_COLORSET_ACTCHECKBOX = 10;
  23. NEWT_COLORSET_ENTRY = 11;
  24. NEWT_COLORSET_LABEL = 12;
  25. NEWT_COLORSET_LISTBOX = 13;
  26. NEWT_COLORSET_ACTLISTBOX = 14;
  27. NEWT_COLORSET_TEXTBOX = 15;
  28. NEWT_COLORSET_ACTTEXTBOX = 16;
  29. NEWT_COLORSET_HELPLINE = 17;
  30. NEWT_COLORSET_ROOTTEXT = 18;
  31. NEWT_COLORSET_EMPTYSCALE = 19;
  32. NEWT_COLORSET_FULLSCALE = 20;
  33. NEWT_COLORSET_DISENTRY = 21;
  34. NEWT_COLORSET_COMPACTBUTTON = 22;
  35. NEWT_COLORSET_ACTSELLISTBOX = 23;
  36. NEWT_COLORSET_SELLISTBOX = 24;
  37. NEWT_ARG_LAST = -(100000);
  38. NEWT_ARG_APPEND = -(1);
  39. type
  40. newtColors = record
  41. rootFg : ^char;
  42. rootBg : ^char;
  43. borderFg : ^char;
  44. borderBg : ^char;
  45. windowFg : ^char;
  46. windowBg : ^char;
  47. shadowFg : ^char;
  48. shadowBg : ^char;
  49. titleFg : ^char;
  50. titleBg : ^char;
  51. buttonFg : ^char;
  52. buttonBg : ^char;
  53. actButtonFg : ^char;
  54. actButtonBg : ^char;
  55. checkboxFg : ^char;
  56. checkboxBg : ^char;
  57. actCheckboxFg : ^char;
  58. actCheckboxBg : ^char;
  59. entryFg : ^char;
  60. entryBg : ^char;
  61. labelFg : ^char;
  62. labelBg : ^char;
  63. listboxFg : ^char;
  64. listboxBg : ^char;
  65. actListboxFg : ^char;
  66. actListboxBg : ^char;
  67. textboxFg : ^char;
  68. textboxBg : ^char;
  69. actTextboxFg : ^char;
  70. actTextboxBg : ^char;
  71. helpLineFg : ^char;
  72. helpLineBg : ^char;
  73. rootTextFg : ^char;
  74. rootTextBg : ^char;
  75. emptyScale : ^char;
  76. fullScale : ^char;
  77. disabledEntryFg : ^char;
  78. disabledEntryBg : ^char;
  79. compactButtonFg : ^char;
  80. compactButtonBg : ^char;
  81. actSelListboxFg : ^char;
  82. actSelListboxBg : ^char;
  83. selListboxFg : ^char;
  84. selListboxBg : ^char;
  85. end;
  86. newtFlagsSense = (NEWT_FLAGS_SET,NEWT_FLAGS_RESET,NEWT_FLAGS_TOGGLE );
  87. const
  88. NEWT_FLAG_RETURNEXIT = 1 shl 0;
  89. NEWT_FLAG_HIDDEN = 1 shl 1;
  90. NEWT_FLAG_SCROLL = 1 shl 2;
  91. NEWT_FLAG_DISABLED = 1 shl 3;
  92. NEWT_FLAG_BORDER = 1 shl 5;
  93. NEWT_FLAG_WRAP = 1 shl 6;
  94. NEWT_FLAG_NOF12 = 1 shl 7;
  95. NEWT_FLAG_MULTIPLE = 1 shl 8;
  96. NEWT_FLAG_SELECTED = 1 shl 9;
  97. NEWT_FLAG_CHECKBOX = 1 shl 10;
  98. NEWT_FD_READ = 1 shl 0;
  99. NEWT_FD_WRITE = 1 shl 1;
  100. NEWT_LISTBOX_RETURNEXIT = NEWT_FLAG_RETURNEXIT;
  101. NEWT_ENTRY_SCROLL = NEWT_FLAG_SCROLL;
  102. NEWT_ENTRY_HIDDEN = NEWT_FLAG_HIDDEN;
  103. NEWT_ENTRY_RETURNEXIT = NEWT_FLAG_RETURNEXIT;
  104. NEWT_ENTRY_DISABLED = NEWT_FLAG_DISABLED;
  105. NEWT_TEXTBOX_WRAP = NEWT_FLAG_WRAP;
  106. NEWT_TEXTBOX_SCROLL = NEWT_FLAG_SCROLL;
  107. NEWT_FORM_NOF12 = NEWT_FLAG_NOF12;
  108. NEWT_KEY_TAB = #8;
  109. NEWT_KEY_ENTER = #13;
  110. NEWT_KEY_SUSPEND = #26;
  111. NEWT_KEY_RETURN = NEWT_KEY_ENTER;
  112. NEWT_KEY_EXTRA_BASE = $8000;
  113. NEWT_KEY_UP = NEWT_KEY_EXTRA_BASE + 1;
  114. NEWT_KEY_DOWN = NEWT_KEY_EXTRA_BASE + 2;
  115. NEWT_KEY_LEFT = NEWT_KEY_EXTRA_BASE + 4;
  116. NEWT_KEY_RIGHT = NEWT_KEY_EXTRA_BASE + 5;
  117. NEWT_KEY_BKSPC = NEWT_KEY_EXTRA_BASE + 6;
  118. NEWT_KEY_DELETE = NEWT_KEY_EXTRA_BASE + 7;
  119. NEWT_KEY_HOME = NEWT_KEY_EXTRA_BASE + 8;
  120. NEWT_KEY_END = NEWT_KEY_EXTRA_BASE + 9;
  121. NEWT_KEY_UNTAB = NEWT_KEY_EXTRA_BASE + 10;
  122. NEWT_KEY_PGUP = NEWT_KEY_EXTRA_BASE + 11;
  123. NEWT_KEY_PGDN = NEWT_KEY_EXTRA_BASE + 12;
  124. NEWT_KEY_INSERT = NEWT_KEY_EXTRA_BASE + 13;
  125. NEWT_KEY_F1 = NEWT_KEY_EXTRA_BASE + 101;
  126. NEWT_KEY_F2 = NEWT_KEY_EXTRA_BASE + 102;
  127. NEWT_KEY_F3 = NEWT_KEY_EXTRA_BASE + 103;
  128. NEWT_KEY_F4 = NEWT_KEY_EXTRA_BASE + 104;
  129. NEWT_KEY_F5 = NEWT_KEY_EXTRA_BASE + 105;
  130. NEWT_KEY_F6 = NEWT_KEY_EXTRA_BASE + 106;
  131. NEWT_KEY_F7 = NEWT_KEY_EXTRA_BASE + 107;
  132. NEWT_KEY_F8 = NEWT_KEY_EXTRA_BASE + 108;
  133. NEWT_KEY_F9 = NEWT_KEY_EXTRA_BASE + 109;
  134. NEWT_KEY_F10 = NEWT_KEY_EXTRA_BASE + 110;
  135. NEWT_KEY_F11 = NEWT_KEY_EXTRA_BASE + 111;
  136. NEWT_KEY_F12 = NEWT_KEY_EXTRA_BASE + 112;
  137. { not really a key, but newtGetKey returns it }
  138. NEWT_KEY_RESIZE = NEWT_KEY_EXTRA_BASE + 113;
  139. NEWT_ANCHOR_LEFT = 1 shl 0;
  140. NEWT_ANCHOR_RIGHT = 1 shl 1;
  141. NEWT_ANCHOR_TOP = 1 shl 2;
  142. NEWT_ANCHOR_BOTTOM = 1 shl 3;
  143. NEWT_GRID_FLAG_GROWX = 1 shl 0;
  144. NEWT_GRID_FLAG_GROWY = 1 shl 1;
  145. // was alias in C: newtListboxAddEntry = newtListboxAppendEntry;
  146. // Was C alias newtGridDestroy = Pointer; // ^newtGridFree;
  147. type
  148. newtComponent = Pointer; // Opaque, was : ^newtComponent_struct;
  149. pnewtComponent = ^newtComponent;
  150. newtCallback = procedure (_para1:newtComponent; _para2:pointer);cdecl;
  151. newtSuspendCallback = procedure (data:pointer);cdecl;
  152. treason = (NEWT_EXIT_HOTKEY,NEWT_EXIT_COMPONENT, NEWT_EXIT_FDREADY,NEWT_EXIT_TIMER);
  153. newtExitStruct = record
  154. reason : treason;
  155. u : record
  156. case longint of
  157. 0 : ( key : longint );
  158. 1 : ( co : newtComponent );
  159. end;
  160. end;
  161. PnewtExitStruct = ^newtExitStruct; (* Const before type ignored *)
  162. newtEntryFilter = function (entry:newtComponent; data:pointer; ch:longint; cursor:longint):longint;cdecl;
  163. newtGrid = pointer;
  164. newtGridElement = (NEWT_GRID_EMPTY := 0,NEWT_GRID_COMPONENT, NEWT_GRID_SUBGRID);
  165. newtWinEntry = record
  166. text : pchar;
  167. value : ppchar;
  168. flags : longint;
  169. end;
  170. PnewtWinEntry = ^newtWinEntry;
  171. var
  172. newtDefaultColorPalette : newtColors;cvar;external;
  173. function newtInit:longint;cdecl; external newtlib;
  174. function newtFinished:longint; cdecl; external newtlib;
  175. procedure newtCls; cdecl; external newtlib;
  176. procedure newtResizeScreen(redraw:longint); cdecl; external newtlib;
  177. procedure newtWaitForKey; cdecl; external newtlib;
  178. procedure newtClearKeyBuffer; cdecl; external newtlib;
  179. procedure newtDelay(usecs:longint); cdecl; external newtlib;
  180. function newtOpenWindow(left:longint; top:longint; width:longint; height:longint; title:Pchar):longint;cdecl; external newtlib;
  181. function newtCenteredWindow(width:longint; height:longint; title:Pchar):longint; cdecl; external newtlib;
  182. procedure newtPopWindow; cdecl; external newtlib;
  183. procedure newtSetColors(colors:newtColors); cdecl; external newtlib;
  184. procedure newtRefresh; cdecl; external newtlib;
  185. procedure newtSuspend; cdecl; external newtlib;
  186. procedure newtSetSuspendCallback(cb:newtSuspendCallback; data:pointer);cdecl; external newtlib;
  187. procedure newtResume;cdecl; external newtlib;
  188. procedure newtPushHelpLine(text:Pchar); cdecl; external newtlib;
  189. procedure newtRedrawHelpLine; cdecl; external newtlib;
  190. procedure newtPopHelpLine; cdecl; external newtlib;
  191. procedure newtDrawRootText(col:longint; row:longint; text:Pchar); cdecl; external newtlib;
  192. procedure newtBell; cdecl; external newtlib;
  193. function newtCompactButton(left:longint; top:longint; text:Pchar):newtComponent; cdecl; external newtlib;
  194. function newtButton(left:longint; top:longint; text:Pchar):newtComponent; cdecl; external newtlib;
  195. function newtCheckbox(left:longint; top:longint; text:Pchar; defValue:char; seq:Pchar; aresult:Pchar):newtComponent; cdecl; external newtlib;
  196. function newtCheckboxGetValue(co:newtComponent):char; cdecl; external newtlib;
  197. procedure newtCheckboxSetValue(co:newtComponent; value:char); cdecl; external newtlib;
  198. procedure newtCheckboxSetFlags(co:newtComponent; flags:longint; sense:newtFlagsSense); cdecl; external newtlib;
  199. function newtRadiobutton(left:longint; top:longint; text:Pchar; isDefault:longint; prevButton:newtComponent):newtComponent; cdecl; external newtlib;
  200. function newtRadioGetCurrent(setMember:newtComponent):newtComponent; cdecl; external newtlib;
  201. function newtListitem(left:longint; top:longint; text:Pchar; isDefault:longint; prevItem:newtComponent; data:pointer; flags:longint):newtComponent;cdecl; external newtlib;
  202. procedure newtListitemSet(co:newtComponent; text:Pchar); cdecl; external newtlib;
  203. function newtListitemGetData(co:newtComponent):pointer; cdecl; external newtlib;
  204. procedure newtGetScreenSize(cols:Plongint; rows:Plongint); cdecl; external newtlib;
  205. function newtLabel(left:longint; top:longint; text:Pchar):newtComponent; cdecl; external newtlib;
  206. procedure newtLabelSetText(co:newtComponent; text:Pchar); cdecl; external newtlib;
  207. function newtVerticalScrollbar(left:longint; top:longint; height:longint; normalColorset:longint; thumbColorset:longint):newtComponent; cdecl; external newtlib;
  208. procedure newtScrollbarSet(co:newtComponent; where:longint; total:longint); cdecl; external newtlib;
  209. function newtListbox(left:longint; top:longint; height:longint; flags:longint):newtComponent; cdecl; external newtlib;
  210. function newtListboxGetCurrent(co:newtComponent):pointer; cdecl; external newtlib;
  211. procedure newtListboxSetCurrent(co:newtComponent; num:longint); cdecl; external newtlib;
  212. procedure newtListboxSetCurrentByKey(co:newtComponent; key:pointer); cdecl; external newtlib;
  213. procedure newtListboxSetEntry(co:newtComponent; num:longint; text:Pchar); cdecl; external newtlib;
  214. procedure newtListboxSetWidth(co:newtComponent; width:longint); cdecl; external newtlib;
  215. procedure newtListboxSetData(co:newtComponent; num:longint; data:pointer); cdecl; external newtlib;
  216. function newtListboxAppendEntry(co:newtComponent; text:Pchar; data:pointer):longint; cdecl; external newtlib;
  217. function newtListboxInsertEntry(co:newtComponent; text:Pchar; data:pointer; key:pointer):longint; cdecl; external newtlib;
  218. function newtListboxDeleteEntry(co:newtComponent; data:pointer):longint; cdecl; external newtlib;
  219. procedure newtListboxClear(co:newtComponent); cdecl; external newtlib;
  220. procedure newtListboxGetEntry(co:newtComponent; num:longint; text:PPchar; data:Ppointer); cdecl; external newtlib;
  221. function newtListboxGetSelection(co:newtComponent; numitems:Plongint): ppointer; cdecl; external newtlib;
  222. procedure newtListboxClearSelection(co:newtComponent); cdecl; external newtlib;
  223. procedure newtListboxSelectItem(co:newtComponent; key:pointer; sense:newtFlagsSense); cdecl; external newtlib;
  224. function newtCheckboxTree(left:longint; top:longint; height:longint; flags:longint):newtComponent; cdecl; external newtlib;
  225. function newtCheckboxTreeMulti(left:longint; top:longint; height:longint; seq:Pchar; flags:longint):newtComponent; cdecl; external newtlib;
  226. function newtCheckboxTreeGetSelection(co:newtComponent; numitems:Plongint): ppointer; cdecl; external newtlib;
  227. function newtCheckboxTreeGetCurrent(co:newtComponent):pointer; cdecl; external newtlib;
  228. function newtCheckboxTreeGetMultiSelection(co:newtComponent; numitems:Plongint; seqnum:char): ppointer; cdecl; external newtlib;
  229. function newtCheckboxTreeAddItem(co:newtComponent; text:Pchar; data:pointer; flags:longint; index:longint):longint; cdecl; varargs; external newtlib;
  230. function newtCheckboxTreeAddArray(co:newtComponent; text:Pchar; data:pointer; flags:longint; indexes:Plongint):longint; cdecl; external newtlib;
  231. function newtCheckboxTreeFindItem(co:newtComponent; data:pointer):plongint; cdecl; external newtlib;
  232. function newtTextboxReflowed(left:longint; top:longint; text:Pchar; width:longint; flexDown:longint; flexUp:longint; flags:longint):newtComponent; cdecl; external newtlib;
  233. function newtTextbox(left:longint; top:longint; width:longint; height:longint; flags:longint):newtComponent; cdecl; external newtlib;
  234. procedure newtTextboxSetText(co:newtComponent; text:Pchar); cdecl; external newtlib;
  235. procedure newtTextboxSetHeight(co:newtComponent; height:longint); cdecl; external newtlib;
  236. function newtTextboxGetNumLines(co:newtComponent):longint; cdecl; external newtlib;
  237. function newtReflowText(text:Pchar; width:longint; flexDown:longint; flexUp:longint; actualWidth:Plongint; actualHeight:Plongint):pchar; cdecl; external newtlib;
  238. function newtForm(vertBar:newtComponent; help:Pchar; flags:longint):newtComponent; cdecl; external newtlib;
  239. procedure newtFormSetTimer(form:newtComponent; millisecs:longint); cdecl; external newtlib;
  240. procedure newtFormWatchFd(form:newtComponent; fd:longint; fdFlags:longint); cdecl; external newtlib;
  241. procedure newtFormSetSize(co:newtComponent); cdecl; external newtlib;
  242. function newtFormGetCurrent(co:newtComponent):newtComponent; cdecl; external newtlib;
  243. procedure newtFormSetBackground(co:newtComponent; color:longint); cdecl; external newtlib;
  244. procedure newtFormSetCurrent(co:newtComponent; subco:newtComponent); cdecl; external newtlib;
  245. procedure newtFormAddComponent(form:newtComponent; co:newtComponent); cdecl; external newtlib;
  246. procedure newtFormAddComponents(form:newtComponent); cdecl; varargs; external newtlib;
  247. procedure newtFormSetHeight(co:newtComponent; height:longint); cdecl; external newtlib;
  248. procedure newtFormSetWidth(co:newtComponent; width:longint); cdecl; external newtlib;
  249. function newtRunForm(form:newtComponent):newtComponent; cdecl; external newtlib; { obsolete }
  250. procedure newtFormRun(co:newtComponent; es:PnewtExitStruct); cdecl; external newtlib;
  251. procedure newtDrawForm(form:newtComponent); cdecl; external newtlib;
  252. procedure newtFormAddHotKey(co:newtComponent; key:longint); cdecl; external newtlib;
  253. function newtEntry(left:longint; top:longint; initialValue:Pchar; width:longint; resultPtr:PPchar; flags:longint):newtComponent; cdecl; external newtlib;
  254. procedure newtEntrySet(co:newtComponent; value:Pchar; cursorAtEnd:longint); cdecl; external newtlib;
  255. procedure newtEntrySetFilter(co:newtComponent; filter:newtEntryFilter; data:pointer); cdecl; external newtlib;
  256. function newtEntryGetValue(co:newtComponent):pchar; cdecl; external newtlib;
  257. procedure newtEntrySetFlags(co:newtComponent; flags:longint; sense:newtFlagsSense); cdecl; external newtlib;
  258. function newtScale(left:longint; top:longint; width:longint; fullValue:int64):newtComponent; cdecl; external newtlib;
  259. procedure newtScaleSet(co:newtComponent; amount:qword); cdecl; external newtlib;
  260. procedure newtComponentAddCallback(co:newtComponent; f:newtCallback; data:pointer); cdecl; external newtlib;
  261. procedure newtComponentTakesFocus(co:newtComponent; val:longint); cdecl; external newtlib;
  262. procedure newtFormDestroy(form:newtComponent); cdecl; external newtlib;
  263. function newtCreateGrid(cols:longint; rows:longint):newtGrid;cdecl; external newtlib;
  264. function newtGridVStacked(_type:newtGridElement; what:pointer):newtGrid;cdecl; varargs; external newtlib;
  265. function newtGridVCloseStacked(_type:newtGridElement; what:pointer):newtGrid;cdecl; varargs; external newtlib;
  266. function newtGridHStacked(type1:newtGridElement; what1:pointer):newtGrid;cdecl; varargs; external newtlib;
  267. function newtGridHCloseStacked(type1:newtGridElement; what1:pointer):newtGrid;cdecl; varargs; external newtlib;
  268. function newtGridBasicWindow(text:newtComponent; middle:newtGrid; buttons:newtGrid):newtGrid;cdecl; external newtlib;
  269. function newtGridSimpleWindow(text:newtComponent; middle:newtComponent; buttons:newtGrid):newtGrid;cdecl; external newtlib;
  270. procedure newtGridSetField(grid:newtGrid; col:longint; row:longint; _type:newtGridElement; val:pointer;
  271. padLeft:longint; padTop:longint; padRight:longint; padBottom:longint; anchor:longint;
  272. flags:longint);cdecl; external newtlib;
  273. procedure newtGridPlace(grid:newtGrid; left:longint; top:longint);cdecl; external newtlib;
  274. procedure newtGridFree(grid:newtGrid; recurse:longint);cdecl; external newtlib;
  275. procedure newtGridGetSize(grid:newtGrid; width:Plongint; height:Plongint);cdecl; external newtlib;
  276. procedure newtGridWrappedWindow(grid:newtGrid; title:Pchar);cdecl; external newtlib;
  277. procedure newtGridWrappedWindowAt(grid:newtGrid; title:Pchar; left:longint; top:longint);cdecl; external newtlib;
  278. procedure newtGridAddComponentsToForm(grid:newtGrid; form:newtComponent; recurse:longint);cdecl; external newtlib;
  279. function newtButtonBarv(button1:Pchar; b1comp:PnewtComponent):newtGrid;cdecl;varargs; external newtlib;
  280. function newtButtonBar(button1:Pchar; b1comp:PnewtComponent):newtGrid;cdecl;varargs; external newtlib;
  281. procedure newtWinMessage(title:Pchar; buttonText:Pchar; text:Pchar);cdecl;varargs; external newtlib;
  282. procedure newtWinMessagev(title:Pchar; buttonText:Pchar; text:Pchar);cdecl;varargs; external newtlib;
  283. function newtWinChoice(title:Pchar; button1:Pchar; button2:Pchar; text:Pchar):longint;cdecl; varargs; external newtlib;
  284. function newtWinTernary(title:Pchar; button1:Pchar; button2:Pchar; button3:Pchar; message:Pchar):longint;cdecl;varargs; external newtlib;
  285. function newtWinMenu(title:Pchar; text:Pchar; suggestedWidth:longint; flexDown:longint; flexUp:longint; maxListHeight:longint; items:PPchar; listItem:Plongint; button1:Pchar):longint;cdecl; varargs; external newtlib;
  286. function newtWinEntries(title:Pchar; text:Pchar; suggestedWidth:longint; flexDown:longint; flexUp:longint;
  287. dataWidth:longint; items:PnewtWinEntry; button1:Pchar):longint;cdecl;varargs; external newtlib;
  288. implementation
  289. end.