Miniwindows and widgets

Posted by David Haley on Wed 11 Mar 2009 08:30 PM — 4 posts, 18,860 views.

USA #0
Is there any kind of standardized way of dealing with "GUI widgets" in miniwindows, or is it just a blank canvas that you need to manage yourself?

For instance, I might want to create a text list in a widget that is basically just an output box to which I append lines. My understanding is that I would have to do this myself.

It gets more complicated with things like combo boxes, or automatic insertion of MXP-like hyperlink popup windows. You need to manage the clicks yourself and all of that.

Is there any plan to allow for standard widgets of the sort? Without going to the level of a full GUI toolkit, it might be nice to have some kind of standard support. It could perhaps all even be implemented in a scripting language.
Australia Forum Administrator #1
Right now it is really a blank canvas. The tools are there, but to make a standard or simplified interface isn't right now. Of course, in a game environment, everyone may have a different idea about the look and feel.

So far I have done one module:

http://www.gammon.com.au/forum/?id=8947

That lets you easily draw little "hover over" windows.

Also Willfa did a module to draw gauges:

http://www.gammon.com.au/forum/?id=9097

I started work on a tabbed windows interface which is previewed here:

http://www.gammon.com.au/forum/?id=8936

The problem with that particular one, as written, is it only really supported one tabbed window, and a fair bit of mucking around (that is, cleaning up the code) is required to support them in a more general way.

Certainly there is scope for a more modular approach, and if someone wanted to do that, it would be fantastic. I also started work on doing a scrolling text window, which is technically feasible now you can drag things around.
USA #2
OK, thanks. The context to the question is a discussion over on MudBytes where we're talking about creating a ZMP [1] package to talk subwindows. I reallyreally want to be able to use it with MUSHclient, so I'm trying to figure out what would be workable in MUSHclient. As soon as they start talking about "full featured windows" that work the same way as the main window, I get a little uneasy because that implies a whole lot of work would need to be done to get miniwindows be a lot smarter.

I'm pretty excited about the possibilities here and have recently started turning my attention to how this could work in practice. Now all I need is just a little more spare time :)


[1] ZMP is basically a standard for sending commands with parameters with telnet subnegotiation. It's essentially a slightly more general form of what you implemented with Aardwolf to talk "invisibly". I'm not sure how useful it is beyond being just a communication standard but even just that is kind of handy.
USA #3
I realized I forgot to give a link to the MB thread, so here it is: http://mudbytes.net/index.php?a=topic&t=1366