Version: 4.2
21 Panel
See
panel:single-mixin%.
Sets the active child to be child
Returns the current active child.
This mixin adds single panel functionality to an implementation of the
area-container<%> interface.
Single panels place all of the children in the center of the panel,
and allow make one child to be visible at a time. The
active-child
method controls which panel is currently active.
The
show
method is used to hide and show the children of a single panel.
Overrides after-new-child in area-container<%>.
Hides this child by calling (send child show #f), unless
this is the first child in which case it does nothing.
Overrides container-size in area-container<%>.
Returns the maximum width of all the children and the maximum height
of all of the children.
Overrides place-children in area-container<%>.
Returns the positions for single panels and panes.
Overrides container-size in area-container<%>.
Factors the border width into the size calculation.
Classes matching this interface implement a panel where the
user can adjust the percentage of the space that each takes
up. The user adjusts the size by clicking and dragging the
empty space between the children.
This method is called when the user changes the percentage
by dragging the bar between the children, or when a new
child is added to the frame, but not when
set-percentages
is called.
Use
get-percentages
to find the current percentages.
Call this method to set the percentages that each window
takes up of the panel.
The argument, new-percentages must be a list of
numbers that sums to 1. It’s length must be equal to the
number of children of the panel (see
get-children) and each percentage must correspond to a number of pixels
that is equal to or larger than the
minimum with of the child, as reported by
min-width.
Return the current percentages of the children.
This method controls the behavior of the other overridden
methods in mixins that implement this interface.
If it returns #t, the panel will be vertically
aligned and if it returns #f, they will be
horizontally aligned.
A panel that implements
panel:vertical-dragable<%>. It aligns its children vertically.
A panel that implements
panel:horizontal-dragable<%>. It aligns its children horizontally.
This mixin adds the
panel:dragable<%>
functionality to a
panel%.
It is not useful unless the
get-vertical?
method is overridden.
Overrides after-new-child in area-container<%>.
Updates the number of percentages to make sure that it
matches the number of children and calls
after-percentage-change.
Overrides on-subwindow-event in window<%>.
When the cursor is dragging the middle bar around, this
method handles the resizing of the two panes.
|
→ (list-of (list exact-int exact-int exact-int exact-int)) |
info : (list-of (list exact-int exact-int)) |
w : exact-int |
h : exact-int |
Overrides place-children in area-container<%>.
Places the children vertically in the panel, based on the percentages
returned from
get-percentages. Also leaves a little gap between each pair of children.
Overrides container-size in area-container<%>.
Computes the minimum size the panel would have to be in
order to have the current percentages (see
get-percentages).
This mixin merely overrides the
get-vertical?
method of the
panel:dragable-mixin
to return #t.
Overrides get-vertical? in panel:dragable<%>.
Returns #t.
This mixin merely overrides the
get-vertical?
method of the
panel:dragable-mixin
to return #f.
Overrides get-vertical? in panel:dragable<%>.
Returns #f.