package inquire
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=0b88d89e24d4cbc0560a7c8d8ec51388990e1b27f24685029997afa52a7c720f
sha512=8b62860a8d15e41528a404a6f1b9968c3d79755607b5ea319af2e3e45516e672a785361d278279910928db4054e1800e87bcee0210ff3eabfb330713b368c827
doc/inquire.lambda-term/LTerm_widget/index.html
Module LTerm_widget
Widgets for creating applications
Base class
The base class. The parameter is the initial resource class. The resource class is the first part of all resource keys used by the widget.
For examples, buttons use the resources "button.focused.foreground", "button.unfocused.bold", ... so their resource class is "button".
class t : string -> object ... endLabels
class label : string -> object ... endA widget displaying a text.
Containers
class type box = object ... endType of widgets displaying a list of widget.
class frame : object ... endA widget displayiing another widget in a box.
class modal_frame : object ... endA widget displaying a frame around child widget. Unlike frame, the child widget is not expanded to take all available space; instead the child is centered and frame is drawn around it. This is a utility class for creation of modal dialogs and similar widgets.
Lines
Buttons
class button : ?brackets:(string * string) -> string -> object ... endNormal button.
class checkbutton : string -> bool -> object ... endCheckbutton. A button that can be in active or inactive state.
class type 'a radio = object ... endclass 'a radiogroup : object ... endRadio group.
class 'a radiobutton : 'a radiogroup -> string -> 'a -> object ... endRadiobutton. The button which implements radio object contract, so can be added to radiogroup.
Scrollbars
class adjustment : object ... endAdjustable integer value from (0..range-1)
class type scrollable_adjustment = object ... endInterface between an adjustment and a scrollbar widget.
class type scrollable_document = object ... endclass type scrollable_private = object ... endInterface used by the scrollbar widget to configure the scrollbar and get parameters needed for rendering
class scrollable : object ... endMain object implementing scroll logic for coordination between a scrollable wigdet and a scrollbar widget.
class type default_scroll_events = object ... endEvents exposed by scrollbar widgets. These may be applied to other widgets if required.
class vscrollbar : ?rc:string -> ?default_event_handler:bool -> ?width:int -> scrollable -> object ... endVertical scrollbar widget.
class hscrollbar : ?rc:string -> ?default_event_handler:bool -> ?height:int -> scrollable -> object ... endHorizontal scrollbar widget.
class vslider : int -> object ... endVertical slider widget.
class hslider : int -> object ... endHorizontal slider widget.
Running in a terminal
val run :
LTerm.t ->
?save_state:bool ->
?load_resources:bool ->
?resources_file:string ->
t ->
'a Lwt.t ->
'a Lwt.trun term ?save_state widget w runs on the given terminal using widget as main widget. It returns when w terminates. If save_state is true (the default) then the state of the terminal is saved and restored when w terminates.
If load_resources is true (the default) then resources_file (which default to ".lambda-termrc" in the home directory) is loaded and the result is set to w.
val run_modal :
LTerm.t ->
?save_state:bool ->
?load_resources:bool ->
?resources_file:string ->
t Lwt_react.event ->
unit Lwt_react.event ->
t ->
'a Lwt.t ->
'a Lwt.tThis function works in the same way as run but also takes two Lwt_react.event parameters. The first one should contain LTerm_widget.t widget and makes it new topmost layer in UI. The second message removes the topmost level from UI. All layers are redrawn, from bottom to up, but only the topmost layer gets keyboard events delivered to it. This allows to implement things like modal dialogs.
val prepare_simple_run :
unit ->
(t ->
'a Lwt.t)
* (t ->
unit ->
unit)
* (?step:React.step ->
unit ->
unit)
* ('a ->
unit)prepare_simple_run () returns a tuple (do_run, push_layer, pop_layer, exit) -- functions useful for creating simple UI.
do_run w where w is a widget runs the given widget in a terminal over stdout, loading resources from .lambda-termrc, saving state and restoring it on exit from ui. Example: do_run my_frame
push_layer w where w is a widget is a callback to add w as a new modal layer to UI. Example: button#on_click (push_layer my_modal_dialog).
pop_layer is a callback to destroy the topmost modal layer. Example: cancel_button#on_click pop_layer.
exit is a callback to exit the UI. Example: exit_button#on_click exit