Commit Graph

113 Commits

Author SHA1 Message Date
Robert C. Martin
c920f46432 Can select and deselect headers. 2022-02-25 09:15:03 -06:00
Robert C. Martin
a0f77dc33b Yeah, the deferral was a bad idea. Better to simply find the deepest widget that the mouse is in that also has a :mouse-wheel function. 2022-02-24 14:15:50 -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
417d6e4ce4 Prune unused code. 2022-02-21 16:48:00 -06:00
Robert C. Martin
cbc94c1ac3 Author window now uses text-window abstraction. Fits like a glove. 2022-02-21 14:41:13 -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
d749a72550 Some comments and clojure/spec updates. 2022-02-19 08:50:33 -06:00
Robert C. Martin
bfb5cd8ad0 Finish converting magic numbers for scrollbars to constants and formulae. Eventually this may help us create a generic scrollbar. 2022-02-19 08:16:35 -06:00
Robert C. Martin
c6a364261c Begin converting magic numbers to configuration constants. 2022-02-18 17:18:08 -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
915ef6ae42 The thumb moves appropriately. 2022-02-17 10:25:42 -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
dc044f5d05 Article frame in place. Arrow buttons closer to scrollbar position. 2022-02-09 07:55:18 -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
750f1ad0ba Scroll buttons are drawn as arrows, and highlight correctly. 2022-01-30 15:18:19 -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
9689442d5e Preliminary work to get update working down the hiearachy. 2022-01-27 09:32:17 -06:00
Robert C. Martin
f7edc766ec Ensure bold font is set before application is setup. 2022-01-26 15:01:35 -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
61e6a50581 Merge remote-tracking branch 'origin/main' 2022-01-26 14:53:13 -06:00
Robert C. Martin
5c10a018e7 Make sure font is selected before application is setup. 2022-01-26 14:52:57 -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
74938366fc fixed authors and articles. 2022-01-23 10:48:55 -06:00