+++ /dev/null
-(* $Id$ *)
-
-open Gaux
-open Gtk
-open Tags
-open GtkBase
-
-module GammaCurve = struct
- let cast w : gamma_curve obj = Object.try_cast w "GtkGammaCurve"
- external create : unit -> gamma_curve obj = "ml_gtk_gamma_curve_new"
- external get_gamma : [>`gamma] obj -> float = "ml_gtk_gamma_curve_get_gamma"
-end
-
-module ColorSelection = struct
- let cast w : color_selection obj = Object.try_cast w "GtkColorSelection"
- external create : unit -> color_selection obj = "ml_gtk_color_selection_new"
- external create_dialog : string -> color_selection_dialog obj
- = "ml_gtk_color_selection_dialog_new"
- external set_update_policy : [>`colorsel] obj -> update_type -> unit
- = "ml_gtk_color_selection_set_update_policy"
- external set_opacity : [>`colorsel] obj -> bool -> unit
- = "ml_gtk_color_selection_set_opacity"
- let set ?update_policy ?opacity w =
- may update_policy ~f:(set_update_policy w);
- may opacity ~f:(set_opacity w)
- external set_color :
- [>`colorsel] obj ->
- red:float -> green:float -> blue:float -> ?opacity:float -> unit
- = "ml_gtk_color_selection_set_color"
- external get_color : [>`colorsel] obj -> color
- = "ml_gtk_color_selection_get_color"
-
- external ok_button : [>`colorseldialog] obj -> button obj =
- "ml_gtk_color_selection_dialog_ok_button"
- external cancel_button : [>`colorseldialog] obj -> button obj =
- "ml_gtk_color_selection_dialog_cancel_button"
- external help_button : [>`colorseldialog] obj -> button obj =
- "ml_gtk_color_selection_dialog_help_button"
- external colorsel : [>`colorseldialog] obj -> color_selection obj =
- "ml_gtk_color_selection_dialog_colorsel"
- module Signals = struct
- open GtkSignal
- let color_changed : ([>`colorsel],_) t =
- { name = "color_changed"; marshaller = marshal_unit }
- end
-end
-
-module Statusbar = struct
- let cast w : statusbar obj = Object.try_cast w "GtkStatusbar"
- external create : unit -> statusbar obj = "ml_gtk_statusbar_new"
- external get_context : [>`statusbar] obj -> string -> statusbar_context
- = "ml_gtk_statusbar_get_context_id"
- external push :
- [>`statusbar] obj ->
- statusbar_context -> text:string -> statusbar_message
- = "ml_gtk_statusbar_push"
- external pop : [>`statusbar] obj -> statusbar_context -> unit
- = "ml_gtk_statusbar_pop"
- external remove :
- [>`statusbar] obj -> statusbar_context -> statusbar_message -> unit
- = "ml_gtk_statusbar_remove"
- module Signals = struct
- open GtkSignal
- let text_pushed : ([>`statusbar],_) t =
- let marshal f _ = function
- | GtkArgv.INT ctx :: GtkArgv.STRING s :: _ ->
- f (Obj.magic ctx : statusbar_context) s
- | _ -> invalid_arg "GtkMisc.Statusbar.Signals.marshal_text"
- in
- { name = "text_pushed"; marshaller = marshal }
- end
-end
-
-module Calendar = struct
- let cast w : calendar obj = Object.try_cast w "GtkCalendar"
- external create : unit -> calendar obj = "ml_gtk_calendar_new"
- external select_month : [>`calendar] obj -> month:int -> year:int -> unit
- = "ml_gtk_calendar_select_month"
- external select_day : [>`calendar] obj -> int -> unit
- = "ml_gtk_calendar_select_day"
- external mark_day : [>`calendar] obj -> int -> unit
- = "ml_gtk_calendar_mark_day"
- external unmark_day : [>`calendar] obj -> int -> unit
- = "ml_gtk_calendar_unmark_day"
- external clear_marks : [>`calendar] obj -> unit
- = "ml_gtk_calendar_clear_marks"
- external display_options :
- [>`calendar] obj -> Tags.calendar_display_options list -> unit
- = "ml_gtk_calendar_display_options"
- external get_date : [>`calendar] obj -> int * int * int
- = "ml_gtk_calendar_get_date" (* year * month * day *)
- external freeze : [>`calendar] obj -> unit
- = "ml_gtk_calendar_freeze"
- external thaw : [>`calendar] obj -> unit
- = "ml_gtk_calendar_thaw"
- module Signals = struct
- open GtkSignal
- let month_changed : ([>`calendar],_) t =
- { name = "month_changed"; marshaller = marshal_unit }
- let day_selected : ([>`calendar],_) t =
- { name = "day_selected"; marshaller = marshal_unit }
- let day_selected_double_click : ([>`calendar],_) t =
- { name = "day_selected_double_click"; marshaller = marshal_unit }
- let prev_month : ([>`calendar],_) t =
- { name = "prev_month"; marshaller = marshal_unit }
- let next_month : ([>`calendar],_) t =
- { name = "next_month"; marshaller = marshal_unit }
- let prev_year : ([>`calendar],_) t =
- { name = "prev_year"; marshaller = marshal_unit }
- let next_year : ([>`calendar],_) t =
- { name = "next_year"; marshaller = marshal_unit }
- end
-end
-
-module DrawingArea = struct
- let cast w : drawing_area obj = Object.try_cast w "GtkDrawingArea"
- external create : unit -> drawing_area obj = "ml_gtk_drawing_area_new"
- external size : [>`drawing] obj -> width:int -> height:int -> unit
- = "ml_gtk_drawing_area_size"
-end
-
-(* Does not seem very useful ...
-module Curve = struct
- type t = [widget drawing curve] obj
- let cast w : t = Object.try_cast w "GtkCurve"
- external create : unit -> t = "ml_gtk_curve_new"
- external reset : [>`curve] obj -> unit = "ml_gtk_curve_reset"
- external set_gamma : [>`curve] obj -> float -> unit
- = "ml_gtk_curve_set_gamma"
- external set_range :
- [>`curve] obj -> min_x:float -> max_x:float ->
- min_y:float -> max_y:float -> unit
- = "ml_gtk_curve_set_gamma"
-end
-*)
-
-module Misc = struct
- let cast w : misc obj = Object.try_cast w "GtkMisc"
- external coerce : [>`misc] obj -> misc obj = "%identity"
- external set_alignment : [>`misc] obj -> x:float -> y:float -> unit
- = "ml_gtk_misc_set_alignment"
- external set_padding : [>`misc] obj -> x:int -> y:int -> unit
- = "ml_gtk_misc_set_padding"
- external get_xalign : [>`misc] obj -> float = "ml_gtk_misc_get_xalign"
- external get_yalign : [>`misc] obj -> float = "ml_gtk_misc_get_yalign"
- external get_xpad : [>`misc] obj -> int = "ml_gtk_misc_get_xpad"
- external get_ypad : [>`misc] obj -> int = "ml_gtk_misc_get_ypad"
- let set_alignment w ?x ?y () =
- set_alignment w ~x:(may_default get_xalign w ~opt:x)
- ~y:(may_default get_yalign w ~opt:y)
- let set_padding w ?x ?y () =
- set_padding w ~x:(may_default get_xpad w ~opt:x)
- ~y:(may_default get_ypad w ~opt:y)
- let set ?xalign ?yalign ?xpad ?ypad ?(width = -2) ?(height = -2) w =
- if xalign <> None || yalign <> None then
- set_alignment w ?x:xalign ?y:yalign ();
- if xpad <> None || ypad <> None then
- set_padding w ?x:xpad ?y:ypad ();
- if width <> -2 || height <> -2 then Widget.set_usize w ~width ~height
-end
-
-module Arrow = struct
- let cast w : arrow obj = Object.try_cast w "GtkArrow"
- external create : kind:arrow_type -> shadow:shadow_type -> arrow obj
- = "ml_gtk_arrow_new"
- external set : [>`arrow] obj -> kind:arrow_type -> shadow:shadow_type -> unit
- = "ml_gtk_arrow_set"
-end
-
-module Image = struct
- let cast w : image obj = Object.try_cast w "GtkImage"
- external create : Gdk.image -> ?mask:Gdk.bitmap -> image obj
- = "ml_gtk_image_new"
- let create ?mask img = create img ?mask
- external set : [>`image] obj -> Gdk.image -> ?mask:Gdk.bitmap -> unit
- = "ml_gtk_image_set"
-end
-
-module Label = struct
- let cast w : label obj = Object.try_cast w "GtkLabel"
- external coerce : [>`label] obj -> label obj = "%identity"
- external create : string -> label obj = "ml_gtk_label_new"
- external set_text : [>`label] obj -> string -> unit = "ml_gtk_label_set_text"
- external set_justify : [>`label] obj -> justification -> unit
- = "ml_gtk_label_set_justify"
- external set_pattern : [>`label] obj -> string -> unit
- = "ml_gtk_label_set_pattern"
- external set_line_wrap : [>`label] obj -> bool -> unit
- = "ml_gtk_label_set_line_wrap"
- let set ?text ?justify ?line_wrap ?pattern w =
- may ~f:(set_text w) text;
- may ~f:(set_justify w) justify;
- may ~f:(set_line_wrap w) line_wrap;
- may ~f:(set_pattern w) pattern
- external get_text : [>`label] obj -> string = "ml_gtk_label_get_label"
-end
-
-module TipsQuery = struct
- let cast w : tips_query obj = Object.try_cast w "GtkTipsQuery"
- external create : unit -> tips_query obj = "ml_gtk_tips_query_new"
- external start : [>`tipsquery] obj -> unit = "ml_gtk_tips_query_start_query"
- external stop : [>`tipsquery] obj -> unit = "ml_gtk_tips_query_stop_query"
- external set_caller : [>`tipsquery] obj -> [>`widget] obj -> unit
- = "ml_gtk_tips_query_set_caller"
- external set_labels :
- [>`tipsquery] obj -> inactive:string -> no_tip:string -> unit
- = "ml_gtk_tips_query_set_labels"
- external set_emit_always : [>`tipsquery] obj -> bool -> unit
- = "ml_gtk_tips_query_set_emit_always"
- external get_caller : [>`tipsquery] obj -> widget obj
- = "ml_gtk_tips_query_get_caller"
- external get_label_inactive : [>`tipsquery] obj -> string
- = "ml_gtk_tips_query_get_label_inactive"
- external get_label_no_tip : [>`tipsquery] obj -> string
- = "ml_gtk_tips_query_get_label_no_tip"
- external get_emit_always : [>`tipsquery] obj -> bool
- = "ml_gtk_tips_query_get_emit_always"
- let set_labels ?inactive ?no_tip w =
- set_labels w
- ~inactive:(may_default get_label_inactive w ~opt:inactive)
- ~no_tip:(may_default get_label_no_tip w ~opt:no_tip)
- let set ?caller ?emit_always ?label_inactive ?label_no_tip w =
- may caller ~f:(set_caller w);
- may emit_always ~f:(set_emit_always w);
- if label_inactive <> None || label_no_tip <> None then
- set_labels w ?inactive:label_inactive ?no_tip:label_no_tip
- module Signals = struct
- open GtkArgv
- open GtkSignal
- let start_query : ([>`tipsquery],_) t =
- { name = "start_query"; marshaller = marshal_unit }
- let stop_query : ([>`tipsquery],_) t =
- { name = "stop_query"; marshaller = marshal_unit }
- let widget_entered :
- ([>`tipsquery],
- widget obj option ->
- text:string option -> privat:string option -> unit) t =
- let marshal f _ = function
- | OBJECT opt :: STRING text :: STRING privat :: _ ->
- f (may_map ~f:Widget.cast opt) ~text ~privat
- | _ -> invalid_arg "GtkMisc.TipsQuery.Signals.marshal_entered"
- in
- { name = "widget_entered"; marshaller = marshal }
- let widget_selected :
- ([>`tipsquery],
- widget obj option ->
- text:string option ->
- privat:string option -> GdkEvent.Button.t option -> bool) t =
- let marshal f argv = function
- | OBJECT obj :: STRING text :: STRING privat :: POINTER p :: _ ->
- let stop =
- f (may_map ~f:Widget.cast obj) ~text ~privat
- (may_map ~f:GdkEvent.unsafe_copy p)
- in set_result argv (`BOOL stop)
- | _ -> invalid_arg "GtkMisc.TipsQuery.Signals.marshal_selected"
- in
- { name = "widget_selected"; marshaller = marshal }
- end
-end
-
-module Pixmap = struct
- let cast w : pixmap obj = Object.try_cast w "GtkPixmap"
- external create : Gdk.pixmap -> ?mask:Gdk.bitmap -> pixmap obj
- = "ml_gtk_pixmap_new"
- let create ?mask img = create img ?mask
- external set :
- [>`pixmap] obj -> ?pixmap:Gdk.pixmap -> ?mask:Gdk.bitmap -> unit
- = "ml_gtk_pixmap_set"
- external pixmap : [>`pixmap] obj -> Gdk.pixmap = "ml_GtkPixmap_pixmap"
- external mask : [>`pixmap] obj -> Gdk.bitmap = "ml_GtkPixmap_mask"
-end
-
-module Separator = struct
- let cast w : separator obj = Object.try_cast w "GtkSeparator"
- external hseparator_new : unit -> separator obj = "ml_gtk_hseparator_new"
- external vseparator_new : unit -> separator obj = "ml_gtk_vseparator_new"
- let create (dir : Tags.orientation) =
- if dir = `HORIZONTAL then hseparator_new () else vseparator_new ()
-end
-
-module FontSelection = struct
- type null_terminated
- let null_terminated arg : null_terminated =
- match arg with None -> Obj.magic Gpointer.raw_null
- | Some l ->
- let len = List.length l in
- let arr = Array.create (len + 1) "" in
- let rec loop i = function
- [] -> arr.(i) <- Obj.magic Gpointer.raw_null
- | s::l -> arr.(i) <- s; loop (i+1) l
- in loop 0 l;
- Obj.magic (arr : string array)
- let cast w : font_selection obj =
- Object.try_cast w "GtkFontSelection"
- external create : unit -> font_selection obj
- = "ml_gtk_font_selection_new"
- external get_font : [>`fontsel] obj -> Gdk.font
- = "ml_gtk_font_selection_get_font"
- let get_font w =
- try Some (get_font w) with Gpointer.Null -> None
- external get_font_name : [>`fontsel] obj -> string
- = "ml_gtk_font_selection_get_font_name"
- let get_font_name w =
- try Some (get_font_name w) with Gpointer.Null -> None
- external set_font_name : [>`fontsel] obj -> string -> unit
- = "ml_gtk_font_selection_set_font_name"
- external set_filter :
- [>`fontsel] obj -> font_filter_type -> font_type list ->
- null_terminated -> null_terminated -> null_terminated ->
- null_terminated -> null_terminated -> null_terminated -> unit
- = "ml_gtk_font_selection_set_filter_bc"
- "ml_gtk_font_selection_set_filter"
- let set_filter w ?kind:(tl=[`ALL]) ?foundry
- ?weight ?slant ?setwidth ?spacing ?charset filter =
- set_filter w filter tl (null_terminated foundry)
- (null_terminated weight) (null_terminated slant)
- (null_terminated setwidth) (null_terminated spacing)
- (null_terminated charset)
- external get_preview_text : [>`fontsel] obj -> string
- = "ml_gtk_font_selection_get_preview_text"
- external set_preview_text : [>`fontsel] obj -> string -> unit
- = "ml_gtk_font_selection_set_preview_text"
-end