123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190(**************************************************************************)(* Lablgtk *)(* *)(* This program is free software; you can redistribute it *)(* and/or modify it under the terms of the GNU Library General *)(* Public License as published by the Free Software Foundation *)(* version 2, with the exception described in file COPYING which *)(* comes with the library. *)(* *)(* This program is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)(* GNU Library General Public License for more details. *)(* *)(* You should have received a copy of the GNU Library General *)(* Public License along with this program; if not, write to the *)(* Free Software Foundation, Inc., 59 Temple Place, Suite 330, *)(* Boston, MA 02111-1307 USA *)(* *)(* *)(**************************************************************************)(* $Id$ *)openGauxopenGobjectopenGtkBasePropsopenGtkopenTagsmoduleAccelGroup=structexternalcreate:unit->accel_group="ml_gtk_accel_group_new"externallock:accel_group->unit="ml_gtk_accel_group_lock"externalunlock:accel_group->unit="ml_gtk_accel_group_unlock"externalconnect:accel_group->key:Gdk.keysym->?modi:Gdk.Tags.modifierlist->?flags:accel_flaglist->callback:g_closure->unit="ml_gtk_accel_group_connect"letconnect~key?modi?flags~callbackg=connectg~key?modi?flags~callback:(Closure.create(fun_->callback()))externaldisconnect:accel_group->key:Gdk.keysym->?modi:Gdk.Tags.modifierlist->bool="ml_gtk_accel_group_disconnect_key"letdisconnect~key?modig=disconnectg~key?modiexternalgroups_activate:'aobj->key:Gdk.keysym->?modi:Gdk.Tags.modifierlist->bool="ml_gtk_accel_groups_activate"letgroups_activate~key?modiobj=groups_activateobj~key?modi(* XXX In the following functions, optional arguments are useless! *)(* Should remove the key label in lablgtk3 ? *)externalvalid:key:Gdk.keysym->?modi:Gdk.Tags.modifierlist->bool="ml_gtk_accelerator_valid"externalset_default_mod_mask:Gdk.Tags.modifierlistoption->unit="ml_gtk_accelerator_set_default_mod_mask"externalparse:string->Gdk.keysym*Gdk.Tags.modifierlist="ml_gtk_accelerator_parse"externalname:key:Gdk.keysym->?modi:Gdk.Tags.modifierlist->string="ml_gtk_accelerator_name"externalget_label:key:Gdk.keysym->?modi:Gdk.Tags.modifierlist->string="ml_gtk_accelerator_get_label"endmoduleAccelMap=structexternalload:string->unit="ml_gtk_accel_map_load"externalsave:string->unit="ml_gtk_accel_map_save"externaladd_entry:string->key:Gdk.keysym->?modi:Gdk.Tags.modifierlist->unit="ml_gtk_accel_map_add_entry"letadd_entry?(key=0)?modis=add_entrys~key?modiexternalchange_entry:string->Gdk.keysym->Gdk.Tags.modifierlistoption->bool->bool="ml_gtk_accel_map_change_entry"letchange_entry?(key=0)?modi?(replace=true)s=change_entryskeymodireplaceexternalforeach:(path:string->key:int->modi:Gdk.Tags.modifierlist->changed:bool->unit)->unit="ml_gtk_accel_map_foreach"endmoduleStyle=structexternalcreate:unit->style="ml_gtk_style_new"externalcopy:style->style="ml_gtk_style_copy"externalattach:style->Gdk.window->style="ml_gtk_style_attach"externaldetach:style->unit="ml_gtk_style_detach"externalset_window_background:style->Gdk.window->state_type->unit="ml_gtk_style_set_background"(*
external draw_hline :
style -> Gdk.window -> state_type -> x:int -> x:int -> y:int -> unit
= "ml_gtk_draw_hline_bc" "ml_gtk_draw_hline"
external draw_vline :
style -> Gdk.window -> state_type -> y:int -> y:int -> x:int -> unit
= "ml_gtk_draw_vline_bc" "ml_gtk_draw_vline"
*)externalget_bg:style->state_type->Gdk.color="ml_gtk_style_get_bg"externalset_bg:style->state_type->Gdk.color->unit="ml_gtk_style_set_bg"externalget_fg:style->state_type->Gdk.color="ml_gtk_style_get_fg"externalset_fg:style->state_type->Gdk.color->unit="ml_gtk_style_set_fg"externalget_light:style->state_type->Gdk.color="ml_gtk_style_get_light"externalset_light:style->state_type->Gdk.color->unit="ml_gtk_style_set_light"externalget_dark:style->state_type->Gdk.color="ml_gtk_style_get_dark"externalset_dark:style->state_type->Gdk.color->unit="ml_gtk_style_set_dark"externalget_mid:style->state_type->Gdk.color="ml_gtk_style_get_mid"externalset_mid:style->state_type->Gdk.color->unit="ml_gtk_style_set_mid"externalget_base:style->state_type->Gdk.color="ml_gtk_style_get_base"externalset_base:style->state_type->Gdk.color->unit="ml_gtk_style_set_base"externalget_text:style->state_type->Gdk.color="ml_gtk_style_get_text"externalset_text:style->state_type->Gdk.color->unit="ml_gtk_style_set_text"(* external get_colormap : style -> Gdk.colormap = "ml_gtk_style_get_colormap"
external get_font : style -> Gdk.font = "ml_gtk_style_get_font"
external set_font : style -> Gdk.font -> unit = "ml_gtk_style_set_font"
external get_dark_gc : style -> state:state_type -> Gdk.gc
= "ml_gtk_style_get_dark_gc"
external get_light_gc : style -> state:state_type -> Gdk.gc
= "ml_gtk_style_get_light_gc"
let set st ?:background ?:font =
let may_set f = may ~f:(f st) in
may_set set_background background;
may_set set_font font *)endmoduleAdjustment=structincludeAdjustmentexternalcreate:value:float->lower:float->upper:float->step_incr:float->page_incr:float->page_size:float->adjustmentobj="ml_gtk_adjustment_new_bc""ml_gtk_adjustment_new"externalclamp_page:[>`adjustment]obj->lower:float->upper:float->unit="ml_gtk_adjustment_clamp_page"endmoduleCssProvider=structexternalcreate:unit->css_provider="ml_gtk_css_provider_new"externalload_from_data:css_provider->string->unit="ml_gtk_css_provider_load_from_data"endmoduleStyleContext=structmoduleProviderPriority=structtypet=intletfallback:t=1lettheme:t=200letsettings:t=400letapplication:t=600letuser:t=800endexternaladd_provider_for_screen:Gdk.screen->css_provider->ProviderPriority.t->unit="ml_gtk_style_context_add_provider_for_screen"externalremove_provider_for_screen:Gdk.screen->css_provider->unit="ml_gtk_style_context_remove_provider_for_screen"externalreset_widgets:Gdk.screen->unit="ml_gtk_style_context_reset_widgets"(** Does not cascade!! *)externaladd_provider:style_context->css_provider->ProviderPriority.t->unit="ml_gtk_style_context_add_provider"externalremove_provider:style_context->css_provider->unit="ml_gtk_style_context_remove_provider"externaladd_class:style_context->string->unit="ml_gtk_style_context_add_class"externalremove_class:style_context->string->unit="ml_gtk_style_context_remove_class"externalhas_class:style_context->string->bool="ml_gtk_style_context_has_class"externallist_classes:style_context->stringlist="ml_gtk_style_context_list_classes"end