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 -> boxGeneric packing. Without ~widget, a space is created instead.
Defaults: ~expand:W ~padding:0.
val g : ?expand:expand -> ?padding:int -> #GObj.widget -> boxHelper to box for packing a GObj.widget. Same defaults than box.
val w : ?expand:expand -> ?padding:int -> #Widget.widget -> boxHelper to box for packing a widget. Same defaults than box.
val h : ?padding:int -> #Widget.widget -> boxw ~expand:H
val v : ?padding:int -> #Widget.widget -> boxw ~expand:V
val hv : ?padding:int -> #Widget.widget -> boxw ~expand:HV
val label : ?fill:bool ->
?style:Widget.style ->
?align:Widget.align -> ?padding:int -> string -> boxHelper 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.widgetPack a list of boxes horizontally.
val vbox : box list -> Widget.widgetPack a list of boxes vertically.
val hgroup : Widget.widget list -> Widget.widgetPack a list of widgets horizontally, with all widgets stuck to the same width
val vgroup : Widget.widget list -> Widget.widgetPack a list of widgets vertically, with all widgets stuck to the same width
val toolbar : box list -> box list -> Widget.widgetThe first list is packed to the left side of the toolbar. The second list is packed to the right side of the toolbar.
: box list -> box list -> Widget.widgetThe 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.widgetHelper 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.
class type splitter =object..end
val split : dir:[ `HORIZONTAL | `VERTICAL ] ->
Widget.widget -> Widget.widget -> splitter
val scroll : ?hpolicy:[ `ALWAYS | `AUTOMATIC | `NEVER ] ->
?vpolicy:[ `ALWAYS | `AUTOMATIC | `NEVER ] -> Widget.widget -> Widget.widgetdefault policy is AUTOMATIC
val hscroll : Widget.widget -> Widget.widgetSame as scroll ~vpolicy:`NEVER
val vscroll : Widget.widget -> Widget.widgetSame as scroll ~volicy:`NEVER