![]() |
Forum Index : Microcontroller and PC projects : CMM2: GetFileDialog Box
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
vegipete![]() Guru ![]() Joined: 29/01/2013 Location: CanadaPosts: 1134 |
Ultra capable dialog box. In other words, over-the-top excessive feature creep, resulting in a gargantuan and unusable mess. ![]() Visit Vegipete's *Mite Library for cool programs. |
||||
elk1984![]() Senior Member ![]() Joined: 11/07/2020 Location: United KingdomPosts: 228 |
I was going for an Ultravox pun. It wasn't a very good one, but I'm sticking with it. Excellent work on the File Selector, I'll be including that in my projects soon. |
||||
vegipete![]() Guru ![]() Joined: 29/01/2013 Location: CanadaPosts: 1134 |
Yah, I kinda thought the same. I did a quick select "ultrabox" right click google search and just came up with plastic boxes, so I figured the name was safe enough, even if it hints at self-grandeur. Visit Vegipete's *Mite Library for cool programs. |
||||
elk1984![]() Senior Member ![]() Joined: 11/07/2020 Location: United KingdomPosts: 228 |
Nothing wrong with that, I've written stuff prefixed "uber". I'm not sure any cache I could have written would deserve being called an ubercache, but it made me smile... |
||||
elk1984![]() Senior Member ![]() Joined: 11/07/2020 Location: United KingdomPosts: 228 |
Hi, I'm about to integrate this into my project, what is the latest version please? I can see talk of post 1.4 updates, but haven't seen a ZIP uploaded with a later version. Thanks elk1984 |
||||
vegipete![]() Guru ![]() Joined: 29/01/2013 Location: CanadaPosts: 1134 |
If the last posted version does what you need, go with that. I've been tinkering with it more, but paused while pondering the ramifications of the 'new' built-in mouse support. You know, feature creep and all that. ![]() Visit Vegipete's *Mite Library for cool programs. |
||||
RetroJoe![]() Senior Member ![]() Joined: 06/08/2020 Location: CanadaPosts: 290 |
I've been dabbling with TassyJim's Mouse Exerciser, and my thoughts have been running towards what it would take to creating a generic CMM2 windowing toolkit... and realizing what a gargantuan undertaking it would be !! Along with VegiPete's standard file dialog, there were multiple threads in the ancient past (i.e. before the CMM2 had mouse support) about creating a TUI toolkit, and TassyJim's test code (e.g. the Quit button) provides a tiny glimmer of how a GUI would work. I'm wondering if this is something a few members of the MM community would want to collaborate on via GitHub i.e. a rudimentary "Windows 1.0" era GUI builder with user-definable command buttons, check boxes, radio buttons, et al. One of the first items that had me stymied is how to detect a "mouse button up" event to enable drag-and-drop gestures, and pop-up and drop-down menus. I imagine this could be done with clever and careful coding in the mouse polling loop, but Peter might consider including this facility directly in the firmware where it ostensibly belongs as an interrupt-driven event. Alternately, the MM GUI framework could be designed to not require a button-up event. Exciting times - it's like we've been teleported to the Xerox PARC in 1980 and are inventing this stuff all over again! Edited 2021-02-16 08:39 by RetroJoe Enjoy Every Sandwich / Joe P. |
||||
vegipete![]() Guru ![]() Joined: 29/01/2013 Location: CanadaPosts: 1134 |
Gargantuan indeed. I've been pondering that too. A mouse button up interrupt would certainly be very useful. More of us have to say pretty please, with sugar and a cherry on top. The original Macintosh had 128K RAM and 64K ROM and 512x342 resolution, although only black and white. We've got a lot more to play with... Visit Vegipete's *Mite Library for cool programs. |
||||
RetroJoe![]() Senior Member ![]() Joined: 06/08/2020 Location: CanadaPosts: 290 |
Yeah... but that 64K of ROM contained QuickDraw and the Macintosh Toolbox, hand-written 68000 subroutines that implemented all the low-level mouse-clicky window-managing stuff I'm alluding to :) Excellent "geeky" article on the topic here. We've taken WIMP (Windows, Icons, Menus, Pointers) for granted for decades, assuming that computers just "come with", but an enormous amount of coding sweat and tears went into creating the illusion of draggable windows floating around on a desktop. Apropos the recent Linux conversations in other threads, I had an a-ha moment, as in "A-ha, so that's what a window manager does !!" Edited 2021-02-16 18:17 by RetroJoe Enjoy Every Sandwich / Joe P. |
||||
CircuitGizmos![]() Guru ![]() Joined: 08/09/2011 Location: United StatesPosts: 1427 |
I'd like to see a TUI like this: ![]() I think it would be simpler and faster than graphics. I know the display is graphic and not character based, but this is still doable, smaller, and likely more responsive than graphics. Plus you can still do graphics inside a TUI element. As a "standard library" a TUI would help in educaton. Edited 2021-02-17 02:58 by CircuitGizmos Micromites and Maximites! - Beginning Maximite |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
But perhaps not via TeraTerm if it doesn't support the box-drawing characters which that screen-shot makes use of extensively. There is a question here of whether a TUI should be designed just for use via the VGA display or also via a Serial terminal, which the 1980's shows us should be possible. I've written a substantial proportion of a character cell based API that works for both VGA and Serial terminal simultaneously. However it's still a far cry from a TUI and will probably require CSUBs if it is ever to become one. Best wishes, Tom Edited 2021-02-17 03:06 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
CircuitGizmos![]() Guru ![]() Joined: 08/09/2011 Location: United StatesPosts: 1427 |
"But perhaps not via TeraTerm if it doesn't support the box-drawing characters" It can display box characters. Is there something I'm missing? (Simultaneously supporting the serial TUI would be a lot of work, I think) Micromites and Maximites! - Beginning Maximite |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3378 |
puTTY in VT100 mode works (mostly) for me for PC-type line drawing characters: ![]() I did not pursue why some of the characters (e.g., some corners) didn't work. PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
I can get it to display a subset of the 3-byte UTF-8 box-drawing characters, but not the traditional single-byte 0xB3 - 0xDA characters as present on Code Page 437 and in the CMM2 font. Both PuTTY and @robert.rozee's GFXterm can manage this (including the corners that @lizby was having an issue with.) Not so much once you've built an API that abstracts out the difference of using TEXT to write to the VGA display and PRINT with VT100 codes to the Serial terminal ... and I've built at least 50% of such an API. Best wishes, Tom Edited 2021-02-17 04:39 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
Hold on, that screenshot is Tera Term, not PuTTY. How did you manage that? Are they the multi-byte or single-byte box-drawing characters ? Can I see your code ? Best wishes, Tom Edited 2021-02-17 04:39 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
I did some rummaging, I'm going to hazard a guess that you used the VT100 alternate character set https://en.wikipedia.org/wiki/DEC_Special_Graphics which is supported by TeraTerm. Alas not as convenient as Code Page 437 because it is different byte values to the CMM2 character set. Best wishes, Tom Edited 2021-02-17 05:30 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3378 |
Oops, right--TeraTerm. I think puTTY worked also. They are single-byte box-drawing characters, with TeraTerm set in VT100 mode. Yikes, the code? This is in C code compiled into MMBasic DOS, a project put on the back shelf some months ago, with output to a usb/serial module (the same one (or two of them rather) that you posted about a few days ago). But on an Armmite F4 (CMM2 not available to me now), and Teraterm in VT100 mode, this lists what's available: for i=160 to 255: print i,chr$(i): next i Or, more compactly: for i=160 to 255: print i;"->";chr$(i)+" ";: next i ![]() Edited 2021-02-17 05:35 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
Thanks @lizby, what I've been seeing is: ![]() However I've now discovered if I switch the font to "Terminal" then I do get the correct characters - you live and learn, it's a pity it's such a strangely proportioned font. I thought it was a code-page problem and couldn't find a way to change the code-page in TeraTerm. Thank you, Tom Edited 2021-02-17 06:21 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3378 |
This is my Teraterm terminal setup: ![]() I found that when I tried to copy (Ctrl-c) the Teraterm screen with the line-drawing characters and paste it into the forum here, I got the characters you show. That's why I did a screen shot. PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4311 |
Thanks @lizby for your earlier screenshot: ![]() is that actually TeraTerm or is that MMBasic for Windoze/DOS, and if the former then which font ? Regards, Tom Edited 2021-02-17 08:02 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |