Module Wbox

module Wbox: sig .. end

Box Layouts.


type box 

A packed widget with its layout directives

type expand = 
| W (*

Stay at widget's size.

*)
| H (*

Expands horizontally. Typically, a text-field.

*)
| V (*

Expands vertically. Typically a side-bar.

*)
| HV (*

Expands in both directions. Typically, a text editor.

*)

Expansion Modes.

val box : ?expand:expand ->
?padding:int -> ?widget:#Widget.widget -> unit -> box

Generic packing. Without ~widget, a space is created instead.

Defaults: ~expand:W ~padding:0.

val g : ?expand:expand -> ?padding:int -> #GObj.widget -> box

Helper to box for packing a GObj.widget. Same defaults than box.

val w : ?expand:expand -> ?padding:int -> #Widget.widget -> box

Helper to box for packing a widget. Same defaults than box.

val h : ?padding:int -> #Widget.widget -> box

w ~expand:H

val v : ?padding:int -> #Widget.widget -> box

w ~expand:V

val hv : ?padding:int -> #Widget.widget -> box

w ~expand:HV

val label : ?fill:bool ->
?style:Widget.style ->
?align:Widget.align -> ?padding:int -> string -> box

Helper to pack a Widget.label widget using box.

Default: ~fill:false ~style:`Label ~align:`Left ~padding:0

hbox and vbox can be used to created nested boxes. Typically, local scope opening can be used, typically: Wbox.(hbox [ w A ; w B ; w C ]), where A, B and C are widgets, or boxes.

Notice that nested boxes can generally be packed using default W mode, even if they contains horizontal or vertical widgets.

val hbox : box list -> Widget.widget

Pack a list of boxes horizontally.

val vbox : box list -> Widget.widget

Pack a list of boxes vertically.

val hgroup : Widget.widget list -> Widget.widget

Pack a list of widgets horizontally, with all widgets stuck to the same width

val vgroup : Widget.widget list -> Widget.widget

Pack a list of widgets vertically, with all widgets stuck to the same width

val toolbar : box list -> box list -> Widget.widget

The first list is packed to the left side of the toolbar. The second list is packed to the right side of the toolbar.

val sidebar : box list -> box list -> Widget.widget

The first list is packed to the top of the sidebar. The second list is packed to the bottom of the sidebar.

val panel : ?top:Widget.widget ->
?left:Widget.widget ->
?right:Widget.widget ->
?bottom:Widget.widget -> #Widget.widget -> Widget.widget

Helper to create a full featured window: ~top is layout as a toolbar, left and right as sidebars, and bottom as a status bar. The main (non-optional) widget is centered with full expansion in both directions.