Changelog 49 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042
  1. 2023-05-31 vindarel, cage
  2. * README.org,
  3. * nodgui.asd,
  4. * src/demo-tests.lisp,
  5. * src/nodgui.lisp,
  6. * src/package.lisp,
  7. * src/wish-communication.lisp:
  8. - added 'font-actual'.
  9. - added *default-theme* and :theme key to with-nodgui
  10. This way it is possible to call the demos with a new theme without
  11. modifying their source file,
  12. we can define the current theme from outside the with-nodgui event
  13. loop, and we can give a theme argument to nodgui.
  14. for #13
  15. - Merge branch 'master' of vindarel/nodgui into master
  16. - added 'default-theme' to prevent a 'missing variable' warning;
  17. - set the theme for all the demo at once when calling
  18. 'nodgui.demo:demo';
  19. - moved setting demo form before the user code starts to run.
  20. - increased version number.
  21. 2023-05-30 cage
  22. * nodgui.asd,
  23. * src/nodgui-mw.lisp:
  24. - ignore auto-completion when the key pressed follows a control or an
  25. alt key pressed;
  26. - increased version number.
  27. 2023-05-29 cage
  28. * README.org,
  29. * README.txt,
  30. * src/nodgui.lisp,
  31. * themes/yaru/LICENSE.org,
  32. * themes/yaru/yaru.tcl,
  33. * themes/yaru/yaru/arrow-down-basic.png,
  34. * themes/yaru/yaru/arrow-down-hover.png,
  35. * themes/yaru/yaru/arrow-up-basic.png,
  36. * themes/yaru/yaru/arrow-up-hover.png,
  37. * themes/yaru/yaru/button-basic.png,
  38. * themes/yaru/yaru/button-disabled.png,
  39. * themes/yaru/yaru/button-pressed.png,
  40. * themes/yaru/yaru/checkbox-basic.png,
  41. * themes/yaru/yaru/checkbox-selected-dis.png,
  42. * themes/yaru/yaru/checkbox-selected.png,
  43. * themes/yaru/yaru/empty.png,
  44. * themes/yaru/yaru/entry-basic.png,
  45. * themes/yaru/yaru/entry-disabled.png,
  46. * themes/yaru/yaru/entry-focus.png,
  47. * themes/yaru/yaru/entry-hover.png,
  48. * themes/yaru/yaru/minus.png,
  49. * themes/yaru/yaru/plus.png,
  50. * themes/yaru/yaru/progressbar-hor.png,
  51. * themes/yaru/yaru/progressbar-trough-hor.png,
  52. * themes/yaru/yaru/progressbar-trough-vert.png,
  53. * themes/yaru/yaru/progressbar-vert.png,
  54. * themes/yaru/yaru/radio-basic.png,
  55. * themes/yaru/yaru/radio-mix.png,
  56. * themes/yaru/yaru/radio-selected-dis.png,
  57. * themes/yaru/yaru/radio-selected.png,
  58. * themes/yaru/yaru/scale-slider-hover.png,
  59. * themes/yaru/yaru/scale-slider.png,
  60. * themes/yaru/yaru/scale-trough-disabled.png,
  61. * themes/yaru/yaru/scale-trough.png,
  62. * themes/yaru/yaru/scrollbar-hor-gray.png,
  63. * themes/yaru/yaru/scrollbar-hor-orange.png,
  64. * themes/yaru/yaru/scrollbar-hor-purple.png,
  65. * themes/yaru/yaru/scrollbar-hor-trough.png,
  66. * themes/yaru/yaru/scrollbar-vert-gray.png,
  67. * themes/yaru/yaru/scrollbar-vert-orange.png,
  68. * themes/yaru/yaru/scrollbar-vert-purple.png,
  69. * themes/yaru/yaru/scrollbar-vert-trough.png,
  70. * themes/yaru/yaru/separator.png,
  71. * themes/yaru/yaru/sizegrip.png,
  72. * themes/yaru/yaru/tab-basic.png,
  73. * themes/yaru/yaru/tab-current.png,
  74. * themes/yaru/yaru/tab-hover.png,
  75. * themes/yaru/yaru/tree-basic.png,
  76. * themes/yaru/yaru/tree-pressed.png:
  77. - ensured 'use-theme' actually applies the custom theme chosen by the
  78. user;
  79. - fixed type error in 'theme-names'.
  80. - updated README.org
  81. - added theme 'yaru'.
  82. - increased version number;
  83. - updated changelog.
  84. 2023-05-27 cage
  85. * src/nodgui.lisp,
  86. * src/package.lisp,
  87. * src/utils.lisp:
  88. - used '*themes-directory*' to search for custom themes;
  89. 2023-05-23 cage
  90. * Changelog,
  91. * nodgui.asd,
  92. * src/demo-tests.lisp,
  93. * src/events.lisp,
  94. * src/package.lisp,
  95. * src/text.lisp:
  96. - added 'unbind';
  97. - added 'line-info';
  98. - refactorized scrolled text bindings in read -only mode.
  99. - increased version number;
  100. - updated changelog.
  101. 2023-05-21 cage
  102. * nodgui.asd,
  103. * src/nodgui-mw.lisp,
  104. * src/nodgui.lisp,
  105. * src/text.lisp:
  106. - prevented a tooltip to became persistent when a long computation
  107. occurs.
  108. - refactored callbacks for scrolled text in read only mode.
  109. - improved the test to decide if a tooltip must be scheduled.
  110. - increased version number.
  111. 2023-05-20 cage
  112. * Changelog,
  113. * NEWS.org,
  114. * nodgui.asd,
  115. * src/demo-tests.lisp,
  116. * src/events.lisp,
  117. * src/package.lisp,
  118. * src/panedwindow.lisp:
  119. - removed function that does not works with ttk::paned-window.
  120. - increased version number;
  121. - improved 'lambda-debounce'.
  122. - updated NEWS and Changelog.
  123. 2023-05-18 cage
  124. * NEWS.org,
  125. * README.org,
  126. * README.txt:
  127. - updated documentation.
  128. - mentioned tkimg and new API in the README.
  129. 2023-05-17 cage
  130. * Changelog,
  131. * NEWS.org,
  132. * nodgui.asd,
  133. * src/package.lisp,
  134. * src/text.lisp,
  135. * src/trivial-debugger.lisp:
  136. - ensured cursor shape is restored when clicking on a text tag button.
  137. - printed a better backtrace when using the graphical debugger.
  138. - increased version number;
  139. - updated news and Changelog files.
  140. - fixed typo.
  141. 2023-05-16 cage
  142. * src/nodgui-mw.lisp:
  143. - fits selected index when deleteing items from a 'multifont-listbox'.
  144. 2023-05-14 cage
  145. * src/entry.lisp,
  146. * src/package.lisp:
  147. - added 'clear-selection' specialized on entry.
  148. 2023-05-12 cage
  149. * src/demo-tests.lisp,
  150. * src/photo-image.lisp:
  151. - changed test to guess if a string is a pathname to a bitmap file or
  152. a base64 encoded string representing a bitmap.
  153. 2023-05-11 cage
  154. * src/text.lisp:
  155. - changed event binding for callback in "make-text-tag-button":
  156. previously the function bound to the parameter "over-callback" was
  157. bound to the event "Enter", but now has been bound to the event
  158. "Motion".
  159. 2023-05-10 cage
  160. * src/events.lisp,
  161. * src/nodgui-mw.lisp:
  162. - using keypress instead of keyrelease event for autocomplete entry
  163. widget;
  164. doubled the debouncing delta.
  165. 2023-05-06 cage
  166. * src/tests/test-text-indices.lisp,
  167. * src/text.lisp:
  168. - updated the coordinate parser to include the ':end' coordinates
  169. specification (e.g. '(- :end 1 :chars) ).
  170. 2023-05-04 cage
  171. * src/nodgui-mw.lisp:
  172. - fixed issue thar prevented autocomplete candidates to pop up.
  173. 2023-05-03 cage
  174. * src/package.lisp:
  175. - unexport break-mainloop (it is not part of the public API anymore)
  176. and :*debug-settings-table* (unused).
  177. 2023-05-02 cage
  178. * nodgui.asd,
  179. * src/demo-tests.lisp,
  180. * src/error-handling.lisp,
  181. * src/nodgui-mw.lisp,
  182. * src/nodgui.lisp,
  183. * src/package.lisp,
  184. * src/synchronized-queue.lisp,
  185. * src/tests/package.lisp,
  186. * src/tests/test-nodgui.lisp,
  187. * src/tests/test-styles.lisp,
  188. * src/text.lisp,
  189. * src/tklib/notify-window.lisp,
  190. * src/trivial-debugger.lisp,
  191. * src/widget.lisp,
  192. * src/wish-communication.lisp:
  193. - rewritten the main loop;
  194. - modified 'with-modal-toplevel';
  195. - optimized stars progress bar.
  196. - used the right function to exit from the nodgui mainloop.
  197. 2023-04-23 cage
  198. * src/canvas-shapes.lisp,
  199. * src/canvas.lisp,
  200. * src/checkbutton.lisp,
  201. * src/demo-tests.lisp,
  202. * src/dialog.lisp,
  203. * src/entry.lisp,
  204. * src/listbox.lisp,
  205. * src/menucheckbutton.lisp,
  206. * src/menuradiobutton.lisp,
  207. * src/nodgui.lisp,
  208. * src/notebook.lisp,
  209. * src/package.lisp,
  210. * src/panedwindow.lisp,
  211. * src/photo-image.lisp,
  212. * src/radiobutton.lisp,
  213. * src/styles.lisp,
  214. * src/text.lisp,
  215. * src/tklib/misc-widget.lisp,
  216. * src/tklib/notify-window.lisp,
  217. * src/tklib/plot.lisp,
  218. * src/tktextvariable.lisp,
  219. * src/tkvariable.lisp,
  220. * src/toplevel.lisp,
  221. * src/treeview.lisp,
  222. * src/winfo.lisp,
  223. * src/wish-communication.lisp,
  224. * src/wm.lisp:
  225. Merge branch 'various-fix' into wrap-text-widget
  226. - wrapped all needed code with the macro 'with-read-data';
  227. - used function 'dbg' instead of writing to *trace*output directly;
  228. - started experimenting with multithreading.
  229. 2023-04-16 cage
  230. * src/nodgui-mw.lisp:
  231. - complete automatically the entry if there is only one candidate.
  232. 2023-04-15 cage
  233. * src/nodgui-mw.lisp,
  234. * src/nodgui.lisp,
  235. * src/package.lisp,
  236. * src/text.lisp,
  237. * src/trivial-debugger.lisp,
  238. * src/wish-communication.lisp:
  239. - fixed 'height-in-chars';
  240. - added navigation with: 'home', 'end', 'pageup' and 'pagedown' keys,
  241. for the scrolled text widget in 'read-only' mode;
  242. - terminate the program when pressing the 'exit' button in the debug
  243. window.
  244. - fixed scrolling up (using 'pageup' key) scrolled text widget when in
  245. read-only mode.
  246. - prevented crash when getting values from an empty multifont-listbox.
  247. - removed code about remote connection and serve-event.
  248. 2023-04-10 cage
  249. * src/demo-tests.lisp,
  250. * src/listbox.lisp,
  251. * src/nodgui-mw.lisp,
  252. * src/text.lisp,
  253. * src/treeview.lisp:
  254. - fixed case sensitive argument when searching a regular expression in
  255. a text widget;
  256. - added minor cosmetic fixes to searchable-listbox.
  257. - removed downcasing position for methods 'see'.
  258. 2023-04-09 cage
  259. * src/nodgui.lisp,
  260. * src/package.lisp,
  261. * src/treeview.lisp,
  262. * src/trivial-debugger.lisp:
  263. - reverted 'with-modal-recursive-toplevel' to 'with-modal-toplevel',
  264. added 'with-toplevel';
  265. - fixed 'treeview-refit-columns-width'.
  266. 2023-04-06 cage
  267. * src/nodgui-mw.lisp,
  268. * src/text.lisp:
  269. - [MW] fixed positioning of tooltip when it is placed close to the
  270. edge.
  271. - prevented a crash when asking for a mouse cursor that the library
  272. can not handle, use a fallback instead.
  273. 2023-04-05 cage
  274. * src/nodgui-mw.lisp,
  275. * src/package.lisp:
  276. - fixed package that export 'find-cursor';
  277. - specialized text setter on autocomplete entry.
  278. 2023-04-03 cage
  279. * src/nodgui.lisp,
  280. * src/package.lisp,
  281. * src/trivial-debugger.lisp:
  282. - simplified (and likely fixed) macro 'with-modal-toplevel'.
  283. 2023-04-01 cage
  284. * nodgui.asd,
  285. * src/canvas.lisp,
  286. * src/events.lisp,
  287. * src/menu.lisp,
  288. * src/menubutton.lisp,
  289. * src/nodgui-mw.lisp,
  290. * src/nodgui.lisp,
  291. * src/package.lisp,
  292. * src/panedwindow.lisp,
  293. * src/treeview.lisp:
  294. - added macro 'lambda-debounce';
  295. - debouncing keyrelease events for autocomplete entry;
  296. - cheged padding for fitting columns in a treeview.
  297. - moved a bunch of functions definition to prevent a warning.
  298. 2023-03-29 cage
  299. * src/treeview.lisp:
  300. - fixed 'treeview-refit-columns-width' ( the loop was missing a
  301. column, also increased minwidth to improve the visuals).
  302. 2023-03-28 cage
  303. * src/package.lisp,
  304. * src/treeview.lisp:
  305. - refactored code that was used to configure treeview column data.
  306. - added 'treeview-refit-columns-width'.
  307. - prevented trying to fit columns when the treeview is empty.
  308. 2023-03-27 cage
  309. * src/treeview.lisp:
  310. - prevented crash when using heading strings containing spaces for
  311. treeview.
  312. 2023-03-25 cage
  313. * src/nodgui-mw.lisp:
  314. - bound the inner text to the click event in the candidates widget for
  315. an autocomplete entry.
  316. - changed mouse pointer shape when entering mouse over a multifont
  317. listbox.
  318. 2023-03-19 cage
  319. * src/package.lisp,
  320. * src/text.lisp:
  321. - added 'scroll-until-line-on-top' for text widgets.
  322. 2023-03-08 cage
  323. * src/nodgui-mw.lisp,
  324. * src/package.lisp:
  325. - exported 'hide-candidates' specialized on
  326. 'autocomplete-entry-widget'.
  327. 2023-03-03 cage
  328. * src/text.lisp:
  329. - added functions callback arguments for button link when the mouse
  330. pointer enter or leave the link;
  331. - made the scrolled text accepts and pass to the text widget slot all
  332. the intiargs of the text widget class.
  333. 2023-02-25 cage
  334. * src/demo-tests.lisp,
  335. * src/package.lisp,
  336. * src/text.lisp:
  337. - added constants for tags that surrounds matching text in a regular
  338. expression search.
  339. - added 'tag-ranges'.
  340. - added 'make-link-button' for text widget;
  341. - removed duplicated code.
  342. - added missing function call to 'parse-line-char-index'.
  343. - added 'move-cursor-to-last-line'.
  344. - moved some symbols to the right package.
  345. - fixed 'move-cursor-to-last-line'.
  346. 2023-02-24 cage
  347. * src/nodgui-mw.lisp:
  348. - renamed function used by 'multifont-listbox', not
  349. 'autocomplete-entry'.
  350. - discarded useless keypress when doing autocomplete.
  351. 2023-02-22 cage
  352. * src/package.lisp:
  353. - exported functions to generate start and end indices of a text
  354. widget.
  355. 2023-02-18 cage
  356. * src/demo-tests.lisp,
  357. * src/nodgui-mw.lisp,
  358. * src/package.lisp:
  359. - renamed autocomplete widget slot: from 'entry-widget' to
  360. 'autocomplete-entry-widget'.
  361. - fixed typo.
  362. - forcing a minimum width for candidates of autocomplete entry widget.
  363. - optimized 'listbox-move-selection' specialized on
  364. 'multifont-listbox'; there was no reason to delete the whole
  365. multifont-listbox's content, just to shift the highlighted item.
  366. 2023-02-17 cage
  367. * src/nodgui-mw.lisp,
  368. * src/nodgui.lisp,
  369. * src/package.lisp,
  370. * src/wm.lisp:
  371. - added constant '+standard-cursor+';
  372. - added wm-attributes constants names.
  373. - added '*force-sync-data-multifont-listbox*' to postpone the
  374. expensive synchronization of lisp and TCL data;
  375. - optimized a bit autocomplete entry redrawing.
  376. - force wait complete redraw before showing candidates window in
  377. autocomplete entry widget.
  378. 2023-02-16 cage
  379. * nodgui.asd,
  380. * src/demo-tests.lisp,
  381. * src/events.lisp,
  382. * src/nodgui-mw.lisp,
  383. * src/nodgui.lisp,
  384. * src/package.lisp,
  385. * src/text.lisp,
  386. * src/tklib/plot.lisp:
  387. - moved 'multifont-listbox' in megawidget file;
  388. - made 'autocomplete-entry' uses 'multifont-listbox'.
  389. - added function 'find-cursor'.
  390. - added function 'create-tag-name';
  391. - exported a bunch of symbols.
  392. - fixed tagging of regex in function 'search-regexp'.
  393. - added multifont listbox demo.
  394. - moved some events related code to a new file to remove a warning.
  395. 2023-02-12 cage
  396. * src/demo-tests.lisp,
  397. * src/nodgui-mw.lisp,
  398. * src/text.lisp,
  399. * src/winfo.lisp:
  400. - added two functions to approximate width and height in chars of a
  401. text widget;
  402. - fixed tag-delete for text widget;
  403. - added highlight-text-line for text widget;
  404. - added multifont-listbox a text widget that try to mimic a textbox
  405. (single selection only, yet);
  406. - renamed 'widget-width' and 'widget-height' to 'window-width' and
  407. 'window-height'.
  408. - added default click event response for multifont-listbox;
  409. - added 'boldify-multifont-item'.
  410. 2023-02-11 cage
  411. * src/nodgui.lisp,
  412. * src/package.lisp:
  413. - added function 'wait-complete-redraw' (in TK terms is the command
  414. 'update idletasks').
  415. 2023-02-05 cage
  416. * src/nodgui-mw.lisp:
  417. - added configuring 'master' for autocomplete trxt entry widget.
  418. - made the listbox of the autocomplete-entry widget have the same
  419. width of the entry whom it is attached.
  420. 2023-01-27 cage
  421. * src/demo-tests.lisp,
  422. * src/nodgui.lisp,
  423. * src/package.lisp,
  424. * src/text.lisp,
  425. * src/winfo.lisp:
  426. - added function to move cursor in a text widget;
  427. - added read-only mode for scrolled text widget;
  428. - added functions to get relative coordinates for a widget;
  429. - added parsing of coordinates for function 'see' specialized on text
  430. widget;
  431. - added function 'font-chooser-show'.
  432. - added a working wrapper for fontchooser.
  433. 2023-01-24 cage
  434. * src/demo-tests.lisp,
  435. * src/package.lisp,
  436. * src/text.lisp:
  437. - added method 'maximum-lines-number', specialized on text widgets.
  438. 2023-01-23 cage
  439. * src/demo-tests.lisp,
  440. * src/package.lisp,
  441. * src/tcl-glue-code.lisp,
  442. * src/text.lisp:
  443. - fixed regex tag stopper index in 'search-regexp'.
  444. former code was using `(:char start-reline :char ,(+ start-re-char
  445. size-re))
  446. but this form could go beyond the current line, better use:
  447. `(+ (:char start-reline :char ,start-re-char) ,size-re :chars)
  448. Also the index form is returned by the function as the last of the
  449. multiple values.
  450. - added function 'text-in-range';
  451. - added function 'search-all-text'
  452. - chand an argument's name for a few text related functions;
  453. - removed two, now unused, TCL procedures;
  454. - removed useless exported symbol.
  455. 2023-01-22 cage
  456. * nodgui.asd,
  457. * src/button.lisp,
  458. * src/demo-tests.lisp,
  459. * src/nodgui.lisp,
  460. * src/package.lisp,
  461. * src/tests/package.lisp,
  462. * src/tests/test-event-parser.lisp,
  463. * src/tests/test-text-indices.lisp,
  464. * src/text.lisp,
  465. * src/utils.lisp,
  466. * src/wish-communication.lisp:
  467. - modified 'configure' specialized on 'button;
  468. with 'option' argument equals to ':text' will set the label of the button.
  469. +---------+
  470. | label1 |
  471. +---------+
  472. | (configure button :text "label2")
  473. +---------+
  474. | label2 |
  475. +---------+
  476. - added a lot more function to wrap the widget text, a couple are
  477. syntactic sugar like:
  478. - highlight-text;
  479. - make-text-tag-button.
  480. - the indices specification for the text widget can be specified in a
  481. more lispy way:
  482. '(+ (:tag "3" :last) 10 :lines), instead of: "3.last +10 lines".
  483. - added an optional prefix argument for 'create-name';
  484. - added a lock for the function 'get-counter' to prevent race
  485. condition.
  486. - added function to search a regular expression in the text widget's
  487. contents.
  488. 2022-12-26 cage
  489. * Changelog,
  490. * NEWS.org,
  491. * nodgui.asd,
  492. * src/demo-tests.lisp,
  493. * src/listbox.lisp,
  494. * src/nodgui-mw.lisp,
  495. * src/package.lisp,
  496. * src/text.lisp,
  497. * src/widget-helpers.lisp:
  498. - added 'listbox-move-selection';
  499. - added 'see' command for listbox;
  500. - added an autocomplete entry widget.
  501. - increased version number;
  502. - updated NEWS.org.
  503. - added a bit of documentation for 'autocomplete-entry'.
  504. - fixed demo.
  505. 2022-12-25 cage
  506. * Changelog,
  507. * nodgui.asd,
  508. * src/demo-tests.lisp,
  509. * src/event-parser.lisp,
  510. * src/package.lisp,
  511. * src/winfo.lisp:
  512. - fixed parsing of virtual events.
  513. - increased version number.
  514. - updated changelog.
  515. - added 'root-x' and 'root-y'.
  516. - added aliases for 'root-x' and 'root-y'.
  517. - added 'widget-width' and 'widget-height'.
  518. 2022-12-07 cage
  519. * Changelog,
  520. * nodgui.asd,
  521. * src/demo-tests.lisp,
  522. * src/package.lisp,
  523. * src/photo-image.lisp,
  524. * src/utils.lisp,
  525. * src/wish-communication.lisp:
  526. - used tkimg package, if available, to load bitamps from a file.
  527. - updated changelog.
  528. - increased version number.
  529. 2022-11-18 cage
  530. * NEWS.org,
  531. * README.org,
  532. * README.txt,
  533. * src/utils.lisp:
  534. - updated NEWS.org and READMEs.
  535. 2022-11-10 cage
  536. * Changelog,
  537. * nodgui.asd:
  538. - increased version number.
  539. - updated Changelog.
  540. 2022-11-09 cage
  541. * README.org,
  542. * README.txt,
  543. * nodgui.asd,
  544. * src/demo-tests.lisp,
  545. * src/event-parser.lisp,
  546. * src/nodgui-mw.lisp,
  547. * src/package.lisp,
  548. * src/styles.lisp,
  549. * src/tests/test-event-parser.lisp,
  550. * src/tests/test-styles.lisp,
  551. * src/utils.lisp:
  552. - removed two dependencies: cl-lex and cl-yacc.
  553. - changed function's name;
  554. - changed allowed ':action' keyword parameter for 'make-style'.
  555. 2022-11-06 cage
  556. * src/demo-tests.lisp,
  557. * src/package.lisp:
  558. - exported 'insert-layout'.
  559. 2022-11-05 cage
  560. * nodgui.asd,
  561. * src/demo-tests.lisp,
  562. * src/package.lisp,
  563. * src/styles.lisp,
  564. * src/tests/package.lisp,
  565. * src/tests/test-styles.lisp,
  566. * src/tests/test-tcl-emitter.lisp:
  567. - added API to manipulate ttk styles;
  568. - fixed tests.
  569. 2022-08-25 cage
  570. * Changelog,
  571. * nodgui.asd:
  572. - increased version number;
  573. updated changelog.
  574. 2022-08-21 cage
  575. * src/package.lisp,
  576. * src/treeview.lisp:
  577. - made 'scrolled-treeview' respects the keyword argument:
  578. ':displaycolumns';
  579. - added generic function: "setup-display-columns" (even if used only
  580. in treeview so far).
  581. 2022-08-20 cage
  582. * src/widget-helpers.lisp:
  583. - fixed intargs 'columns' and 'displaycolumns' for treeview
  584. These two arguments take a list on the TCL side but the lisp did not
  585. unsplice the data; passing "(a b c)" instead of: "a b c".
  586. 2022-08-15 cage
  587. * Changelog,
  588. * nodgui.asd:
  589. - increased version number;
  590. - updated Changelog.
  591. 2022-08-07 cage
  592. * src/wish-communication.lisp:
  593. - added ":sharing :lock" parameter when creating the pipe to the qish
  594. process on CCL.
  595. 2022-07-30 cage
  596. * src/entry.lisp,
  597. * src/spinbox.lisp:
  598. - ensured validation mode that causes trouble are not used
  599. There is a problem when using :validate :all or ':validate focus' in a
  600. entry or a spinbox.
  601. If the next action after the entry loosed focus is a click on a menu,
  602. and then on
  603. a menu button, the program freezes.
  604. This behaviour will not happen if validate is :focusout, though.
  605. 2022-07-27 cage
  606. * src/demo-tests.lisp:
  607. - removed call to 'uiop:quit', this is not the right way to quit a
  608. program that uses nodgui.
  609. 2022-06-04 cage
  610. Merge branch 'removing-colors-with-reader-macro'
  611. 2022-02-21 cage
  612. * Changelog,
  613. * src/canvas-shapes.lisp,
  614. * src/canvas.lisp,
  615. * src/demo-tests.lisp,
  616. * src/listbox.lisp,
  617. * src/nodgui-mw.lisp,
  618. * src/tklib/misc-widget.lisp,
  619. * src/tklib/plot.lisp:
  620. - removed colors defined with the reader macro.
  621. - fixed arguments of two, cavas-item related, functions.
  622. 2021-11-07 cage
  623. * src/ubvec4.lisp:
  624. - fixed 'ubvec4-normalize', length variable was bound to a float, not
  625. an unsigned octect (thanks quicklisp and sbcl\!).
  626. 2021-04-24 cage
  627. * src/nodgui.lisp:
  628. - made 'grid' accepts 'pad' argument formed by a list,
  629. - refactored pad frelated code in a function.
  630. Merge branch 'master' into development
  631. 2021-04-23 cage
  632. * src/nodgui.lisp:
  633. Merge branch 'master' of peterlane/nodgui into master
  634. - rewritten 'pack' using tclize.
  635. 2021-04-22 Peter Lane
  636. * src/sanitize.lisp:
  637. Fixes issue 22 - sanitize mis-formats numbers
  638. The sanitize function converts numbers (actually, all non-strings,
  639. non-lists) to a string (using to-s) before they get to the format
  640. control string, and to-s uses the ~a directive. This means the control
  641. string provided to format-wish cannot use numeric directives.
  642. This fix adds a method to handle numbers by passing them back
  643. unchanged
  644. for formatting by the format-wish control string.
  645. 2021-04-21 cage
  646. * nodgui.asd,
  647. * src/nodgui.lisp,
  648. * src/wish-communication.lisp:
  649. - added :class and :title args to 'with-nodgui'.
  650. - used default title if not specified as argument to 'with-ltk'.
  651. 2021-04-19 cage
  652. * nodgui.asd,
  653. * src/dialog.lisp,
  654. * src/nodgui.lisp:
  655. - allowed unescaped '{' and '}' as title for choose color dialog;
  656. - added :name as synonym for :title as key argument to `with-nodgui'.
  657. - updated version.
  658. 2021-03-06 cage
  659. * src/package.lisp,
  660. * src/tklib/plot.lisp,
  661. * src/utils.lisp:
  662. - [tklib] fixed width of error bar in dot plot.
  663. - [tklib] prevented crash when a plot with no legend for a data set is
  664. drawn on canvas.
  665. 2021-03-05 cage
  666. * nodgui.asd,
  667. * src/canvas-shapes.lisp,
  668. * src/package.lisp,
  669. * src/pixmap.lisp,
  670. * src/utils.lisp:
  671. - removed :type slots for a canvas shape (triggrered a warning).
  672. - added a pixmap class file that can be manipulated without loading
  673. bitmap into file.
  674. - increased version.
  675. 2021-02-20 cage
  676. * README.org,
  677. * README.txt,
  678. * nodgui.asd,
  679. * src/nodgui-mw.lisp:
  680. - fixed indentation.
  681. - removed note from README.
  682. Merge branch 'thread-safe'
  683. - updated version.
  684. 2020-09-28 cage
  685. * src/listbox.lisp:
  686. - added missing argument for 'listbox-colorize-item' spacialized on
  687. 'scrolled-listbox'.
  688. 2020-09-26 cage
  689. * src/listbox.lisp,
  690. * src/package.lisp:
  691. - added 'listbox-colorize-item' amd 'listbox-size'.
  692. 2020-09-16 cage
  693. * src/widget.lisp,
  694. * src/wm.lisp:
  695. - prevented crash when (de)iconifying *tk*.
  696. 2020-09-09 cage
  697. * src/canvas.lisp,
  698. * src/nodgui.lisp,
  699. * src/tcl-glue-code.lisp,
  700. * src/tklib/plot.lisp:
  701. - fixed out of range index when building an event struct.
  702. 2020-09-08 cage
  703. * src/listbox.lisp:
  704. - fixed listbox-insert to allow use :end as index.
  705. 2020-09-05 cage
  706. * src/nodgui.lisp,
  707. * src/wish-communication.lisp:
  708. - restored enqueueing event mechanism.
  709. 2020-08-24 cage
  710. * src/nodgui.lisp,
  711. * src/photo-image.lisp,
  712. * src/tklib/notify-window.lisp,
  713. * src/wish-communication.lisp:
  714. - removed a workaround.
  715. - added call to 'read-data' to prevents infinite loop.
  716. - added call to 'read-data' to prevents infinite loop (notify window).
  717. - removed useless variables and commented code.
  718. 2020-08-23 cage
  719. * src/demo-tests.lisp,
  720. * src/nodgui.lisp,
  721. * src/tklib/notify-window.lisp,
  722. * src/wish-communication.lisp:
  723. - moved locks into connection struct.
  724. - added concurrent reading and writing to wish process.
  725. - made CPU works less.
  726. 2020-08-18 cage
  727. * README.org,
  728. * README.txt,
  729. * nodgui.asd,
  730. * src/demo-tests.lisp,
  731. * src/nodgui-mw.lisp,
  732. * src/text.lisp,
  733. * src/wish-communication.lisp:
  734. - adding locks in pipe I/O;
  735. - added new demo (multithread);
  736. Removed lock from timeout message widget.
  737. - added function to clean close pipe when quitting demo.
  738. - increased version.
  739. 2020-06-26 cage
  740. * src/package.lisp,
  741. * src/winfo.lisp:
  742. - added 'children-pathname' and 'parent-pathname'.
  743. 2020-06-11 cage
  744. * README.org,
  745. * nodgui.asd,
  746. * src/nodgui.lisp,
  747. * src/package.lisp:
  748. - added function to eval an external TCL script for a file.
  749. - fixed docstring.
  750. 2020-04-03 cage
  751. * src/demo-tests.lisp,
  752. * src/tcl-glue-code.lisp,
  753. * src/widget-helpers.lisp:
  754. - added more arguments passed to validatecommand function from TCL
  755. side.
  756. 2020-03-27 cage
  757. * NEWS.org:
  758. - added NEWS.org
  759. 2020-03-25 cage
  760. * nodgui.asd,
  761. * src/demo-tests.lisp,
  762. * src/nodgui-mw.lisp,
  763. * src/package.lisp,
  764. * src/tcl-glue-code.lisp,
  765. * src/widget-helpers.lisp,
  766. * src/wish-communication.lisp:
  767. - fixed "validatecommand" option for TK 'entry';
  768. - fixed typo;
  769. - updated version.
  770. 2020-01-02 cage
  771. * src/tklib/calendar.lisp,
  772. * src/utils.lisp:
  773. - changed package name: from 'cl-colors' to 'cl-colors2'.
  774. 2019-12-12 cage
  775. * src/demo-tests.lisp,
  776. * src/nodgui-mw.lisp,
  777. * src/package.lisp,
  778. * src/photo-image.lisp,
  779. * src/utils.lisp,
  780. * src/wish-communication.lisp:
  781. - made `message-with-timeout` transient;
  782. - added a new widget `message-with-timeout-callback';
  783. - tried to be more clever in `makeimage' specialized on `string':
  784. when the string contains a `.' assume is a path to a file and try to
  785. open load it (PNG and GIF format only);
  786. - other minor chages.
  787. 2019-12-07 cage
  788. * nodgui.asd,
  789. * src/canvas.lisp,
  790. * src/demo-tests.lisp,
  791. * src/package.lisp,
  792. * src/tcl-emitter.lisp,
  793. * src/tklib/plot.lisp:
  794. - added symbols type for dot plot (triangle, circle etc.);
  795. - `colorize' can optionally skips colors for canvas items.
  796. - increased version.
  797. 2019-12-01 cage
  798. * src/canvas.lisp:
  799. - made the library compile again;
  800. - added color fill color arg to 'make-line'.
  801. - added arg 'width' to 'make-line'.
  802. 2019-11-30 cage
  803. * src/canvas.lisp,
  804. * src/demo-tests.lisp,
  805. * src/event-symbols.lisp,
  806. * src/nodgui.lisp,
  807. * src/package.lisp:
  808. - added some helper functions for canvas and convas items;
  809. - added 'unicode-char' to slots of the 'event' struct.
  810. - fixed 'move-to';
  811. - added 'make-circle'.
  812. - added fill and outline color arguments for 'make-circle'.
  813. - added color args to some shapes creating functions.
  814. - minor clean.
  815. 2019-10-10 cage
  816. * README.org,
  817. * nodgui.asd,
  818. * src/canvas.lisp,
  819. * src/demo-tests.lisp,
  820. * src/fit-line.lisp,
  821. * src/nodgui.lisp,
  822. * src/package.lisp,
  823. * src/tklib/package.lisp,
  824. * src/tklib/plot.lisp:
  825. - added a function to draw a line on a dot-plot.
  826. - removed footnotes in README.org.
  827. 2019-10-09 cage
  828. * src/demo-tests.lisp,
  829. * src/event-symbols.lisp:
  830. - fixed again demo.
  831. 2019-10-06 cage
  832. * nodgui.asd,
  833. * src/demo-tests.lisp,
  834. * src/nodgui-mw.lisp,
  835. * src/package.lisp:
  836. - prevent disappearing of space in 'demo-fitted-text' when text is
  837. deleted with a backspace;
  838. - minor cleaning.
  839. - increased version.
  840. 2019-09-29 cage
  841. * src/demo-tests.lisp,
  842. * src/package.lisp,
  843. * src/tcl-emitter.lisp,
  844. * src/treeview.lisp:
  845. - added chance to bypass tilde escaping if needed when TCL code is
  846. emitted.
  847. 2019-09-27 cage
  848. * README.org,
  849. * README.txt,
  850. * src/canvas-shapes.lisp,
  851. * src/canvas.lisp,
  852. * src/dialog.lisp,
  853. * src/entry.lisp,
  854. * src/listbox.lisp,
  855. * src/nodgui.lisp,
  856. * src/notebook.lisp,
  857. * src/package.lisp,
  858. * src/photo-image.lisp,
  859. * src/pixmap.lisp,
  860. * src/sanitize.lisp,
  861. * src/tcl-emitter.lisp,
  862. * src/tklib/calendar.lisp,
  863. * src/tklib/misc-widget.lisp,
  864. * src/tklib/notify-window.lisp,
  865. * src/tklib/plot.lisp,
  866. * src/tklib/swaplist.lisp,
  867. * src/treeview.lisp,
  868. * src/widget.lisp,
  869. * src/winfo.lisp,
  870. * src/wish-communication.lisp,
  871. * src/wm.lisp:
  872. - marked as deprecated the '#[...]' reader macro;
  873. - reduced the README's size (moved documentation to website).
  874. - removed #[...] reader macro where was used;
  875. - fixed 'repeat-periodic-coord'.
  876. 2019-09-08 cage
  877. * nodgui.asd,
  878. * src/demo-tests.lisp,
  879. * src/nodgui.lisp,
  880. * src/package.lisp,
  881. * src/sanitize.lisp,
  882. * src/tklib/package.lisp,
  883. * src/tklib/plot.lisp,
  884. * src/tkvariable.lisp:
  885. - added barchart widget;
  886. - refactored from structs to classes.
  887. - increased version.
  888. - readded a missing function.
  889. 2019-09-07 cage
  890. * nodgui.asd,
  891. * src/demo-tests.lisp,
  892. * src/nodgui-mw.lisp,
  893. * src/package.lisp,
  894. * src/tcl-emitter.lisp,
  895. * src/tklib/misc-widget.lisp,
  896. * src/tklib/package.lisp,
  897. * src/tklib/swaplist.lisp,
  898. * src/tkvariable.lisp,
  899. * src/utils.lisp:
  900. - added 'swaplist' widget;
  901. - made 'tkvariable' useful for a more general use;
  902. - minor refactoring for unicode symbols.
  903. - added equalizer bar widget.
  904. 2019-09-06 cage
  905. * src/tklib/package.lisp,
  906. * src/tklib/plot.lisp:
  907. - added some configuration options for plot.
  908. 2019-09-04 cage
  909. * src/demo-tests.lisp,
  910. * src/nodgui.lisp,
  911. * src/tcl-emitter.lisp,
  912. * src/tcl-glue-code.lisp,
  913. * src/tklib/package.lisp,
  914. * src/tklib/plot.lisp:
  915. - defproc macro accept optional arguments;
  916. - event struct own an optional slot;
  917. - added 'bind' and 'bindlast' for 'dot-plot'.
  918. - added callback for each point in a 'dot-plot'.
  919. 2019-09-01 cage
  920. * README.org,
  921. * README.txt,
  922. * nodgui.asd,
  923. * src/canvas.lisp,
  924. * src/demo-tests.lisp,
  925. * src/tklib/plot.lisp:
  926. - added errors bar for scatter plot's data.
  927. - added docstrings for plot widget.
  928. - updated version.
  929. - updated documentation.
  930. - fixed typo.
  931. 2019-08-31 cage
  932. * nodgui.asd,
  933. * src/demo-tests.lisp,
  934. * src/nodgui-mw.lisp,
  935. * src/nodgui.lisp,
  936. * src/package.lisp,
  937. * src/photo-image.lisp,
  938. * src/tklib/calendar.lisp,
  939. * src/tklib/notify-window.lisp,
  940. * src/tklib/package.lisp,
  941. * src/tklib/plot.lisp,
  942. * src/wish-communication.lisp:
  943. - added docstrings.
  944. - added notify-window.
  945. - added scatter plot.
  946. 2019-08-30 cage
  947. * nodgui.asd,
  948. * src/demo-tests.lisp,
  949. * src/package.lisp,
  950. * src/tklib/calendar.lisp,
  951. * src/tklib/package.lisp,
  952. * src/utils.lisp,
  953. * src/widget-helpers.lisp,
  954. * src/wish-communication.lisp:
  955. - [tklib] added calendar.
  956. 2019-08-16 cage
  957. * README.org,
  958. * README.txt:
  959. - updated documentation (compatibility matrix).
  960. 2019-06-29 cage
  961. * README.org,
  962. * README.txt,
  963. * nodgui.asd,
  964. * src/canvas-shapes.lisp,
  965. * src/canvas.lisp,
  966. * src/demo-tests.lisp,
  967. * src/dialog.lisp,
  968. * src/entry.lisp,
  969. * src/event-parser.lisp,
  970. * src/listbox.lisp,
  971. * src/nodgui-mw.lisp,
  972. * src/nodgui.lisp,
  973. * src/notebook.lisp,
  974. * src/package.lisp,
  975. * src/photo-image.lisp,
  976. * src/syntax.lisp,
  977. * src/tcl-emitter.lisp,
  978. * src/treeview.lisp,
  979. * src/utils.lisp,
  980. * src/widget.lisp,
  981. * src/winfo.lisp,
  982. * src/wm.lisp:
  983. - moved from cl-syntax to named-readtables.
  984. - fixed 'with-hourglass'
  985. this macro signalled a condition when one of the variables supposed
  986. to point to a widget was nil instead.
  987. - Updated README to point out that works on ECL..
  988. 2019-06-21 cage
  989. * src/nodgui.lisp,
  990. * src/utils.lisp:
  991. - trying to address thre problem on compilation with newer version of
  992. SBCL.
  993. - made the fonts definition more compact.
  994. 2019-06-06 cage
  995. * src/demo-tests.lisp,
  996. * src/nodgui.lisp,
  997. * src/package.lisp,
  998. * src/pixmap.lisp,
  999. * src/text.lisp,
  1000. * src/treeview.lisp,
  1001. * src/utils.lisp,
  1002. * src/wish-communication.lisp:
  1003. - added 'font-measure' and added parameter to 'font-families';
  1004. - import symbol define-constant from alexandria;
  1005. - refactored scrolled text class and method: moved to text.lisp source
  1006. file;
  1007. - horizontal scrollbar in scrolled-text-widget is optional;
  1008. - added a method to fit text in a scrolled-text-widget.
  1009. - added constants for standards fonts.
  1010. - moved 'camel-case->snail-case' to package utils.
  1011. 2019-04-26 cage
  1012. * src/nodgui-mw.lisp:
  1013. - [MW] added a visual hint that autocomplete listbox is actually
  1014. spending time looking for one or more entries that match the search
  1015. criteria the user has typed.
  1016. 2019-04-21 cage
  1017. * src/nodgui-mw.lisp,
  1018. * src/utils.lisp:
  1019. - added shortcut key for autocompletion text entry
  1020. (nodgui.mw:history-entry).
  1021. - added a visual hint for autocompletion choices in
  1022. nodgui-mw:history-entry.
  1023. - moved numerical position for autocompletions choice.
  1024. 2019-03-18 cage
  1025. * src/menu.lisp,
  1026. * src/package.lisp,
  1027. * src/tcl-emitter.lisp,
  1028. * src/wish-communication.lisp:
  1029. - escape tilde in unquoted forms of tclize, when the reader macro is
  1030. used.
  1031. 2019-03-15 cage
  1032. * src/treeview.lisp:
  1033. - removed "senddatastring" when setting heading of a treeview.
  1034. Senddatastring must be used when some kind of resuts are expected from
  1035. the TCL command just executed, this is not the case.
  1036. 2019-03-13 cage
  1037. * src/demo-tests.lisp,
  1038. * src/nodgui-mw.lisp:
  1039. - fixed closing of dialog-with-timeout.
  1040. 2019-03-11 cage
  1041. * src/treeview.lisp:
  1042. - added missing 'items' methods for 'scrolled-treeview'.
  1043. 2019-03-09 cage
  1044. * README.org,
  1045. * README.txt:
  1046. - update documentation: library compiles with latest CCL after ASDF
  1047. upgrade.
  1048. - updated README: added quote character when 'use-syntax' appears.
  1049. 2019-03-02 cage
  1050. * src/canvas-shapes.lisp,
  1051. * src/canvas.lisp,
  1052. * src/demo-tests.lisp,
  1053. * src/dialog.lisp,
  1054. * src/entry.lisp,
  1055. * src/event-parser.lisp,
  1056. * src/listbox.lisp,
  1057. * src/nodgui-mw.lisp,
  1058. * src/nodgui.lisp,
  1059. * src/notebook.lisp,
  1060. * src/package.lisp,
  1061. * src/photo-image.lisp,
  1062. * src/tcl-emitter.lisp,
  1063. * src/treeview.lisp,
  1064. * src/utils.lisp,
  1065. * src/widget.lisp,
  1066. * src/winfo.lisp,
  1067. * src/wm.lisp:
  1068. -added 'message-with-timeout' widget.
  1069. - fixed bug that prevented 'use-syntax' to get the options for
  1070. readtable.
  1071. 2019-03-01 cage
  1072. * src/checkbutton.lisp:
  1073. - checking for a number.
  1074. 2019-02-24 cage
  1075. * src/demo-tests.lisp,
  1076. * src/treeview.lisp:
  1077. - improved 'treewiew-move';
  1078. - fixed some labels on treeview demo.
  1079. - fixed return type of data form 'treeview-children'.
  1080. 2019-02-23 cage
  1081. * src/demo-tests.lisp,
  1082. * src/event-parser.lisp,
  1083. * src/package.lisp,
  1084. * src/tcl-emitter.lisp,
  1085. * src/treeview.lisp,
  1086. * src/utils.lisp:
  1087. - added 'treeview-find-item';
  1088. - added 'print-object' for treeview;
  1089. - fixed '(setf children)' and 'treeview-delete',
  1090. now the method sync tcl side with 'items' slot of treeview;
  1091. - removed some wrong unnecessary escaping.
  1092. - commented out all 'cl-syntax:use-syntax' where appeared in the same
  1093. file where
  1094. 'cl-syntax:defsyntax' is.
  1095. 2019-02-22 cage
  1096. * src/demo-tests.lisp,
  1097. * src/event-parser.lisp,
  1098. * src/tcl-emitter.lisp,
  1099. * src/treeview.lisp,
  1100. * src/utils.lisp:
  1101. - fixed 'treeview-insert-item' when called with an instance ot
  1102. 'tree-item.
  1103. - commented and expanded the treview example.
  1104. - removed a probably useless form in defsyntax.
  1105. 2019-02-21 cage
  1106. * src/demo-tests.lisp,
  1107. * src/nodgui.lisp:
  1108. - cosmetic fix
  1109. 2019-02-16 cage
  1110. * README.org,
  1111. * README.txt,
  1112. * src/canvas-shapes.lisp,
  1113. * src/canvas.lisp,
  1114. * src/demo-tests.lisp,
  1115. * src/nodgui-mw.lisp,
  1116. * src/package.lisp,
  1117. * src/wish-communication.lisp:
  1118. - added a progress displaying stars.
  1119. - updated README.
  1120. - cosmetic fix.
  1121. 2019-02-15 cage
  1122. * nodgui.asd,
  1123. * src/canvas-shapes.lisp,
  1124. * src/canvas.lisp,
  1125. * src/demo-tests.lisp,
  1126. * src/package.lisp,
  1127. * src/pixmap.lisp:
  1128. - begin with hi-level shapes for canvas (an, optionally, bicolor
  1129. star);
  1130. - prevent a crash when loading and rotating pixmap (TGA, JPG and RAW
  1131. format).
  1132. - fixed typo.
  1133. - added 'font' parameter to 'create-text';
  1134. - added very minor modification to canvas demo.
  1135. - prevent crash when 'font' parameter is used in 'create-text'.
  1136. - cosmetic clean.
  1137. 2019-02-08 cage
  1138. * README.org,
  1139. * README.txt,
  1140. * src/nodgui-mw.lisp:
  1141. - added documentation for megawidget;
  1142. - fixed typo.
  1143. 2019-02-07 cage
  1144. * nodgui.asd,
  1145. * src/nodgui-mw.lisp:
  1146. - discard unicode character if not found on system.
  1147. 2019-01-31 cage
  1148. * src/canvas.lisp,
  1149. * src/constants.lisp,
  1150. * src/demo-tests.lisp,
  1151. * src/package.lisp:
  1152. - added more option to canvas polygon item;
  1153. - added a function to draw a star shaped polygon on a canvas.
  1154. 2019-01-30 cage
  1155. * src/pixmap.lisp:
  1156. - fixed pixmap's bilinear interpolation;
  1157. - converted to correct type pivot vector element in pixmap rotation.
  1158. 2019-01-28 cage
  1159. * src/nodgui-mw.lisp:
  1160. - sort is destructive, copy list to prevent problems.
  1161. - fixed indentation.
  1162. 2019-01-26 cage
  1163. * src/canvas.lisp,
  1164. * src/demo-tests.lisp,
  1165. * src/event-parser.lisp,
  1166. * src/event-symbols.lisp,
  1167. * src/nodgui-mw.lisp,
  1168. * src/nodgui.lisp,
  1169. * src/package.lisp,
  1170. * src/tcl-glue-code.lisp,
  1171. * src/utils.lisp:
  1172. - [MW] added a date picker widget;
  1173. - removed spurious reader macro char.
  1174. - added password entry widget;
  1175. - added return of key symbol as number in event data;
  1176. - added an helping function to recognize printable key symbols.
  1177. - [MW] 'date-picker' scales with the widget is wrapped into;
  1178. - [MW} minor cosmetic fixes to 'date-picker'.
  1179. - fixed date demo sizes.
  1180. - [MW] moved tooltips position.
  1181. 2019-01-25 cage
  1182. * nodgui.asd,
  1183. * src/demo-tests.lisp,
  1184. * src/dialog.lisp,
  1185. * src/nodgui-mw.lisp,
  1186. * src/package.lisp:
  1187. - added :initial-file to file dialogs;
  1188. - [breaks API] used dash in some keyargs for some dialog:
  1189. filetypes -> file-types
  1190. initialdir -> initial-dir
  1191. initialcolor -> inital-color
  1192. - added MW demos to widget tests;
  1193. - exported some other symbols from nodgui;
  1194. - unexported 'send-wish' from nodgui.
  1195. 2019-01-22 cage
  1196. * src/nodgui-mw.lisp,
  1197. * src/package.lisp:
  1198. - added keyarg to set the text inside the entry of
  1199. 'text-input-dialog';
  1200. - added function to prevent adding already existing items in history
  1201. of an 'history-entry'.
  1202. 2019-01-18 cage
  1203. * src/nodgui-mw.lisp:
  1204. - added a few documentation strings for megawidgets.
  1205. 2019-01-17 cage
  1206. * src/nodgui-mw.lisp,
  1207. * src/package.lisp,
  1208. * src/widget-helpers.lisp:
  1209. - changed presentation of alternatives in 'history-entry';
  1210. - fixed bug in 'history-entry' when an user asked for copletion but no
  1211. alteratives existed.
  1212. - force sanitize of initarg in defwrapper.
  1213. 2019-01-16 cage
  1214. * nodgui.asd,
  1215. * src/listbox.lisp,
  1216. * src/nodgui.lisp,
  1217. * src/package.lisp,
  1218. * src/tcl-emitter.lisp:
  1219. - reverted 'event char' field to a string;
  1220. - added bypass-escape struct to remove escaping of string passed to
  1221. wish (must be used only when is ok to disable sanitizing of string,
  1222. e.g. no user input or non interpolated strings);
  1223. - in 'listbox-append' removed brace escape.
  1224. - fixed description field.
  1225. 2019-01-12 cage
  1226. * src/package.lisp:
  1227. - exported two functions related to pixmap.
  1228. 2019-01-11 cage
  1229. * src/listbox.lisp,
  1230. * src/package.lisp:
  1231. - exported 'break-mainloop'.
  1232. 2019-01-10 cage
  1233. * src/entry.lisp,
  1234. * src/nodgui-mw.lisp,
  1235. * src/package.lisp,
  1236. * src/utils.lisp:
  1237. - added autocomplete for 'history-entry'.
  1238. 2019-01-09 cage
  1239. * README.org,
  1240. * README.txt,
  1241. * src/canvas.lisp,
  1242. * src/demo-tests.lisp,
  1243. * src/dialog.lisp,
  1244. * src/listbox.lisp,
  1245. * src/nodgui-mw.lisp,
  1246. * src/notebook.lisp,
  1247. * src/package.lisp,
  1248. * src/photo-image.lisp,
  1249. * src/pixmap.lisp,
  1250. * src/tcl-emitter.lisp,
  1251. * src/treeview.lisp,
  1252. * src/widget.lisp,
  1253. * src/winfo.lisp,
  1254. * src/wm.lisp:
  1255. - force escaping when tclize is used.
  1256. - made the image routines works again with TGA and JPG.
  1257. - updated README.
  1258. - removed space that prevented notebook from working.
  1259. - return the correct data from 'listbox-values-in-range'.
  1260. - removed getting focus for 'searchable-listbox'.
  1261. 2019-01-08 cage
  1262. * nodgui.asd,
  1263. * src/canvas.lisp,
  1264. * src/demo-tests.lisp,
  1265. * src/dialog.lisp,
  1266. * src/listbox.lisp,
  1267. * src/message.lisp,
  1268. * src/nodgui.lisp,
  1269. * src/package.lisp,
  1270. * src/photo-image.lisp,
  1271. * src/sanitize.lisp,
  1272. * src/tcl-emitter.lisp,
  1273. * src/text.lisp,
  1274. * src/tktextvariable.lisp,
  1275. * src/treeview.lisp,
  1276. * src/widget-helpers.lisp,
  1277. * src/widget.lisp,
  1278. * src/wish-communication.lisp,
  1279. * src/wm.lisp:
  1280. - changed name of macro: 'tclize-if-true' -> 'empty-string-if-nil';
  1281. - removed 'wrap-braces';
  1282. - changed 'send-wish' to 'format-wish' when needed;
  1283. - removed some useless escaping.
  1284. 2019-01-07 cage
  1285. * src/canvas.lisp,
  1286. * src/demo-tests.lisp,
  1287. * src/listbox.lisp,
  1288. * src/nodgui.lisp,
  1289. * src/panedwindow.lisp,
  1290. * src/text.lisp,
  1291. * src/tktextvariable.lisp,
  1292. * src/treeview.lisp,
  1293. * src/widget-helpers.lisp,
  1294. * src/wish-communication.lisp:
  1295. - removed all ~/...~ format directive;
  1296. - removed tk-princ.
  1297. - added method to escape any string passed to format-wish;
  1298. - minor cleaning.
  1299. 2019-01-06 cage
  1300. * src/demo-tests.lisp,
  1301. * src/nodgui.lisp,
  1302. * src/notebook.lisp,
  1303. * src/tcl-glue-code.lisp,
  1304. * src/text.lisp,
  1305. * src/treeview.lisp:
  1306. - fixed 'notebook-traversal' (thanks mclements for the suggestion);
  1307. - removed embedded TCL code in 'load-text' and 'save-text'.
  1308. - added parameter :item for 'treeview-insert-item' and
  1309. 'treeview-insert-item-new'; both accepts a 'tree-item' instance now.
  1310. - fixed 'notebok-add' and 'notebook-tab', options was not correctly
  1311. managed (missing space and conversion).
  1312. - fixed char event; must be a char not a symbol.
  1313. 2019-01-05 cage
  1314. * src/demo-tests.lisp,
  1315. * src/listbox.lisp,
  1316. * src/nodgui-mw.lisp,
  1317. * src/package.lisp,
  1318. * src/treeview.lisp:
  1319. - fixed 'listbox-delete' for 'scrolled-listbox'. A 'scrolled-listbox'
  1320. has not a slot 'data'.
  1321. - added 'listbox-values-in-range' and 'listbox-all-value'.
  1322. - made treeview demo works again.
  1323. 2019-01-04 cage
  1324. * src/canvas.lisp,
  1325. * src/demo-tests.lisp,
  1326. * src/listbox.lisp,
  1327. * src/nodgui.lisp,
  1328. * src/tktextvariable.lisp,
  1329. * src/treeview.lisp,
  1330. * src/widget-helpers.lisp:
  1331. - escaped *initargs* and some few other statements of treeview and
  1332. listbox.
  1333. - added more escaping;
  1334. - minor cleaning.
  1335. - removed wrong space after treeitem's id when adding it to a
  1336. treeview.
  1337. - fixed escaping for calllback of treeview's header.
  1338. 2019-01-03 cage
  1339. * Changelog,
  1340. * src/canvas.lisp,
  1341. * src/demo-tests.lisp,
  1342. * src/dialog.lisp,
  1343. * src/entry.lisp,
  1344. * src/listbox.lisp,
  1345. * src/menu.lisp,
  1346. * src/menubutton.lisp,
  1347. * src/menucheckbutton.lisp,
  1348. * src/menuradiobutton.lisp,
  1349. * src/message.lisp,
  1350. * src/nodgui-mw.lisp,
  1351. * src/nodgui.lisp,
  1352. * src/notebook.lisp,
  1353. * src/package.lisp,
  1354. * src/panedwindow.lisp,
  1355. * src/photo-image.lisp,
  1356. * src/radiobutton.lisp,
  1357. * src/scale.lisp,
  1358. * src/tcl-emitter.lisp,
  1359. * src/text.lisp,
  1360. * src/treeview.lisp,
  1361. * src/wm.lisp:
  1362. - added listbox-dialog;
  1363. - added a function to trigger the autocomplete mechanism for
  1364. autocomplete-listbox.
  1365. - removed email from changelog.
  1366. - [BREAKS API] listbox-clear should not remove elements but clear
  1367. selection; there
  1368. is listbox-delete for elements removing.
  1369. - fixed treelist widget.
  1370. - added some escaping.
  1371. - added more escaping.
  1372. 2019-01-01 cage
  1373. * README.html,
  1374. * README.org,
  1375. * README.txt,
  1376. * src/listbox.lisp,
  1377. * src/nodgui-mw.lisp,
  1378. * src/package.lisp,
  1379. * src/treeview.lisp:
  1380. - updated README;
  1381. - added README in HTML format.
  1382. - removed README in html format;
  1383. - removed author in README in text format.
  1384. - added configuration of selection mode (noth method and intargs) for
  1385. all listboxes;
  1386. - minor cleaning.
  1387. - fixed bug in returned selected value of a listbox (there was
  1388. issues
  1389. when the value contained a space);
  1390. - added a trivial autocomplete list-box.
  1391. - added listbox-export-selection and export-selection to listbox.
  1392. - removed function call that makes listbox returns wrong selected
  1393. values.
  1394. - added treeview-insert-item-new;
  1395. - add an item to the internal tree of a treeview when the first is
  1396. inserted into the second and not when the item instanced.
  1397. 2018-12-30 cage
  1398. * src/listbox.lisp,
  1399. * src/nodgui-mw.lisp,
  1400. * src/package.lisp,
  1401. * src/toplevel.lisp,
  1402. * src/wm.lisp:
  1403. - [MW] user can specify a matching function for a searchable-listbox;
  1404. - [MW] added a pair of useful listbox methods specialized on
  1405. searchable-listbox;
  1406. - [MW] exported add-history;
  1407. - minor cleaning.
  1408. - added a simple dialog that waits for a textual imput from user;
  1409. - added "wm transient";
  1410. - users can change the label near the entry of a searchable-listbox
  1411. and retrieve entry text with a single function call too.
  1412. - added icon-photo;
  1413. - marked function as "not suggested".
  1414. - added 'listbox-get-selection-value' and
  1415. 'listbox-get-selection-index'
  1416. for listbox (and subclasses); users can get also the values of
  1417. the
  1418. selected item.
  1419. 2018-12-29 cage
  1420. * src/treeview.lisp:
  1421. - added widths setting for columns of a treeview.
  1422. 2018-12-27 cage
  1423. * nodgui.asd,
  1424. * src/entry.lisp,
  1425. * src/nodgui.lisp,
  1426. * src/package.lisp,
  1427. * src/photo-image.lisp,
  1428. * src/tcl-emitter.lisp,
  1429. * src/treeview.lisp,
  1430. * src/utils.lisp,
  1431. * src/wish-communication.lisp:
  1432. - [BREAKS API] moved and, most importantly, rewritten part of
  1433. treeview;
  1434. - readded missing native loading of image in PNG, GIF and RAW RGB
  1435. format (the latter non native, like JPG or TGA file format);
  1436. - added a macro to deal with optional TCL command parameter
  1437. 'tclize-if-true'
  1438. - added two functions to converto boolean type from list to TCL and
  1439. viceversa;
  1440. - added an optional parameter to 'read-data' to get the rest of the
  1441. list not only the second element of the returned (i.e. from wish)
  1442. data;
  1443. - removed warning in 'with-nodgui';
  1444. - added some more docstring.
  1445. - prevented 'create-name' to generate the name 'wm'
  1446. this name conflicts with the homonym TCL command;
  1447. - added a function to send message to wish with tilde character in it;
  1448. the tilde must be escaped otherwise 'format' will complains about
  1449. unknown directive.
  1450. - removed empty line.
  1451. 2018-12-23 cage
  1452. * src/nodgui.lisp,
  1453. * src/package.lisp,
  1454. * src/widget.lisp,
  1455. * src/wish-communication.lisp:
  1456. - added :title to macro with-nodgui (e.g. (with-nodgui (:title "etc")
  1457. ...));
  1458. - updated wish version fo freeBSD;
  1459. - added convenient macro: 'with-busy'.
  1460. 2018-12-20 cage
  1461. * README.org,
  1462. * README.txt,
  1463. * src/checkbutton.lisp,
  1464. * src/demo-tests.lisp,
  1465. * src/dialog.lisp,
  1466. * src/message.lisp,
  1467. * src/nodgui.lisp,
  1468. * src/spinbox.lisp,
  1469. * src/tkvariable.lisp,
  1470. * src/widget.lisp,
  1471. * src/wish-communication.lisp:
  1472. - using 'pprint-down' in grid-(column|row)configure'
  1473. this allows to use keyword :all as index;
  1474. - scaling buttons in main demo window;
  1475. - updated README's FAQ.
  1476. - added missing commands for spinbox.
  1477. - changed default initialdir of "get-open-file" and "get-save-file"
  1478. form '(namestring *default-pathname-defaults*))' to ""
  1479. (i.e. "whatever the OS choose");
  1480. - added "-parent" and "-initialdir" options to getSavefile too;
  1481. - moved *tk* variable.
  1482. - allow :initial-value key when instancing a 'tkvariable' so now is
  1483. possible to do:
  1484. (make-instance 'check-button
  1485. :text ...
  1486. :master ...
  1487. :initial-value nil)
  1488. - changed warning message.
  1489. - changed initdir for choose-directory (see 4d30f58a69);
  1490. - some cosmetic changes.
  1491. 2018-12-16 cage
  1492. * src/package.lisp,
  1493. * src/photo-image.lisp,
  1494. * src/pixmap.lisp,
  1495. * src/tcl-emitter.lisp,
  1496. * src/utils.lisp:
  1497. - optimized loading of pixmap (JPG, TGA or RAW format), still not
  1498. acceptable but the best I am able to do. :(
  1499. 2018-12-14 cage
  1500. * README.org,
  1501. * README.txt,
  1502. * nodgui.asd,
  1503. * src/demo-tests.lisp,
  1504. * src/package.lisp,
  1505. * src/photo-image.lisp,
  1506. * src/pixmap.lisp,
  1507. * src/wish-communication.lisp:
  1508. - added JPG pixmap support (via the awesome cl-jpeg ;-) );
  1509. - removed spurious lines sent to wish when no buffering was used;
  1510. - optimized a bit pixmap loading;
  1511. - improved readme (mentioning "(use-syntax ...") for events parser
  1512. macro.
  1513. 2018-12-11 cage
  1514. - updated README
  1515. - added a bare minimum pixmap manipulation (scaling and rotation);
  1516. - added support for targa bitmap file format;
  1517. - added Changelog;
  1518. - popup TCL backtrace on error.
  1519. 2018-12-10 cage
  1520. * src/canvas.lisp, src/widget.lisp:
  1521. - fixed case in non specialized method "down".
  1522. 2018-12-10 cage
  1523. * README.org, README.txt, nodgui.asd, src/canvas.lisp,
  1524. src/listbox.lisp, src/nodgui.lisp, src/package.lisp,
  1525. src/panedwindow.lisp, src/text.lisp, src/utils.lisp,
  1526. src/widget-helpers.lisp, src/widget.lisp:
  1527. - integrated cl-colors name facility;
  1528. - changed function name "down" "pprint-down";
  1529. - updated README.
  1530. 2018-12-09 cage
  1531. * src/demo-tests.lisp, src/package.lisp, src/widget.lisp:
  1532. - added "busy" functions.
  1533. 2018-12-09 cage
  1534. * src/demo-tests.lisp, src/package.lisp, src/winfo.lisp,
  1535. src/wm.lisp:
  1536. - added wm attributes.
  1537. 2018-12-09 cage
  1538. * src/canvas.lisp, src/demo-tests.lisp, src/text.lisp:
  1539. - made more compliants to lisp convention some item related function
  1540. names.
  1541. 2018-12-09 cage
  1542. * src/canvas.lisp, src/demo-tests.lisp, src/package.lisp,
  1543. src/tcl-emitter.lisp:
  1544. - added moveto for canvas items;
  1545. - added fill as key parameter for arc.
  1546. 2018-12-08 cage
  1547. * - initial commit after fork.
  1548. - changed name from ltk to nodgui;
  1549. - improved README;
  1550. - added plain text README file;
  1551. - cleaned megawidgets;
  1552. - added lincense header;
  1553. - upgraded spinbox;
  1554. - fixed image demo for PNG images;
  1555. - allow load image from memory data in PNG, GIF and RAW RGB(A) format;
  1556. - ltk:postriscript values a string containing the postcript file;
  1557. - process error output from wish in a separate stream;
  1558. - removed call to imagemagick "convert" utility;
  1559. - added rotation angle option in canvas text;
  1560. - added canvas demo;
  1561. - added "get" configuration option for canvas items;
  1562. - moved some canvas related function to canvas.lisp;
  1563. - updated metadata in ASDF file;
  1564. - added reader macro for tk events;
  1565. - cleaning demo
  1566. - fixed notebook traversal;
  1567. - removed use of sb-ext;
  1568. - renamed package (prefixed with :nodgui)
  1569. - replaced deprecated function sb-debug:backtrace.