Commit Graph

54 Commits

Author SHA1 Message Date
Robert C. Martin
e726c21f06 Can add multiple lines to edit window. Can navigate with arrows. Ignores control keys, etc. 2022-04-02 12:21:33 -05:00
Robert C. Martin
849ee68e63 Can add chars to edit window. Very primitive, but... 2022-04-02 10:13:28 -05:00
Robert C. Martin
9038199c35 Clean up author window formatting. 2022-03-07 08:23:27 -06:00
Robert C. Martin
acf4250223 Fix reformatting bug that inserted a line end before the last word. 2022-03-07 07:34:21 -06:00
Robert C. Martin
502964a328 Arrow keys move the selected header. 2022-03-05 13:23:09 -06:00
Robert C. Martin
421488c26f Keyboard focus and passing events from child to parent widgets. A little cleanup in widget to ensure functions are functions. 2022-03-04 07:32:16 -06:00
Robert C. Martin
fb0abcc2c2 Refactor and add tests to reformat-article. Much improved. 2022-03-03 12:24:32 -06:00
Robert C. Martin
4bd5abb22c Very preliminary formatter for articles. Based on the old word-wrap problem. 2022-03-03 11:30:00 -06:00
Robert C. Martin
5ccb060d98 Headers abbreviated properly. 2022-03-03 08:49:21 -06:00
Robert C. Martin
b2df19a432 Repartitioning. Eliminated content/article. Created ui/formatters and moved specific formatting into the window modules. Those modules will likely need to be split into specific control and formatting modules. But not yet. 2022-03-03 08:18:29 -06:00
Robert C. Martin
c5b1cfd6a4 Layout article-window. No content yet. 2022-02-28 14:03:43 -06:00
Robert C. Martin
44af6bcf9a Add some unit tests that would have helped me through my previous headache. 2022-02-26 11:27:23 -06:00
Robert C. Martin
91a821a73c Use mouse functions in defsketch instead of the silly stuff I was doing in button. This was a big change that took a long time and was a big headache. Forced me to repartion widget and app-util to avoid cyclic dependencies. 2022-02-26 09:48:37 -06:00
Robert C. Martin
c920f46432 Can select and deselect headers. 2022-02-25 09:15:03 -06:00
Robert C. Martin
4244ea9f53 Header is hilighted when mouse hovers. This required quite a bit of refactoring in order to tune the button tags and defer the mouse-wheel up from the button to the frame. I'm not sure that deferral is the right approach. 2022-02-24 13:57:44 -06:00
Robert C. Martin
18b6d4c75d Merge text-frame into text-window, rearrage a bit, and write header comment for text-window. 2022-02-24 09:12:42 -06:00
Robert C. Martin
20ad98139c Decoupling of headers from text-window and text-frame is complete. Now the text-window should be generic and usable for any window displaying text with scrollbars. 2022-02-21 12:54:32 -06:00
Robert C. Martin
1e66acb7ed Decouple headers from text-frame. In progress. More to do. 2022-02-21 11:54:29 -06:00
Robert C. Martin
f0a43f96b8 Decouple text-window from articles and headers. Next step is to decouple header-frame and transform it into text-frame and header-frame-functions. 2022-02-21 11:03:00 -06:00
Robert C. Martin
519038ceed Eliminate 'unused local variable' warnings by prefixing those variables with an underscore. 2022-02-20 13:21:44 -06:00
Robert C. Martin
8e196c3983 Repartition functions in article-window and header-frame in preparation for text-window generalization. 2022-02-20 10:51:25 -06:00
Robert C. Martin
97a89886fe Generalize the update scheme in preparation for generalizing text-windows. 2022-02-19 13:41:49 -06:00
Robert C. Martin
241801fbbf Mouse lock implemented, so thumb can be dragged with reckless abandon.
Also cleaned up the update and lock functions by creating app-util.
And changed all path additions from conj to concat.  That probably needs a function too.
2022-02-17 13:22:06 -06:00
Robert C. Martin
13fc4e6ec2 Can drag thumb. 2022-02-17 11:40:16 -06:00
Robert C. Martin
df95af7b08 Some cosmetic changes to the article window, and make one of the UI tests more robust. 2022-02-17 09:32:32 -06:00
Robert C. Martin
ed3e4fa526 Split header-frame from article-window 2022-02-16 12:13:55 -06:00
Robert C. Martin
50e8ed9505 Mouse wheel works. 2022-02-16 09:29:23 -06:00
Robert C. Martin
6be1b896cc Thread open/closed buttons are working. 2022-02-14 15:01:31 -06:00
Robert C. Martin
88ebeea663 Do all the markup and formatting in update. Draw each header based on its position. Tighten up the display. 2022-02-13 16:25:44 -06:00
Robert C. Martin
9d54c856cf Calculate the number of headers that fit in the article frame. 2022-02-13 15:14:10 -06:00
Robert C. Martin
e84781d962 Move the threading and selection of articles to the update function. This will save lots of cycles, and sets the stage for the thread control buttons. 2022-02-11 15:10:47 -06:00
Robert C. Martin
7897186935 Preliminary display of threaded articles. 2022-02-11 12:16:36 -06:00
Robert C. Martin
0a96011517 Build the thread of open events. 2022-02-10 13:17:17 -06:00
Robert C. Martin
4cdb70033c Prepare for placing 'open' buttons on article threads. 2022-02-08 13:38:04 -06:00
Robert C. Martin
a6b4fdcdcc Moved article beneath content 2022-02-07 15:12:09 -06:00
Robert C. Martin
57f46040e2 Holding down scroll buttons works. 2022-02-06 10:11:54 -06:00
Robert C. Martin
98a428432c Track left button down time, and refactor to ease button update code. 2022-02-06 09:14:26 -06:00
Robert C. Martin
54bb26c8a4 update-widget now just returns the state. When you use the State monad, you gotta really USE the State monad! 2022-02-04 08:25:26 -06:00
Robert C. Martin
09ccc80a28 Articles now contain a list of references derived from tags. 2022-01-31 14:56:01 -06:00
Robert C. Martin
137cef3e89 Preliminary version of process-text-event loading :text-event-map and :chronological-text-events. 2022-01-31 13:47:48 -06:00
Robert C. Martin
5c76474ca4 Scroll buttons work on left-up. 2022-01-30 14:03:14 -06:00
Robert C. Martin
e34bd74e3e update-widget returns [widget state] so that child widgets can change parent state. 2022-01-30 07:55:53 -06:00
Robert C. Martin
aa3970d794 draw-widget does not return a value. draw-child-widgets does not change state. 2022-01-30 07:38:21 -06:00
Robert C. Martin
d10caeb11a Detect position and state of mouse in button. 2022-01-30 07:19:59 -06:00
Robert C. Martin
c5ad9a253a Add missing spec file. 2022-01-26 14:59:34 -06:00
Robert C. Martin
851ed6828d Revert "Automatically set coordinate translation and clipping for widgets."
This reverts commit e5f3999ff0.
I decided this was a bad idea.  Coordinates should be absolute.
2022-01-26 14:57:19 -06:00
Robert C. Martin
e5f3999ff0 Automatically set coordinate translation and clipping for widgets. 2022-01-26 14:13:30 -06:00
Robert C. Martin
6fe71ca4e6 The beginnings of buttons. 2022-01-24 10:30:12 -06:00
Robert C. Martin
1ee1faab28 widget/do-children does the hierarchy. The widget protocol functions return widgets, not the state. 2022-01-24 08:26:18 -06:00
Robert C. Martin
3d1469ac2a Got rid of :widgets by using satisfies? 2022-01-23 10:46:18 -06:00