[racket] Additional GUI components?

From: Tomi Neste (tomi.neste at gmail.com)
Date: Fri Aug 19 09:25:26 EDT 2011

On Fri, Aug 19, 2011 at 2:52 PM, Robby Findler
<robby at eecs.northwestern.edu>wrote:

> On Fri, Aug 19, 2011 at 5:09 AM, Tomi Neste <tomi.neste at gmail.com> wrote:
> > I was wondering if there are currently any plans in adding more
> components
> > to the GUI toolbox? Things like tree views, property lists, accordion
> > panels, resizable panels (DrRacket seems to have this in its editor/repl
> > panel but I don't think it's documented or available?).
> Try searching for panel:dragable in the docs.
> Robby

Thanks, I had forgot about the whole Application Framework.

Personally I'd be happy with a small base set of components (which should
probably include common ones like property lists and tooltips, which I
noticed are too missing?) if they are flexible and customizable.

Now, some random thoughts and questions:

- Let's say I create a custom shrinking-panel% by subclassing
vertical-panel%. On top of that I add some component to act as a toggle and
on the bottom another pane that acts as a container for the actual content.
When the toggle is clicked the content panel below is hidden/shown and the
whole shrinking-panel should change its size.

To add content to the shrinking-panel% the developer would need to query
it for the actual content-panel (ie. by sending it 'get-content-pane'
message) that should be used as the parent for the users components, he/she
can't add the content directly into the shrinking-panel. If there is a way
to hook into the parenting procedure of the containers the custom panel
could automatically wrap the containee in the correct place, but if it does
that the parent of the containee isn't what the user requested and this
could lead to problems. It seems like a tricky situation since the containee
now actually has two parents.

- Ability to add and freely position GUI objects on the canvas would be
great. It would allow things like graph views where the nodes could have
embedded controls. Similarly it would be useful to have a way to render some
of the underlying native toolkits basic components (like check marks, arrows
or button frames) to the canvas to create custom controls that wouldn't look
so much out of the place.

- I'm making an application where there are several canvases (inside the
same top level window) and I'd like to drag graphical objects between these.
Is there a way to "attach" a bitmap to the mouse cursor to achieve this kind
of drag'n'drop behaviour?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110819/afb10af5/attachment.html>

Posted on the users mailing list.