| 1 | Jexer Work Log |
| 2 | ============== |
| 3 | |
| 4 | July 15, 2017 |
| 5 | |
| 6 | I think I have cleaned up most of the window show/hide/activate mess |
| 7 | in TApplication. Demo4 has some cool interactions between a |
| 8 | background TDesktop and several foreground TWindows, which helped |
| 9 | expose bugs. |
| 10 | |
| 11 | July 9, 2017 |
| 12 | |
| 13 | While working on TWindow.hide/show I decided that I am sick of |
| 14 | TApplication's active window handling. TApplication makes lots of |
| 15 | assumptions, things are too fragile between modal and not, and one |
| 16 | cannot easily say window.activate(). So I will also be changing that |
| 17 | too. ... Code is still a bit of a mess, but hooks are in place at |
| 18 | least for show/hide/activate. |
| 19 | |
| 20 | July 8, 2017 |
| 21 | |
| 22 | Qodem 1.0.0 released last month, I had a vacation, and a Jexer user |
| 23 | (nikiroo) started opening up pull requests. :-) So back unto the |
| 24 | breach we go! |
| 25 | |
| 26 | TButton is now animated so that there is some feedback when selected |
| 27 | via keyboard. StringJustifier was written which permits TText's to |
| 28 | have left/centered/right and full justification. TDesktop is now in |
| 29 | too which can act as a permanent max-sized window without borders. |
| 30 | |
| 31 | Next up is Viewport, an interface to collect scrollbar API, and then a |
| 32 | cleaner API for scrollable widgets and windows. After that is more |
| 33 | window API: hide/show/maximize/restore, and unclosable windows. I am |
| 34 | cherry-picking bits from @nikiroo's PRs, which will likely break them |
| 35 | before it fixes things, but I will find some way to get Niki credited |
| 36 | with those pieces. |
| 37 | |
| 38 | March 21, 2017 |
| 39 | |
| 40 | I am starting to gear up for making Jexer a serious project now. I've |
| 41 | created its SourceForge project, linked it back to GitHub, have most |
| 42 | of its web page set up (looks like Qodem's), and released 0.0.4. And |
| 43 | then this morning saw an out-of-bounds exception if you kill the main |
| 44 | demo window. Glad I marked it Alpha on SourceForge... |
| 45 | |
| 46 | Yesterday I was digging around the other Turbo Vision derived projects |
| 47 | while populating the about page, and made a sad/happy-ish realization: |
| 48 | Embarcadero could probably get all of them shut down if it really |
| 49 | wanted to, including Free Vision. I uncovered some hidden history in |
| 50 | Free Vision, such that it appears that Graphics Vision had some |
| 51 | licensed Borland code in it, so there might be enough mud in the air |
| 52 | that Free Vision could be shut down the same way RHTVision was. But |
| 53 | even worse is the SCOTUS ruling on Oracle vs Google: if APIs are |
| 54 | copyrighted (regardless of their thoughts on fair use), then any |
| 55 | software that matches the API of a proprietary project might find |
| 56 | itself subject to an infringement case. So that too could shut down |
| 57 | the other API-compatible TV clones. |
| 58 | |
| 59 | Fortunately, Jexer (and D-TUI) is completely new, and has no API |
| 60 | compatibility with Turbo Vision. Jexer could be a new root to a whole |
| 61 | generation of TUI applications. |
| 62 | |
| 63 | March 18, 2017 |
| 64 | |
| 65 | TStatusBar is working, as is "smart" window placement. Overall this |
| 66 | is looking quite nice. Found a lot of other small paper cut items and |
| 67 | fixed them. It looks absolutely gorgeous on Mac now. |
| 68 | |
| 69 | Tomorrow I will get to the public wifi and get this uploaded. |
| 70 | |
| 71 | Time to call this 0.0.4 now though. We are up to 32,123 lines of |
| 72 | code. |
| 73 | |
| 74 | March 17, 2017 |
| 75 | |
| 76 | Jexer is coming back to active development status. I had a lot of |
| 77 | other projects ahead of it in the queue, mostly Qodem but also Jermit |
| 78 | and of course lots of actual day job work keeping me too tired for |
| 79 | afterhours stuff. But here we are now, and I want to get Jexer to its |
| 80 | 1.0.0 release before the end of 2018. After that it will be a |
| 81 | critical bit of function for IWP and NIB, if I ever get those going. |
| 82 | I need to re-organize the demo app a bit so that it fits within 80x25, |
| 83 | and then get to TStatusBar. |
| 84 | |
| 85 | A status bar will be an optional part of TWindow. If it exists, then |
| 86 | it will be drawn last by TApplication and get events routed to it from |
| 87 | TWindow's event handlers. This will have the nice effect that the |
| 88 | status bar can change depending on which window is active, without any |
| 89 | real extra work on TApplication's part. |
| 90 | |
| 91 | Putting together a proper TODO now, with release and regression |
| 92 | checklists. I think I will see if jexer is available at SourceForge, |
| 93 | and if so grab it. Perhaps I can put together some good Turbo Vision |
| 94 | resources too. At the very least direct people to the Borland-derived |
| 95 | C++ releases and Free Vision. |
| 96 | |