Dockable Panes

mfstuart at cox.net mfstuart at cox.net
Sat Dec 29 20:48:43 EST 2012


Hey all,
I'm interested in building an LC desktop application interface that has dockable panes/panels in it.
What are dockable panes? For example: think of a window that has a vertical and a horizontal line, to form 4 panes in the window.

In this example:
Top left pane is #1
Top right pane is #2
Bottom left pane is #3
Bottom right pane is #4

Here are some of the characteristics of dockable panes:
 - a pane would be resizeable by dragging the line/frame that separates each pane
 - a pane could be removed, and later reinstated
 - a pane could be moved/dragged to another panes position, which would be added and appear as a tab. The 2 panes become tabs in that panes position
  example: if the bottom left pane (#3) was dragged into the top left position (#1), panes 1 and 3 take up the space of 1 and 3, and are "presented" as a tab control. Panes 2 and 4 remain as they were.
 - if a pane appears as a tab, the tab (which is the pane) can be dragged and moved to another position
 - a panes movable property is a logical, therefore a pane with false in its movable property, could not be dragged to another position
 - each pane becomes a container for any other control type that can be placed on a stack/card
 - a panes contents would always remain with it
 - a pane would have a "header" to it, which displays a title and buttons to the far top right of the pane.

That's the basics of it, and there can be all sorts of things that can be done. But I'll start with that.

I've started this thing, but I'm already mind blocked on it.
I've also spent some time searching the use-list and forum, using some key words:
dockable pane, pane, panels, drag me, container

Does anyone have something to help me get started, or maybe an example?

Regards,
Mark Stuart




More information about the use-livecode mailing list